After completing over one hundred audits of Google Ads (AdWords) accounts for Shopify businesses, I am dumbfounded at the number of accounts that don’t have conversion tracking accurately setup. Some stores spend thousands each month with no idea what, if any part of the campaigns, generate sales. Other businesses may track a sale as one conversion, but they have no revenue data—the sale of a $10 product looks the same as a $1000 product.
You have to know what searches, ads, products, and audiences succeed or fail at bringing in your ROAS goal. This tutorial covers how to edit the existing Google Ads conversion code for the best data. We use this solution to help Shopify stores grow through Google Ads.
Previously known as Google AdWords, Google Ads has two ways to setup conversion tracking in Shopify.
Option 1: If you accurately track sales in Google Analytics, the quickest solution is to import your transactions as a conversion goal. See the steps to import transactions from analytics to Google Ads. We rarely use this method.
Option 2: This tutorial covers why you need to edit the existing Google Ads conversion code and how to do it for the best data. I use this solution to help Shopify stores grow.
I recommend the second option because my testing has repeatedly shown sales through Google Ads are lost to the (direct)/(none) traffic source in Google Analytics due to cross-domain tracking limitations of payment processors. This means your advertising would lack the proper attribution it deserves for generating sales, which ruins your ability to optimise ad campaigns. For one of my Google Ads clients I was able to attribute more than double the sales of Google Ads with the conversion tracking code compared to analytics. That level of data accuracy can be the difference between the death of an ecommerce business and it thriving.
You will learn how to setup Shopify with gtag.js tracking for Google Ads. One benefit of gtag.js, released at the end of 2017, is its simplicity. The second benefit is its increased accuracy over the older ga()
functions to combat intelligent tracking prevention in Safari. Here we go.
1. Create your conversion in Google Ads
1. In your Google Ads account from the top-right, click the spanner icon. Under the “Measurement” column, go to “Conversions”:
2. Create a new conversion. Click “Website”.
Use the following settings for your conversion:
- Name: The name can be anything. I recommend you make it “Sales”
- Category: “Purchase/Sale”
- Value: “Use different values for each conversion” and select the currency used in your Shopify store. It is okay if this currency is different to your ad account as Google will do the currency conversion. You could enter your average order value (AOV) taken from Google Analytics as the default value. Your average order value can be gather from the “Conversions” > “Ecommerce” > “Overview” section. However, as you’ll see, this value is never empty because we’ll replace this with a liquid variable that contains the order amount in dollars.
- Count: “Every”.
- Conversion windows: “30 days”. If your products cost more than $200 or you know customers take weeks to research a product before buying, extend the value to “90 days”.
- View-through conversion window: “1 day”.
- Include in “Conversions”: Tick this option. The setting lets you decide if these conversions should be included in your “Conversions” and “Conversion value” columns
- Attribution: “Linear”. Let’s say a person clicks one ad then returns to Google for another search. They then click another ad and buy. The first ad should receive recognition for the sale so you can more accurately optimise campaigns with this data. The linear model means each ad and search term will get 0.5 of a conversion. If you used the last-click option, the first ad would get 0 and the second ad would get 1 conversion. Never use the last-click option because it ignores the effect of upper funnel ads. We will geek out on the various models soon. Linear is a good default.
Your event tag options will look something like:
3. Save to finish creating your conversion code in Google Ads. Select the option to “Install the tag yourself”.
4. Click “The global site tag isn’t installed on all your HTML pages” option for the global site tag.
5. Click the “Page load” option for the event tag.
We will need to modify the event tag then add the global tag and the modified event tag to your Shopify store to complete setup. But first, I want to educate you about attribution.
Picking the Perfect Attribution Model
If someone clicked on you Google Shopping ad, looked at a product but didn’t buy, then later returned to the site through a branded search ad before purchasing, would you attribute 100% of that purchase to the branded keyword? Unfortunately, most stores use an attribution model that ignores earlier interactions.
Attribution modelling in Google Ads and Analytics is a set of rules that determines how each transaction or conversion is credited. Within Analytics, the last-click model (most commonly used by novices to measure sales and goal completions) attributes 100% of the sale to the last action associated with how the user accessed the site such as organic, paid search, or other channel. The first click does the opposite which grants 100% to the first interaction. Realistically, ecommerce stores often see a journey with a variety of interactions before a user becomes a customer. This is why you must consider what model is best.
There are a number of attribution models available to use.
Linear: I recommend this model when you first set up your attribution modelling. It attributes the sale evenly across all touchpoints or interactions the customer has had throughout their buying cycle. This will help you understand how each platform in your multi-channel marketing strategy has benefited your revenue. For example, if the customer originally came to the site through a Facebook product ad, came back again through Google Shopping, then came back via a search ad and eventually came to the site organically, the linear attribution model will award 25% of the sale to each channel.
First click: This model awards 100% of the conversion or sale to the first interaction or touch-point the customer had. It is useful to identify how your customers are finding you, but the model disregards later touch-points the visitor has with your business. You will not know what led to the sale when there is more than one click.
Last click: The opposite of first click attribution—it attributes 100% of the sale to the last interaction had by the customer. It is badly favoured by many online retailers. Given businesses get customers on many marketing platforms, it’s vital to know the influence each platform has had on the sale. Last click doesn’t give you this information.
Position-based: This is a mixture of all of the above but with the majority of the conversion (about 80%) split between the first and last click. The remaining 20% is attributed to the middle of the funnel. This can work for many ecommerce retailers. Those with more expensive items may find the middle touch-points are not attributed enough as larger items are usually a longer consideration process for the customer.
Time decay: The most complex model of all of them. Time decay puts the most emphasis on the last click, however it attributes a percentage to other touch-points in the journey. The touch-points furthest away from the sale get the least attribution, building up to the most attribution at the final touch-point. This model is worth considering if your customers take a longish time-to-purchase.
Data-driven: An automated attribution method that uses real historical data. Google will look at many data points to build your own attribution model. You may not have this model available as it initially requires 600 conversions through a single conversion action over 30 days. Use it when you meet the requirements. You can learn more about data-driven attribution.
For further help with selecting the best attribution model when your campaigns progress, refer to the Model Comparison Tool. You will be able to test the affect different models have on your data.
2. Configure the Conversion Code
Your event code responsible for Google Ads tracking will look something like:
<!-- Event snippet for Sales conversion page --> <script> gtag('event', 'conversion', { 'send_to': 'AW-880346044/44BbCP7Vz3AQvIfkowM', 'value': , 'currency': 'AUD', 'transaction_id': '' }); </script>
Do not add this to your Shopify store. You will need to make alterations so the order value and order ID is passed to Google. When optimising your campaign, you want to improve it based on the generated revenue, not just “this campaign got 10 sales versus the other with 12 sales”.
1. Replace the line:
'value': ,
…with:
'value': {{ checkout.total_price | money_without_currency | remove: ',' }},
This parses the value of the purchase with shipping and other taxes like GST. The filter | remove: ','
removes the comma inserted by Shopify on amounts that are one thousand or more.
2. While you can get away with the first two steps, I recommend you use the transaction_id
parameter to prevent duplicate conversions when customers visit the thank you page a second time.
Replace the line:
'transaction_id': ''
…with:
'transaction_id': '{{ order.order_number }}'
3. Update the currency code to a liquid variable of {{ order.currency }}
. The output value is a three-letter format that meets Google’s formatting. You historically could use the store’s currency value of shop.currency
, which most merchants do, but if you have multi-currency enabled, you will get inaccurate data. The currency someone checkout’s with is called the “customer currency” or “presentment currency“. Order values do not need to be modified as they are in the presentment currency.
Replace the line:
'currency': 'AUD',
…with:
'currency': '{{ order.currency }}',
Google will then successfully and accurately convert the currency to match the billing currency on your ad account. Google documentation says, “…if the Google Ads account driving a click that converts has a different billing currency, the conversion value will be converted to that account’s currency using the average daily foreign exchange rate.”
4. For whatever reason, implementing transaction_id
does not always stop duplicate conversion data. I’ve seen it happen repeatedly for my Google Ads clients. I recommend you wrap the entire tracking code in the following liquid, which runs scripts only on their first time of the order status page: {% if first_time_accessed %}...{% endif %}
3. Adding the Google Ads Conversion Code to Shopify
Use the full global site tag given to you in Google Ads. You will install the Google Ads global site tag only on the thank you page inside the “if statement” so it runs when an order is placed.
1. Log into the admin section of your Shopify store. Go to “Settings” > “Checkout”. Under the field “Additional scripts”, paste your Global site tag and the updated Google Ads conversion code inside the conditional tag. All this code should look like:
{% if first_time_accessed %} <!-- Global site tag (gtag.js) - Google Ads: 880123456--> <script async src="https://www.googletagmanager.com/gtag/js?id=AW-880123456"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'AW-880123456'); </script> <!-- Event snippet for Sales conversion page --> <script> gtag('event', 'conversion', { 'send_to': 'AW-880123456/44BbCP7Vz3AQvIfdafM', 'value': {{ checkout.total_price | money_without_currency | remove: ',' }}, 'currency': '{{ order.currency }}', 'transaction_id': '{{ order.order_number }}' }); </script> {% endif %}
2. Click “Save” in Shopify and you’re done! You will now start receiving conversion value data inside Google Ads.
Alternative: Google Ads with Google Analytics Global Site Tag
The Google Analytics setup inside Shopify’s settings uses Google’s universal analytics. It does not use the global site tag. You can copy-and-paste the global site tag snippet into Shopify’s analytics setup, but Shopify simply extracts the tracking ID rather than use gtag.js.
If you use Shopify’s Google Analytics setup and install the global site tag in your theme, you will send duplicate page view data. You need to use the send_page_view
parameter like { 'send_page_view': false }
to disable duplicate page views sent to analytics.js.
This solution combines the Google Ads conversion tracking with the Google Analytics global site tag. It stops duplicate page view data when the store uses Shopify’s settings for Google Analytics. You would use this solution if you wanted to send other data in gtag.js like dynamic remarketing or an event via gtag.js.
1. Change this line:
gtag('config', 'UA-76118106-1');
…to:
gtag('config', 'UA-76118106-1', { 'send_page_view': false });
2. Before the closing </script>
tag of the global site tag, insert your Google Ads global site tag configuration. Your modifications will look like:
gtag('config', 'UA-76118106-1', { 'send_page_view': false }); gtag('config', 'AW-880123456');
3. In the Shopify admin, go to “Settings” > “Checkout”. Under the field “Additional scripts”, paste your Global site tag and the updated Google Ads conversion code inside the conditional tag. The Google Ads conversion tag remains the same as the previous solution. All this code should look like:
{% if first_time_accessed %} <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-76118106-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-76118106-1', { 'send_page_view': false }); gtag('config', 'AW-880123456'); </script> <!-- Event snippet for Sales conversion page --> <script> gtag('event', 'conversion', { 'send_to': 'AW-880123456/44BbCP7Vz3AQvIfdafM', 'value': {{ checkout.total_price | money_without_currency | remove: ',' }}, 'currency': '{{ order.currency }}', 'transaction_id': '{{ order.order_number }}' }); </script> {% endif %}
Alternative: Google Analytics Import
The above method will work with everyone. However, there is another way that requires Google Analytics. I use the Google Analytics method after running the conversion code method above then seeing it is less accurate than the sales from google / cpc in Google Analytics.
If you see the google / cpc channel has less sales data than Google Analytics, pause your original goal then import the transaction goal into your Google Ads. Go through my Google Analytics setup for Shopify to get clean data in Analytics.
1. Create a new conversion. Click “Import”.
2. Select the type “Transaction” from the primary view you use in Google Analytics that has the most complete and accurate data.
3. Click “Import and Continue”.
4. Once you’ve created the goal, click on it to edit it. The only value I suggest you change is the attribution model from “Last Click” to “Linear”. Your settings will look like:
You are done importing transaction data from Google Analytics into Ads.
As a Shopify Marketing Expert and Google Partner, we’ve helped many Shopify stores grow with Google Ads. If you’d like us to take away the stress of doing paid advertising well, read about our Google Ads service for Shopify stores.
141 Comments. Leave new
Thanks for your article, it’s been really helpful 🙂
Just one issue I’m experiencing: conversions are being tracked by Adwords like twice the real amount… I have set the “{% if first_time_accessed %} -tracking code- {% endif %}” tags to avoid the code running again when the user comes back to visit the status page, but even doing that the issue persists… Do you know what could be wrong? We can’t take the information Adwords give us seriously to take campaigns decisions, it’s a real problem. Thanks for your help!
Mine is set up right according to your instructions, but no conversion data is being shown in Adwords (and there should be.) Initially, conversions were being attributed to “referral traffic” so I added the “checkout.shopify”, paypal, and my own domain, to the “referral exclusions list”, however still no conversions are being attributed to Adwords. I went back through my GA Import steps and all are set up as you outline. One note, I decided to change from “last click” to “first click” attribution just in case something about the click attribution is throwing off the tracking. Any thoughts?
I recommend last-click attribution for most campaigns. Changing of this setting should only be done for marketing goals rather than technical issues. Sounds like you are using an analytics import goal in which case you must go through my guide mentioned.
Thanks for this tutorial. But if I just pasted this code provided without some further edits it would be wrong correct? Just want to make sure, in step #2, with web browsers with javascript disabled. I can’t just paste that code provided here, without also making sure my conversion_id, conversion_label and conversion_currency match my original code provided by Google right?
Does this work if I’m using the Shopify Lite version which is just the “Buy Button”?
I haven’t tested on Shopify Lite, but if you get to the thank you page on checkout.shopify.com after payment, which loads the code, it will work.
I too am using the Shopify Buy button and Shopify Lite. So everything is hosted on my own website at one domain then at checkout it opens a second window with the .myshopify.com URL.
Will your instructions work or is this cross domain thing mean I need extra steps?
Hey Joshua, thanks for the tutorial,
In the script i get from Google i don’t have the line : var google_conversion_value = 1.00;
Should i add anyway : if ({{ subtotal_price }}) { var google_conversion_value = {{ subtotal_price | money_without_currency }}; }
When setting up the conversion code in AdWords, select the value field that is suggested in the guide. This insert the google_conversion_value line. It may work if you insert the custom-coded line, but just follow what is suggested.
This isn’t really clear. What suggested value? Why does “This insert the google_conversion_value line. ” mean?.
Thanks for the tutorial Joshua..
In the “Shopify additional content & scripts” in the checkout tab, I already have a code for google trusted stores, so can I just put both codes together; one after another? or this won’t work?
Hi Joshua,
Thanks for this, very useful!
How do you stop duplicate conversions being tracked in Google Analytics when someone revisits the thank you page?
Just wanted to know if i can use 2 separate codes in additional script section?
Other code as you’ve seen in the guide can be placed inside the additional script section. It’s a question of what you’re trying to do.
Hi Joshua,
In an email, I asked you if I should use the same conversion tracking tag for two separate Shopify stores and you told me to create a new conversion code for the second store.
However, when I try to create a second code, Adwords just keeps giving me a code with the same conversion ID. So, how do I go about creating a second tag with a unique conversion ID?
Thanks!
Norma
There’s no problem Norma. The google_conversion_label will be different between conversion codes.
Thanks, Joshua!!
Hi Josha – i just edited per your instructions within the additional scripts box on Shopify. But, I pasted the original script from Google right beneath the affiliate conversation tracking script – is this OK?
It doesn’t matter if you place the conversion tracking code before or after other code. You should not use the original conversion script for Google.
Will this now need updating inline with the new Google Conversion tracking pixel? E.g I have received this email from google “We strongly recommend that you replace your pixel-only conversion tags with the new website conversion tracking tag in AdWords. The pixel-only conversion tags that you are currently using on your site(s) are unable to measure conversions on Safari. If you don’t take any action you will no longer be able to measure conversions on Safari.
The new tag consists of two snippets that are only available in the new AdWords experience, which is now accessible to all advertisers. Here are the steps you should follow to create and implement the new tags:
1. Log into the new AdWords experience (the Conversions page)
2. Click the website conversion action for which you want to update the tag
3. Expand the “Tag setup” panel at the bottom of the page
4. Follow the instructions on this page to install both tag snippets:
a. The global site tag snippet should be placed on all pages of your website so it can set new cookies on your domain, which will store information about the ad click that brought a user to your site. You only need one global site tag snippet across your entire website, even if you track multiple actions.
b. The event tag snippet should be installed on the conversion page(s)”
Yes Anthony, it can be updated. Accounts are still in transition to the new AdWords interface and following the above tutorial still works great for everyone and will continue to. I will update it probably in a few weeks. It’s a lot simpler to do. The code you’ll want to use for registering a conversion is:
Hi ! Where do we post the global site tag?
It will need to go in the “Additional Google Analytics Javascript” section. However, you cannot copy and paste the code. I have started to work on a solution for the new tag, but this is not confirmed to work:
(function(d){
var s = d.createElement("script");
s.src = "https://www.googletagmanager.com/gtag/js?id=AW-XXXXX";
s.async = 1;
d.body.appendChild(s);
})(document, window);
You should use the old tag as that is the most supported solution.
Looks the old code like this:
ga(‘set’, ‘userId’, “cid”);
Thanks for the article, very clear and helpful.
Hi Joshua
Thanks very much for your instructions which I have followed for our website at http://www.losari.com.au.
Some of our clients use discount codes and I have just noticed that the sale amount are being reported in Analytics with the full purchase price, rather than the discounted price. Are you able to please tell me how to amend the Adwords conversion code to take the discount into effect?
Many thanks
Jonathan
Hi Joshua,
How come my conversion code is so different? Below is the Event snippet. How do we replace with the new generated revenue tracking?
function gtag_report_conversion(url) {
var callback = function () {
if (typeof(url) != ‘undefined’) {
window.location = url;
}
};
gtag(‘event’, ‘conversion’, {
‘send_to’: ‘AW-937539801/hL49COrXsHkQ2fGGvwM’,
‘value’: 1.0,
‘currency’: ‘USD’,
‘transaction_id’: ”,
‘event_callback’: callback
});
return false;
}
Hi Kelvin,
If you’re using the new AdWords interface, which most AdWords accounts are now, you will get the new gtag code. I do not advise using it because Shopify is not yet setup for that tracking code. Swap back to the old interface and you will be able to get the “old” code I suggest.
Hey Joshua,
But if he swaps back to the old code, doesn’t that mean he will miss conversions from Safari? (if he’s in any of the western countries, Safari would not be an insignificant volume of traffic).
Joshua Thank You for this Info.
I need to start simply by tracking all leads to my site; what should I change the tag to in my case ?
Hey dude did you figure out what to do with the new code yet?
So far we’ve got this, which we put in Checkout -> Additional Scripts :
gtag(‘event’, ‘conversion’, {
‘send_to’: ‘XXXXX/XXXXX’,
‘value’: {{ subtotal_price | money_without_currency }},
‘currency’: ‘AUD’,
‘transaction_id’: ‘{{ order.order_number }}’
});
BUT where tf are we supposed to put the Global Site Tag? Will it still work if it’s just in the HEAD section?
I set up Google Ad words tracking exactly like this but I’m still not getting an accurate reporting. When I look at my Google Anaylitcs report for Adwords it’s different than the number of conversions I have in Google Adwords dashboard. Is it cause conversions are set to 30 days from the first click? or something else that could cause Google Adwords to report more conversions than I’m getting daily?
Will tracking conversions this way work when embedding the shopify store with in a wordpress website?
Can I paste the google conversion tracking straight below my Facebook pixel code in “additional scripts”.
Or is it just possible to have either the fb pixel oder google conversion tracker pasted there?
It sounds like you’re not using Shopify’s native Facebook pixel integration as that has its own field. If your FB pixel is in the additional, yes, the Google Conversion Pixel code can also be in there. Other codes can be inserted there.
Hi – Is it still a problem to use the tracking code from the new Adwords interface?
Thanks.
You can Jared. You just need to put the universal gtag snippet also on the thank you page. Page views may double fire though given the standard ga pageview snippet will still be sent through.
I have finally updated the guide to use gtag. I recommend the solution given it works more accurately with Safari.
Awesome thanks!
Hi Joshua, I added the code as per your tutorial however my conversions aren’t being tracked anymore. Do I need to the event snippet for sales conversion page on the thank you page that you mentioned? I can’t see that page in my files. Thanks in advance.
I’ve had Shopify look at the code and I’m waiting for a reply.
Also, I realised that the shopify thank you page is the page where the code is added under settings.
Everything is setup correctly as per your tutorial but no conversions are coming through now so I’ve reverted back to the old code.
If you’d like to me to resolve any tracking or analytics issues Jared, I suggest reaching out to me on the contact form. It is something you want right, otherwise you will just mindlessly blow through ad spend.
Thanks for the offer. It’s working now.
Turns out I was missing a single quote in one of the values 🙁
Hello Joshua, great guide ! thanks !
I have a question. I have configured the Global Configure Tag as part of the Google Analytics Tracking code in the Online Store Preferences as I want to measure conversions in other pages (signups and similars). So I guess that my Global Configure Tag is for all pages and not only for the checkout page.
Should I use the “{ ‘send_page_view’: false })” under this configuration or it applies only when the Global Tag is set only for the checkout page?
Thank you very much
Hi Carlos,
gtag does not work with Shopify’s default analytics setup so I do not suggest using it there. If you want to use it “site wide” (which will exclude the checkout and is unavoidable), put the same global tag mentioned in the guide that excludes sending pageview data, in the theme.liquid file.
Thanks Joshua,
Let me see if I understand. In OnlineStore>Preferences>Google Analytics I pasted the Google Analytics Tracking Code and I added my AW conversion ID, in my case: gtag(‘config’, ‘AW-963238833’);
But this does not work, correct?
I am not familiar with Theme.Liquid, I am too rocky.
Is it safe to just copy and paste the Global Tag directly into the Theme.Liquid?
For the checkout page I guess I have to follow your indictions and paste the global tag and the event snippet in “Settings” > “Checkout” > “Additional scripts”. Correct?
Thank you very much for your attention
To setup Google Analtyics how I recommend, follow my analytics guide.
If you also want to use gtag.js, paste the global site tag snippet I provided above inside the theme.liquid. It is safe to edit. Put it right after the opening
<head>
tag.Thanks Joshua, you are very kind.
I have only one problem now.
When I use the original snippet everything runs ok. Google´s Tag Assistant identifies both the Global Site Tag and the Adwords Conversion Tracking.
But when I change
‘value’: 1.0,
with
‘value’: {{ subtotal_price | money_without_currency }},
Google’s Tag Assistant does not identify the Adwords Conversion Tracking. It only sees the Global Site Tag.
What can it be?
Interesting observation Carlos. Don’t worry about Google’s Tag Assistant in that case. You can confirm the value yourself by:
Thanks Joshua, really helpful blog post.
I happend to be using Danish Kroner as currency. I don’t really understand how to change the | remove: ‘.’ | replace: ‘,’, ‘.’ and where to insert the code
Hi Carl. I’m unsure how your exact currency is displayed. If the remove and replace filter example is right for you (which you can test by viewing it on the order status page – see the guide on how), then use:
{{ subtotal_price | money_without_currency | remove: '.' | replace: ',', '.' }}
Thank you Joshua. Really kind of you to reply so fast. And thanks for all this valuable content. Keep it up!
How do I do this with Google Tag Manager instead of installing the snippet into the theme.liquid? If I’m guessing correctly, I still have to use the snippet on the Setting > Checkout page in Admin and in the Additional Scripts box unless there is a way to make that Conversion Linker Tag work.
GTM fields are:
Conversion ID (Adwords gives me a value to input)
Conversion label (Adwords gives me a value to input)
Conversion Value (Is there where I input {{ subtotal_price | money_without_currency }}?)
Order ID (Is there where I input {{ order.order_number }}?)
Currency Code (guessing USD)
Then of course there are Conversion Linking and Tag Firing sections with fields as well. Or should I not even be using Google Tag Manager with Adwords for Shopify?
AdWords tracking in GTM is completely different to what this tutorial teaches. I suggest you read GTM tutorials if you’re asking about tag firing sections. They will help you more. I prefer to use the method in this article for all clients as it’s quick.
Thanks Josh!
Just checked on the order status page and I see the code which is great, but it is situated in the tags, I thought it had to be in the tags? does this matter?
Not sure what you mean by “in the tags”, Alex.
Sorry missed a word out there, found code in “body” tags not in “head” tags – I’ve checked and it has started tracking (thanks for the guidance by the way) but does the above matter?
The only issue with having it in the
<body>
like it is, is if people leave the page before the code gets a chance to load. This is so unlikely for someone who has just made a purchase. By the time the words on the page load, the tracking will have loaded.Great post – just what I was looking for! Your Shopify guides have been really helpful over the past couple of years! For this one, the conversion script is straight forward, but I’m still a little unclear as to where the gtag/Global Site tag should be located. We currently have the following installed in the two areas of Shopify:
*****Shopify > Online Store > Preferences > Google Analytics*****
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag(‘js’, new Date());
gtag(‘config’, ‘UA-###’);
gtag(‘config’, ‘AW-###’);
*****Shopify > Settings > Checkout > Additional Scripts*****
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag(‘js’, new Date());
gtag(‘config’, ‘AW-###’, { ‘send_page_view’: false });
Is this the suggested setup? I’m just unsure if we should have a version of the Global site tag in both the Shopify online store preferences and ALSO in the Shopify settings checkout scripts area. Any additional pointers would be greatly appreciated!
Hi LC,
This is a guide for Google Ads conversion tracking, but I answered your question in the tutorial. If you want to install gtag, you can use the suggested global gtag that has the send_page_view option set to false. I suggest putting it in the theme.liquid file. I don’t know if putting it in the additional scripts section is functional, though that is pointless given Shopify is not gtag compatible and you’d get everything you need.
Good post, thanks for sharing. Can I clarify why
gtag('config', 'AW-880123456', { 'send_page_view': false });
is needed? I thought this was to stop sending page view data to GA, however it appears you have appended this to the Google Ads account. Thanks.Hi Matt,
The
send_page_view
parameter does stop sending page view data to GA and it is not appended to the Google Ads code.Why do you recommend bother searching for and inputting AOV when the code is going to be changed anyway? Also, I think you should make it clear when adjusting the gtag not to get the adwords code mixed up with your sample code.
Thanks Joshua for the article, I need some help with this can you spare a couple minutes for me?
This is pretty cool. I especially like the localisation side of switching decimals to comma’s and the run once, which I’d never come across with Shopify, but makes sense from having localisations and internationalisation experience in other e-commerce and wider software. Thanks for writing up, especially the tips.
Hi Joshua – your tutorial is by far the best I have found. However I am still having issues when debugging (and verifying) the installed solution to Google Ads. My conversion actions page still indicates unverified. I have seen and verified the solution like you explained and it seems to be correct in the page but however when debugging through Chrome webdeveloper your script doesn’t trigger googleadservices.com like said in the Google Ad debugging instructions. Also when using the Google Tag Assistant I only see the global site tag but not the triggering conversion. Any ideas?
Hi Joshua, nice article. I have a little confusion on your “Alternative: Google Ads With Google Analytics Global Site Tag” section.
In that section you state
I would like to add the Global Site tag everywhere on my site in order to enable remarketing and I understand why it makes sense to set send_page_view to false. However, could I instead just not include the line “gtag(‘config’, ‘UA-76118106-1’);” in the Global Site tag (both in the theme and on the checkout page) at all?
We are using Shopify’s standard Google Analytics setup so I don’t know why I’d also want to include “gtag(‘config’, ‘UA-76118106-1’);” in the Global Site tag. It seems like it would be repetitive to include and lead to double counting page views unless there is some other interdependency that requires keeping that line of code?
I’m just not sure why I’d want to include “gtag(‘config’, ‘UA-76118106-1’);” in the Global Site tag in the theme and/or the additional checkout scripts if I also use Shopify’s standard Google analytics tag? Is it required in the Global Site tag to use remarketing? Maybe some other functionality / reason requires it in the Global Site tag even though we also use Shopify’s standard Google Analytics implementation?
Thanks,
Will
Hi Will,
My understanding is the gtag config command is required setup if you want to do anything with Google Analytics gtag (such as dynamic remarketing.) The setup you quoted that I described will work well and not double count page views. I don’t know why you’re looking to exclude the config.
Ahh, that makes sense. Thank you.
It sounds like if we do standard Adwords remarketing we could implement the Global Site tag without the line gtag(‘config’, ‘UA-76118106-1’, { ‘send_page_view’: false }); because standard Adwords remarketing only needs the Global Site Tag and a conversion event tied to our Adwords gtag. Basically, standard adwords remarketing doesn’t require a Google Anlytics gtag so we wouldn’t need to include it at all?
But to do Dynamic Remarketing we would want to include gtag(‘config’, ‘UA-76118106-1’, { ‘send_page_view’: false }); since Dynamic Remarketing requires the use of Google Analytics gtags? Further, not only do we need to include the Google Analytics gtag, we also need to use ‘send_page_view’: false to avoid double counting page views. The same would be true of anything else that required the use of Google Analytics gtags.
I haven’t tested it nor can find any documentation to confirm that is true, but I believe that’s all correct. Your second paragraph is what we do for clients.
Thank you very much! I did that for our Goggle Ads conversion tracking and it works NOW! I don’t know why Shopify doesn’t update the instructions. Thank you again!
You’re welcome. I’m sure Shopify will copy parts of this guide soon to update theirs 🙂
Hi Joshua
I have implemented the conversion tracking as described above. However the source code of the order status page (which I assume is the “thank you page” mentioned above) returns an error called “unexpected token” for the value line:
‘value’: {{ checkout.total_price | money_without_currency }},
The total price is not shown, instead I see the error. At the same time, the Id is represented correctly in the source code.
Any idea what could be wrong here?
Thanks
Your currency settings could be different to the standard store so the money filter is outputting something unintended. Review your settings. Remove the money filter. Test other money filters.
Thanks for the reply Joshua.
I finally found the problem: The order I was testing with has not been placed online via the checkout process, but was generated as draft. This results in {{ checkout.total_price | money_without_currency }} having no value.
So there is not really problem, as we are measuring online conversions here, which is not the case for manually generated orders. It is just a bit confusing if you end up doing your tests with such draft-based orders…
Thanks
Hello Joshua, Thanks a lot for making this page. It really goes into details regarding the setup of the tracking.
Thanks for this wonderful content, pls I want some clarifications, At the moment, I am tracking call conversions and form submissions on my website and I have installed the global site tag on every page of the website.
Now, I want to configure the purchase conversion in my store which is a shopify.
This is my question, should I install another global site tags or should I only cope the event snippet and edit it as you outlined in your guilded steps here. Thank you
You will need to follow the guide as whatever is inserted into your Shopify theme will not carry across to checkout. The global site tag script needs to be installed in the checkout as described.
Hi Joshua,
thank you very much for your step-by-step guide. I did everything you teached, but when i go in my shopify backend to paste in the code there is no field for addtional script. I go to “settings” –> “checkout” but there is no text-box for additional scripts.
1. Do you have any idea why i don’t have the textbox for additional scripts?
2. Where else can i past my block of code?
{% if first_time_accessed %}
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag(‘js’, new Date());
gtag(‘config’, ‘UA-xxx’, { ‘send_page_view’: false });
gtag(‘config’, ‘AW-xxx’);
gtag(‘event’, ‘conversion’, {
‘send_to’: ‘AW-xxx’,
‘value’: {{ checkout.total_price | money_without_currency }},
‘currency’: ‘{{ shop.currency }}’,
‘transaction_id’: ‘{{ order.order_number }}’
});
{% endif %}
I would be really thankfull for your help!
Best regards,
Bakbert
I’ve never heard of a store that doesn’t have it as the admin is near-universal.
More directions from Shopify: “From your Shopify admin, go to Settings > Checkout. In the Order processing section, find the Additional scripts text box.”
Hi Joshua,
I installed the Google Ads tags as you’ve shown above, however when checking the setup with Google Tag Assistant it shows 2 tags installed when a purchase is completed.
I’m really hoping you can please clarify 1 thing for me:
Should I remove the Google Analytics account number from the box above the Additional Google Analytics JavaScript box? Or do I leave my Google Analytics account number in this box as well as adding the Global site tag into the Additional Google Analytics JavaScript box? I think this may be why I’m getting 2 tags firing on checkout when I test the code, but I may be wrong. I’m a newbie at this!
Thank you so much!
Had a call with the Google Implementation Team which helped us implement the gtag for one of our accounts on the Shopify platform.
Some background info:
We have two separate AdWords accounts. One houses the text ads and remarketing, the other houses the PLAs.
The issue has been how do we add the new gtag tracking for both accounts?
It seemed that what the Google Implementation Team did work, however, now some conversions are tracking the correct conversion value, but the majority are not and are showing the value as 0.
Below is the source code on an order confirmation page which was implemented into the “Additional Scripts” box. Wondering what you think about this implementation and if you have any suggestions? We have had issues switching over to the gtag, (or Tag Manager) with a lot of our accounts. Any help would be much appreciated.
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag(‘js’, new Date());
gtag(‘config’, ‘AW-931570196’);
gtag(‘event’, ‘conversion’, {
‘send_to’: ‘AW-931570196/jOMzCLuOgHEQlMSavAM’,
‘value’: 579.99,
‘currency’: ‘USD’,
‘transaction_id’: ‘18262’
});
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag(‘js’, new Date());
gtag(‘config’, ‘AW-808547907’);
gtag(‘event’, ‘conversion’, {
‘send_to’: ‘AW-808547907/qO5oCMi-lIABEMPsxYED’,
‘value’: 579.99,
‘currency’: ‘USD’,
‘transaction_id’: ‘18262’
});
Hi Josh,
Thanks for another great writeup.
To simplify implementation of this (allowing easier cut/paste) I assign the Google Conversion Id and Google Tag Id in a liquid variable at the top of the page and inject them later down in the script.
Code here: https://github.com/Czarto/ShopifyScripts/blob/master/settings/checkout/adwords-conversion.liquid
Best,
Alex
Really awesome article. Concise, to the point and helpful! I think Shopify should be paying you guys royalties for this info. Their help docs certainly aren’t as good. cheers
Siva
Thanks for this very good article!
We’ve seed recently by installing the new Shopify Google Shopping App that some of this setup is being made automatically. But, I’m not quite sure how it is doing compared to your article (eg. doing it programmatically). So, I’m wondering now which one I should do : letting the Google Shopping App do everything automatically or uninstalling it and implementing the javascript proposed into this article?
I would say I like the Google Shopping App synchronizing all of our products with our Google Merchant account. I would not want to loose that.
Anyone experienced the new Shopify Google Shopping App and how’s the success who had with it? Does all the conversion goals are well received by Google Ads?
Many thanks.
Pierre
https://www.boutique-lollipop.com
Hi Joshua,
Thank you so much for your brilliant articles. Absolutely amazing!
I’ve followed all the steps and successfully implemented the Ad Conversions and Re-marketing.
I have just a small question. If I’ve added the re-marketing snippet in the “Settings” > “Checkout”. Under the field “Additional scripts, Do I need to include the ‘Google Ads conversion tracking’ snippet AS WELL AS the Remarketing Code For The Checkout snippets? i.e.
[CODE]
{% if first_time_accessed %}
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag(‘js’, new Date());
gtag(‘config’, ‘UA-76118106-1’, { ‘send_page_view’: false });
gtag(‘config’, ‘AW-880123456’);
gtag(‘event’, ‘conversion’, {
‘send_to’: ‘AW-880123456/44BbCP7Vz3AQvIfdafM’,
‘value’: {{ checkout.total_price | money_without_currency }},
‘currency’: ‘{{ shop.currency }}’,
‘transaction_id’: ‘{{ order.order_number }}’
});
{% endif %}
+++++++++++++++++++++++++++++++++
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag(‘js’, new Date());
gtag(‘config’, ‘UA-PROPERTY_ID’, {‘send_page_view’: false, ‘custom_map’: {‘dimension1’: ‘ecomm_prodid’, ‘dimension2’: ‘ecomm_pagetype’, ‘dimension3’: ‘ecomm_totalvalue’}});
gtag(‘config’, ‘AW-GOOGLE_CONVERSION_ID’);
gtag(‘event’, ‘page_view’, {
‘ecomm_pagetype’: ‘purchase’,
‘ecomm_prodid’: [{% for item in checkout.line_items %}’shopify_US_{{ item.product_id }}_{{ item.variant_id }}'{% unless forloop.last %}, {% endunless %}{% endfor %}],
‘ecomm_totalvalue’: {{ checkout.total_price | money_without_currency | replace: ‘,’, ‘.’ }},
‘non_interaction’: true
});
Thank you so much!
Don
I don’t know why you’d want to just implement remarketing without conversion tracking—perhaps if you were importing transactions through Google Analytics rather than using the Google Ads conversion snippet. You only need one instance of gtag so you can remove the first paragraph of code. The gtag should also load before events so you’d want to move the second lot of gtag you have to the top above the if statement.
Hi Josh, thanks so much for your reply.
Apologies, my initial question was unclear.
I would like to implement the re marketing tracking using Google Analytics with Conversion Tracking using Adwords.
Will the following code work?
The remarketing code for Google Analytics uses GA property ID in the while the conversion is using the Google Adword ID (i.e. <script async src="https://www.googletagmanager.com/gtag/js?id=UA-xxxxxxx12-1" vs
Also the GA version is adding {‘send_page_view’: false, ‘custom_map’: {‘dimension1’: ‘ecomm_prodid’, ‘dimension2’: ‘ecomm_pagetype’, ‘dimension3’: ‘ecomm_totalvalue’}}); which is not in the Adwords Conversation tracking.
Can I mix the 2 examples in such a way??
I really appreciate your help with this!
Don
hey did you sort this?
Hi Joshua
I have added both the global tag and purchase conversion tag to the additional scripts box in shopify settings. I have just done a test purchase and checked the code on the thank you page. I can see the global site tag code but i cannot see anything referencing the conversion tag. Any ideas why?
Thanks
Paul
Hi Paul. Remove
{% if first_time_accessed %}
from the conversion code, then view the thank you page. See if that shows. Chances are you reviewed the code the second time you viewed the thank you page.Hi Joshua, thanks for your reply, yes code is there now and it’s showing as verified on google ads. I did a test purchase yesterday yet the number of conversions purchases is still showing as 0 in google ads. Any ideas why that would be?
Performance data isn’t available instantly. Google have a general, clear guideline now saying to allow for 3 hours. Review the conversions in Tools > Conversions to see if it is recording a conversion there. If it is, but not inside Google Ads columns, you’ll need to check “Include in ‘Conversions'” as advised in the guide.
Hi Joshua
It’s been two days now and none of the purchases i’ve done have been recorded as a conversion.
Everything seems set up fine other than that!
One other question. Will the conversion show on google ads if i’m just going direct to my website and making a purchase? I don’t have any ads set up yet.
The whole point of Google Ads conversion tracking is to track sales in Google Ads from Google Ads—not other traffic sources. So yes, you need to be clicking on one of your ads for the data to show.
Hi Joshua,
I have added the code for Google Ads Conversion Tracking in Shopify according to your instructions and my Adwords sales are beeing tracked. But it seems the code is not working for dynamic remarketing as there is still an issue showing in Adwords under Audience sources saying I need to fix the tag for dynamic remarketing.
How can I get your code to work for dynamic remarketing as well?
Hi Josh,
Thanks for this great article. I have a question, though, which may be out of topic. I have been researching on this for days but I still don’t know how to change the currency from USD to PHP in my Google Analytics.
I’m able to change the currency symbol but the actual numbers stay the same, they’re not converted from USD to PHP. Any thoughts on this? TIA.
Hi Haze,
See step 10 in my Google Analytics tutorial to learn how to change the currency. Also:
Hi Joshua, thank you for this great tutorial article. I’m so grateful find your site.
I added gtag code into my shopify theme.liquid and purchase conversion code into my shopify checkout script as the following:
in shopify theme.liquid:
However, today I still see that the ‘Google Shopping App Purchase’ conversion tag still shown as unverified in my google ads account.
Note that I enable Google Analytic thru shopify preference setting and do not include the gtag.js into the checkout script as I follow the shopify instruction. Could this be the problem? I also tried the suggested test, ie. viewing the order status of an existing order.
Thank you so much in advance for your time and help.
Hi Joshua,
If the currency on the website is different than “euro”, how can we make sure that it’s passed already converted (to euros) to the Google Interface?
I don’t know what currency your website is or what you’re setting it to with the tracking code. Regardless, whatever you set it to, if it’s different to the Google Ads currency, Google will convert it based on current exchange rates:
Hi Joshua,
First of all thanks so much for all the work you have put in.
My issue is, I did everything exactly as you have stated and all of the conversions track properly EXCEPT when a user purchases on a 2nd session. “converted after direct visit” type of deal.
Shopify does however track the 1st session with the proper UTM and I have tried “first click, last click, linear attribution” with no result.
Do you have any idea why conversions that show more than one session are not tracking properly?
Thanks for your help!
Hey Steffan,
What you’re saying is counter to what Google Ads is suppose to do with attribution. Google Ads is going to credit revenue to an ad campaign, ad group, ad, or keyword based on the last click even if the sale happens on another channel. Google Analytics solves what you’re asking with Google Ads influence in a multi-channel strategy. Even in that case with Google Analytics, it would attribute the sale to the channel that came before direct.
Hi Joshua, your directions on how to ad AdWords conversion tracking using the Google Analytics global site tag have been really helpful. I use Shopify’s Google Analytics setup, but if the integration uses Google universal analytics vs the global site tag, does that mean I actually don’t have a global site tag implemented on my site? In addition to your directions, should I be adding the AdWords global site tag to my theme.liquid file? And if so, do I need to add all of the tag or just the config command? Thanks.
Hey Maria. I don’t know what’s on your site as everything can vary, but Shopify’s Google Analytics setup does not use the global site tag. This article is about conversion tracking for Google Ads, which doesn’t require the global site tag in the theme.liquid file.
I really want to know if I have already added google analytics and google ad tracking code. so I added both codes but currently only works for google anlytics and not work for google ad tracking conversation code. so my question is what shoud I do only add to google analytics code or google ad tracking code?
Hello Joshua! Thank you for this instruction. Have you tried to setup conversion tracking with reporting conversions with cart data? Does this implementation have any benefits for ads optimization process? Thanks!
Hi Eugeniu. Yes, we have set it up the new Conversions with Cart Data. However, it was extremely inconsistent in reporting, missing conversion values but also the extra data you’re suppose to get with it in the Google Ads interface. It has many new benefits for reporting and will become the new standard when Google fix the beta bugs. I will update this guide when it’s proven to work.
Hi Joshua,
Thank you for writing this detailed article. Would you say using the Google analytics import method is easiest and best since all you would have to do is import the data from analytics into google ads? It wasn’t clear to me but can you skip all the previous steps you mentioned in this article if you use this method?
Also, would you still have to paste the code in the Shopify store > “Online Store” > “Preferences” > Google Analytics section?
Hey Peter,
The pros and cons are explained at the start. If you were to do Google Analytics, you want to make sure it’s setup well. My guide explains how: https://www.digitaldarts.com.au/google-analytics-shopify
Your guide is very helpful. Thank you very much.
I currently have Google Analytics setup on my store through “Online store – Preferences” in Shopify. I am not sure whether I should follow the instructions in section “Alternative: Google Ads With Google Analytics Global Site Tag.” Could you advise?
Thank you in advance!
The tutorial answers that Jason. If you use analytics import, the only conditions I recommend that are if you follow my whole recommended analytics setup for Shopify stores.
Hey Joshua, great tutorial mate, thank you so much.
Currently our store just launched multi-currency and so some of our countries use commas in the order price (like countries with EUR, they say 1,95 instead of 1.95).
But some countries, the commas is actually a comma for example 1,000 USD. So I can’t just directly use:
{{ checkout.total_price | money_without_currency | replace: ‘,’, ‘.’ }} or | remove: ‘.’ | replace: ‘,’, ‘.’
Is there any way around that? Maybe some sort of IF statement?
Check out the currency object. From the Shopify Partners blog: “Once a shop enables multiple currencies, the checkout’s default currency will always be in the presentment currency, the currency that is presented to the customer. So, for example, if a customer is checking out in Japanese yen, the currency and all values with be in Japanese yen.” For a start with the liquid to do this, you can refer to a case statement example for the checkout page in my Google Customer Reviews tutorial.
this article says that analytics import only works if google ads is last non-direct click. Is this true?
https://www.searchenginejournal.com/why-using-conversions-imported-from-analytics-to-google-ads-does-not-actually-make-sense/346036/
Yes. The Analytics import option uses a completely different method of attribution.
Hi Joshua,
I installed the pixel according to your instructions in admin>settings>checkout:
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag(‘js’, new Date());
gtag(‘config’, ‘AW-000’);
gtag(‘event’, ‘conversion’, {
‘send_to’: ‘AW-000/xxx’,
‘value’: {{ checkout.total_price | money_without_currency }},
‘currency’: ‘{{ shop.currency }}’,
‘transaction_id’: ‘{{ order.order_number }}’
});
When I inspect the checkout summary with google tag assistant, I don’t see the conversion tag. Global site tag (green), google ads remarketing and analytics are there (both blue).
Any idea whats going wrong here?
Thanks
Zin
Do you or your agency set this up for people? If so, how much do you charge ?
Hey Nick. We do it as part of Google Ads setup and management, not a standalone.
Hi Joshua, thanks for the wealth of information and set up in this article. I have everything set up correctly in Shopify as per this guide but I believe there is a problem tracking conversions with Shop Pay. Are you familiar with that problem or is it just us? Any advice? Thanks again
Your guide is great, thanks! However, in the recommendations of my ad campaign, Google Adwords keeps saying I should finish setting up conversion tracking.
It describes two steps:
1Your conversion action has been created
2 Set up your conversion tracking tag
The first one is detected and done, but Adwords keeps saying I still have to do the second step.
I checked if the conversion tag is live with the Google Chrome Tag Assistant, and it’s there. Also, Analytics tracks the conversion. But it doesn’t seem to work with Google Adwords…
Adwords and Analytics are linked.
What could be wrong here?
What about the new updated Google Sale Channel?? If am just starting my account. Do i still need to do all theses setup? Or they are being sync automatically? They the seem to be included now as i see that i have “Conversion” that were setup automatically thought the app.. What do you think?
If you’re referring to Google Surfaces, but you’re not running Google Ads, there’s no point in setting up Google Ads tracking. But Google Ads can run across extra Surfaces placements, in which case tracking should be setup.
Thanks for your response. No im not talking about surfaces placement. Sorry i might not have been clear with my question, here more details. Within Shopify you can add various sale channels ” fb,amz,ig,pos,google, etc” Google just release not to long ago an updated version witch allow you to connect your GG ads, analytic & GMC.. I did the tag assistant and all tag seem to have been setup and look like are firering just fine. You can create only 1 Smart shopping campaign for all your product. When i created the campaign within the app/sale channels. It automatically created conversions in my gg ads witch they seem to be well setup tracking purchase, atc, view, etc. Now im going to create more campaigns in gg ads Do you think i still need to create more conversions and setup the code for all the new ones? Or no
Thanks. I import from Google analytics and waiting for its result.
Your tutorial is different from Shopify:https://help.shopify.com/en/manual/promoting-marketing/analyze-marketing/tracking-adwords-conversions.
It told me to Install the event snippet to “Settings > Checkout.” But you sa “Adding The Google Ads Conversion Code To Shopify to Checkout”—–adding global site tag to checkout
Damn good article. I think if you look at the Google analytics user stats, my time on page is probably close to 45mins.
Hello,
Great article! I got issues getting tracking working (tag inactive error message). I realized your guide and Shopify’s one are different, where Shopify recommend to install the gtag on theme.liquid whereas you mention only as an additional script. Google also mentiones that gtag needs to be on all pages of your site so looks like adding it in theme.liquid is the best way? In anyway on either method I will get the same error. When I go to webpages it appears empty. Any ideas what I could be doing wrong? Thanks
The tag being reported as inactive within the Google Ads conversion section can just mean you haven’t had a sale from someone clicking the ad. The best way to verify the code is with the last step shared in the main method.
Hello Joshua,
I followed your other guide https://www.digitaldarts.com.au/google-analytics-shopify for Google Analytics. I have also just followed this guide for the Google Ads Conversion tracking.
However, If I am interested in running remarketing ads in the future, do I need to also create a separate remarketing tag to add into the additional scripts section in the Checkout section of Shopify? Where would I place this tag if I do?
Hello and thanks for the article!
When I use Google Tag Assistant, I see that both the Universal analytics and the Global site tags (google ads and google analytics) are green and active. No warnings or optimization suggestions.
Is it fine in your opinion?
Thank you very much.
That is normal if you follow the tutorial.
Hello,
thank you for this great guide. I included the version like described in the section (“Alternative: Google Ads With Google Analytics Global Site Tag”) because we need remarketing data.
I am now just wondering as GTAG does not show up in the Google tag assistant chrome plugin on every page? But isn’t this needed so that the tag could gather all the data?
Remarketing tags should show on all pages. See the Google Shopping for Shopify book on how to setup remarketing.
my google conversion is working now thanks to this article but now its says this
Fix your audience source that’s not sending a required parameter
Your campaigns can’t tailor dynamic ads based on user activity when your audience source doesn’t send the required parameter. Make sure the required parameter is being sent correctly.
Your audience source may not have the required parameter for your business type on all relevant pages or events. Check that you’re passing the required parameter for your business type anytime users interact with products or services you want to advertise. Note that Google Analytics refers to parameters for remarketing as Dynamic Attributes. Learn more
and asks me to update my code and says use the new code instead of the previous. how do I do it where do it out it
Hello and thank you.
Do I also need to do the following step in the Google Shopping for Shopify guideline, when I have integrated the code like on this page in section “Google Ads With Google Analytics Global Site Tag”
“With that done, your theme is setup for dynamic remarketing. However, an alternate version of the code needs to be inserted on the order confirmation page because it is not connected to your theme.
Go to “Settings” in Shopify then “Checkout”. In the “Additional scripts” section, copy-and-paste the following:”
Can you show me which code that is?
Hi Joshua or Anyone who knows what they are doing!
Shopify non Plus member here. Hoping you can clarify something between three of the separate Google/Shopify related guides since they are segregated (rightfully so) into their own dedicated pages, but each have some potential overlap which is causing some real confusion for me =( I will try my best to ask this questions in chronological order of which guides I followed, first to last. I really hope you can help me. If you need compensation for such a response, name a price for an hour of your time and I will be happy to oblige. If there is anyone else lurking around that might be able to help me if Josh doesn’t respond, this also applies.
I started first with your Analytics guide. Having previously followed your Google Analytics guide, I opted to download your Shopify Goal Checkout Template using regex since I am a non-plus Shopify user. I also setup my own funnel per your instructions in step #9-Setup Funnels & Goals not knowing any better. So that leaves me with two goals within my filtered primary Analytics view. Should I delete one of these or turn one of them off? And I guess where the confusion comes in is when following this current guide under the “Alternative: Google Analytics Import” section, I followed your instructions and selected transaction from the primary view, clicked Import & Continue to create goal, and changed it to linear. So in my Google Ads account, I have both of these two goals showing as conversions now.
Now I am following this Conversion Tracking guide it appears that you start it off by creating a new conversion in the beginning of this guide. Because I previously followed your Analytics guide, I opted to take your instruction to use the “Alternative: Google Ads with Google Analytics Global Site Tag”. That being said, I now have a total of three conversions in my google ads account: 2 of which are your Regex template and “Checkout Complete” method imported from Google Analytics, and now another one that I created per the beginning of this guide named sales.
The two goals which were imported from Google Analytics are showing they are tracking my conversions, however the one labeled as “Sales” with the source of Website is remaining unverified even after having checked that it is within the page source with “if_first_time_accesed” temporarily removed, and testing a fake purchase on my shopify store via a google search campaign.
Which of the three conversions/goals should I be using going forward? I ask because there is no conversion values showing up in google ads either.
If anyone comes across this post that can help, reach out to a brother here trying to level up in this Google/Shopify game. I will be periodically checking the comments to see if there is any feedback, and perhaps we can connect outside of Joshua’s site out of respect to him.
Thanks in advance.
Hi Jayco,
Don’t use a checkout goal inside your Google Analytics as a conversion inside Google Ads. It is inferior without revenue information, which this guide provides. You should still have the goal in analytics, but don’t import it into Google Ads.
We prefer to use Google Ads conversion snippet in this guide rather than importing transactions. So once you get it working, you don’t want both imported as conversions in Google Ads.
Thanks Josh! Apologies for the book I wrote previously, but I figured the more details I provided the better it is for someone to assess my error. For what it’s worth, I’ve been using your Analytics guide for 3 years now for three different ventures. It’s just as of more recently I made the decision to utilize Google Ads in conjunction with Facebook Ads and your other guides are becoming just as imperative to use.
I have been scratching my head creating bald spots trying to damn near reverse engineer all your guides, Googles guides, reddit, Youtube, etc… to try to understand WTF I was or was not doing correctly for over a week. You have pointed me in the right direction. You are the G.O.A.T.
If I ever find myself in your neck of the woods, steaks & beers on me. Cheers from the USA.
Hey Joshua,
Great article!
I have one remaining question: If Google Ads is set up via the Google channel, should the tracking code listed above be removed from the checkout pages to prevent duplicate conversions?
Yes. Possible alternatives is to remove the conversion inside Google Ads which stops the reporting or changing the column to not be included in the conversions column. The later lets you compare data if you wish while not messing with reporting.