Complete guide how to setup GA4 on Shopify

Step 10. How to implement GA4 purchase event on Shopify

Published by
Oct 22, 2022

If you want to see purchases and revenue generated by your Shopify shop in your GA4 reports you have to implement GA4 purchase event. Here you have instruction how to do it using Google Tag Manager and data layer variables in Shopify. 

  1. Implement data layer variables in Shopify.
    In this step we implement transaction details data layer variables into Shopify template. These variables we use later in GTM to sent them to Google Analytics every time when user make a purchase Shopify.
    Let's go to your Shopify Admin to edit your checkout settings: Shopify admin>Settings>Checkout>Additional scripts, and paste there the following data layer code:
    window.dataLayer = window.dataLayer || [];
    'event': 'purchase',
    'totalValue': '{{ checkout.total_price | divided_by: 100.0 }}',
    'shipping': '{{shipping_price | money_without_currency }}',
    'tax': '{{tax_price | money_without_currency }}',
    'payment_type': '{{order.transactions[0].gateway}}',
    'currency': '{{ shop.currency }}',
    'transaction_id': '{{order.order_number}}',
    'items': [
    {% for line_item in line_items %}
    'item_id': '{{ line_item.product_id }}',
    'item_name': '{{ line_item.product.title | remove: "'" | remove: '"'}}',
    'item_category': '{{ line_item.product.type }}',
    'price': '{{ line_item.price | times: 0.01 }}',
    'quantity': '{{ line_item.quantity }}',
    'item_variant': '{{ line_item.item_variant.title }}'
    {% endfor %}
  2. Implement Google Tag Manager container code.
    As you already have data layer variables in your checkout code you need to add after GTM Transaction Data layer section, Google Tag Manager code.

    If you already have GTM code in your checkout setting please just make sure that is implemented after GTM Transaction Data Layer and go straight to the 3 point. 

    To obtain GTM container code you have to do first 3 steps from here: How to install Google Tag Manager in Shopify.
    If you have already copied GTM container code, go to:
    Shopify admin>Settings>Checkout>Additional scripts
    and paste it there, after Transaction Data Layer code.
  3. (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  4. Define new variables in Google Tag Manager using data layer. 
    Go to "Variables" section in you Google Tag Manager.

    GTM variables.

    then in "User-Defined Variables" section click "New" button.

    GTM new user variable.

    a) Create "DL – totalValue" data layer variable as follow (chose variable type as "Data Layer Variable")

    Total Value data layer variable gtm.

    b) Create "DL – shipping" data layer variable as follow (chose variable type as "Data Layer Variable")

    Shipping data layer variable gtm.

    c) Create "DL – tax" data layer variable as follow (chose variable type as "Data Layer Variable")

    Tax data layer variable gtm.

    d) Create "DL – payment_type" data layer variable as follow (chose variable type as "Data Layer Variable")

    Payment type data layer variable gtm.

    e) Create "DL – currency" data layer variable as follow (chose variable type as "Data Layer Variable")

    Currency data laye variable gtm.

    f) Create "DL – transaction_id" data layer variable as follow (chose variable type as "Data Layer Variable")

    Transaction id data layer variable gtm.

    g) Create "DL – items" data layer variable as follow (chose variable type as "Data Layer Variable")

    items data layer variable gtm.

  5. Create "CE – purchase and Dom ready" trigger.
    We use it to fire new purchase tag. Go to trigger section and create new trigger, clicking "New" button.

    GTM new trigger.


    a) Create new "CE – purchase" trigger as follow:

    Purchase data layer trigger.

    b) Create new "CE – purchase and Dom Ready" event as follow (chose trigger type as: Trigger Group)

    Purchase dom_ready data layer trigger.

    We are using here trigger group to connect 2 existing triggers
    – CE – purchase which is activated when purchase custom event is present in data layer)
    – All Page View – Dom ready which is activated when all Dom elements of your website is loaded. We are using Dom ready type of trigger to be sure among others that all variables are already present in data layer.

  6. Create GA4 – purchase tag in Google Tag Manger.
    Go to "Tags" and click "New" button to add new tag and name like "GA4 – purchase"

    Create GA4 – purchase tag in Google Tag Manger.

    then choose tag type and select “Google Analytics: GA4 Event”

    Google Analytics: GA4 Event

    then choose your configuration tag that you have already created here: How to implement GA4 Configuration tag in Google Tag Manager?

    configuration tag
    and set "Event Name" to "purchase"

    set “Event Name” to “purchase”

    then setup "Event Parameters" as follow:

    Shopify GTM purchase event parameters.

    then choose your trigger that you have already created a while before (CE – purchase and Dom ready), Shopify GTM purchase trigger.and click "Save" button on the top right corner.
    After this implementation you will be able to see purchase details in your GA4:

    purchase details in GA4

Lets go to the next step of our tutorial which is: How to implement GA4 add_to_cart event on Shopify


Published Oct 22, 2022 by Piotr Ulacha

If you enjoyed the content please share it:

If you have any question about this topic feel free to comment or react below.

Other articles about Shopify
Complete guide how to setup GA4 on Shopify.

This guide is all about how to implement Google Analytics(GA4) on Shopify. To setup GA4 on Shopify website we use Google Tag Manger(GTM) and Shopify data layer.

Oct 12, 2022
1. How to create Google Analytics account for Shopify website

If you want to measure traffic on your Shopify website, the first thing is to create Google Analytics account for your website

Published by Piotr Ulacha
Oct 13, 2022
2. How to create Google Analytics (GA4) property for Shopify website

If you have Google Account but you don't have GA4 property yet, because for example you are still using Universal Analytics property (former version of GA4) you have to create new GA4 property.

Published by Piotr Ulacha
Oct 14, 2022
3. How to create Google Tag Manager account for Shopify website

Because we will use Google Tag Manger as a method to implement Google Analytics 4 you have to create GTM account.

Published by Piotr Ulacha
Oct 15, 2022

4. Recommended GA4 property settings for Shopify

If you want to get the best out of Google Analytics 4 apply the following recommended GA4 settings and best practices.

Published by Piotr Ulacha
Oct 16, 2022
Popular recently
Implementation of various environments in GA4
# GA4

Environment - is a set of necessary elements of technical / software infrastructure, which is the basis for the operation of a given website/application. Google Tag Manager environments are simply multiple versions of the same container. When we have a website with a different version for development, testing, production and QA, instead of creating separate GTM containers for each version, we can set up separate environments in the same container that will work independently in each version.

Published by Anna Bacciarelli
Jan 17, 2023
Server-Side GTM like a nuclear technology

Some time ago I listened to a podcast from the Technical Marketing Handbook series from Simo Ahava, whose guest was Adam Halbardier from the Google Tag Manager product team. During the conversation, the topic of transparency of data handled by the Server-Side container appeared.

Published by Mariusz Michalczuk
Dec 04, 2022
How to measure the impact of email campaigns?

If you plan email marketing campaigns you are interested in the same as with other campaigns, to measure their impact on your business. When you are starting with this topic it is good to know that without additional effort you will not be able to access this impact. You will see no results because Google Analytics will treat traffic from the email campaigns as direct traffic (when users are using your own app) or as referrals (when users are using web email clients). 

Nov 28, 2022