Easily add Google Ads conversion tracking to Shopify in less than 15 minutes.
Shopify Pixel
This Shopify Pixel / Customer Event code, has been tested and verified as working for Shopify merchants that have enabled Checkout Extensibility.
The first step is to get your conversion id and label.
Log in to Google Ads and go to Goals > Conversions > Summery
Click on the blue button that says + New conversion action
Select Website as your conversion method.
Enter your website address, and scan.
If you see a banner that says to use Google Analytics, then click on Use Google Ads only
Click on +Add conversion action manually.
- Choose Purchase as your Goal and action optimization
- Enter any conversion name, I will call it Shopify Pixel
- Select Use different values for each conversion
- Leave the rest unchanged and click on done
Click on See event snippet
Copy the code and paste in a temporary text file, we will copy some details at a later stage.
Click on Done.
Now go to Shopify > Settings > Customer Events
And click on Add custom pixel
You can give it any pixel name, but I will call it Google Ads Conversion. Now click on Add pixel.
When editing the code below, please do not remove or change the author, and respect who built it.
// Created by FeedArmy V1.04
Paste the below code in the Shopify pixel.
// Created by FeedArmy V1.05
const script = document.createElement('script');
script.setAttribute('src', 'https://www.googletagmanager.com/gtag/js?id=AW-123456789');
script.setAttribute('async', '');
document.head.appendChild(script);
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'AW-123456789', {'allow_enhanced_conversions':true});
analytics.subscribe("checkout_completed", (event) => {
gtag('set', 'user_data', {
email: event.data?.checkout?.email,
phone: event.data?.checkout?.phone,
address: {
first_name: event.data?.checkout?.shippingAddress?.firstName,
last_name: event.data?.checkout?.shippingAddress?.lastName,
street: event.data?.checkout?.shippingAddress?.address1,
city: event.data?.checkout?.shippingAddress?.city,
region: event.data?.checkout?.shippingAddress?.province,
postal_code: event.data?.checkout?.shippingAddress?.zip,
provinceCode: event.data?.checkout?.shippingAddress?.provinceCode,
country: event.data?.checkout?.shippingAddress?.country,
countryCode: event.data?.checkout?.shippingAddress?.countryCode,
}
});
gtag('event', 'conversion', {
send_to: 'AW-123456789/abcdefg123456789',
transaction_id: event.data?.checkout?.order?.id,
value: event.data?.checkout?.subtotalPrice?.amount,
currency: event.data?.checkout?.subtotalPrice?.currencyCode,
});
});
From your previously copied code from Google Ads, copy the AW-123456789 id highlighted in the image below.
And paste it twice on row 3, and row 10, by replacing the existing ID AW-123456789 (shown in red in the image above)
Go back to your Google Ads code and now copy the full ID and Label as highlighted in the image below.
Replace the send_to value between the quotes on row 14. (shown in red in the above image)
Now click on save in the top right corner followed by clicking on Connect, accept Shopify terms and conditions. And you are all done.
Testing
You can’t test code on Shopify’s checkout thank you page because it’s in sandbox mode, meaning tools like Google Tag Assistant or GTM Preview Mode won’t work. While you could use console.log to check data, I think it’s unnecessary effort. The code does work. Simply wait for a sale to confirm that it’s tracked in Google Ads as a conversion when it comes from an ad click or wait until you have any sale, Google Ads will show the code is detected.
Change Log
- V1.05 – 20 May 2024: Changed the order of gtags
- V1.04 – 20 May 2024: Added user_data values after Sve (comment below) confirmed Google’s own version. I already built this months ago, but needed confirmation it’s correct.
- V1.03 – 02 March 2024 : Supports multicurrency and used subtotal price instead of total
- V1.02 – 27 February 2024 : Public Release
Support My Work!
My conversion tracking code is constantly updated and provided free for anyone to use. As I don’t ask for any monitary value in return, I would be grateful if you consider leaving a review: https://www.trustpilot.com/review/feedarmy.com
Additional Scripts
Supported Functions
- Automatically supports multi currencies.
- Automatically converts European prices with commas to dots.
- Optional choice for disabling tax and shipping in your checkout value.
- Includes the new Google Ads enhanced conversion option
Requirements
- Access to Google Ads > Conversions
- Access to Shopify > Settings
Step 1: Open Shopify Checkout Settings
Open a new tab in your browser and log in to your Shopify Admin Panel
Navigate to Settings (Gear Icon) and choose Checkout
Step 2: Setup & Copy Your Google Ads Conversion Code
In a second browser tab, login to Google Ads and click on the tools and settings menu in the top right corner and select Conversions under the Measurement column.
Click on the big blue plus sign (New Conversion Action).
Now select website as your tracking template.
It will now ask you to scan your website URL. Enter your URL and click on scan.
Scroll to the bottom and choose to install the conversion action manually.
Then do the following :
- Conversion name
- enter any name
- Category
- Purchase / Sale
- Value
- Use different values for each conversion
- Attribution model
- Choose Position-Based (recommended for growth based businesses)
- The rest can be as default
I have written a great article on how to choose your attribution model.
Click on Create and continue
Now you can click on Save And Continue
Click on See Event Tag
Copy your Event Snippet and save it in a temporary file, for later use.
Click on Done
Click on the recently added conversion action
Enabling Enhanced Conversions is optional and not required. Some accounts may not see this option yet. So you can continue the steps below, excluding those related to enhanced conversions. (Skip to Step 3)
Now go to Tools and Settings > conversions > settings or click here: https://ads.google.com/aw/conversions/customersettings
By enabling enhanced conversions you allow Google to improve its accuracy to track conversions. This seems to be required due to Apple’s IOS14 no tracking prompt.
After you have checked the box and clicked on save, you will get a terms and conditions prompt, read it and confirm.
Now choose Google Tag and click on Tag Details.
Now check the box next to Specify CSS selectors or JavaScript variables
- Change CSS selector to Global Javascript variable
- Enter the following values for Email
- enhanced_conversion_data.email
Repeat the steps for Phone number and Name and Address
- Phone
- enhanced_conversion_data.phone_number
- First name
- enhanced_conversion_data.first_name
- Last name
- enhanced_conversion_data.last_name
- Street address
- enhanced_conversion_data.home_address.street
- City
- enhanced_conversion_data.home_address.city
- State
- enhanced_conversion_data.home_address.region
- Country
- enhanced_conversion_data.home_address.country
- Postal code
- enhanced_conversion_data.home_address.postal_code
You might ask, why the javascript values? Well on your thank you page, the javascript selector for all the values is added as a javascript variable when using the conversion tracking code below (From V1.5). This will only work if you use the code below.
Step 3: Editing and Pasting Your Google Ads Conversion Tracking
Go back to Shopify and scroll down until you see Order Processing (from step 1), at the bottom of this section you will have a field where you can paste code that is labeled Additional Scripts.
If you have two fields such as post purchase and order status, then add the code to the order status field.
Copy the send_to value (image below) and replace fa_send_to value with your value in the code template below.
- replace the value for fa_send_to
- replace the value AW-123456789/abcdefghijlklmnopq with your event snippet send_to value
- Choose yes or no for fa_include_tax_and_shipping
- choose yes if you want to include tax and shipping in the checkout value or no to not include tax and shipping values.
Sometimes on rare occasions, when you set fa_include_tax_and_shipping to no, it would still include the shipping. I’m not sure why this sometimes happens, but it might have to do with the account country. So if you notice shipping is included, set the value to yes, and it will remove shipping.
Code Template (change the fa_send_to value with your code snippet send_to value)
<!-- FEEDARMY START Global site tag (gtag.js) - Google Ads V2.2 -->
<!-- For the latest and updated code or tutorial: https://feedarmy.com/kb/adding-adwords-conversion-tracking-to-shopify/ -->
{% assign fa_send_to = 'AW-123456789/abcdefghijlklmnopq' %}
{% comment %}DO NOT EDIT BELOW{% endcomment %}
{% if fa_google_coding %}{% assign fa_google_coding = true %}{%- else -%}{% assign fa_google_coding = false %}{%- endif -%}
{% assign fa_google_ids = fa_send_to | split: "/" %}
{% if fa_google_coding == false %}
<script async src="https://www.googletagmanager.com/gtag/js?id={{fa_google_ids[0]}}"></script>
{%- endif -%}
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '{{fa_google_ids[0]}}', {'allow_enhanced_conversions':true});
var checkout = window.Shopify.checkout;
</script>
{% if first_time_accessed %}
<script>
gtag('event', 'conversion', {
'send_to': '{{ fa_send_to }}',
'value': checkout.total_price_set.presentment_money.amount,
'currency': checkout.total_price_set.presentment_money.currency_code,
'transaction_id': '{{ order_id }}',
});
var enhanced_conversion_data = {
{% unless billing_address.first_name == blank %}"first_name": "{{ billing_address.first_name }}",{% endunless %}
{% unless billing_address.last_name == blank %}"last_name": "{{ billing_address.last_name }}",{% endunless %}
{% unless checkout.email == blank %}"email": "{{ checkout.email }}",{% endunless %}
{% unless billing_address.phone == blank %}"phone_number": "{{ billing_address.phone }}",{% endunless %}
"home_address": {
{% unless billing_address.street == blank %}"street": "{{ billing_address.street }}",{% endunless %}
{% unless billing_address.city == blank %}"city": "{{ billing_address.city }}",{% endunless %}
{% unless billing_address.province_code == blank %}"region": "{{ billing_address.province_code }}",{% endunless %}
{% unless billing_address.zip == blank %}"postal_code": "{{ billing_address.zip }}",{% endunless %}
{% unless billing_address.country_code == blank %}"country": "{{ billing_address.country_code }}"{% endunless %}
}
};
</script>
{% endif %}
<!-- FEEDARMY END Global site tag (gtag.js) - Google Ads V2.2 -->
Verifying and Testing
Verifying
You can verify if the code is working if you go to Google Ads > Tools and Settings > Conversions > here check if the status is verified.
Testing
First open up Tag Assistant when the new window opens up make a test payment to check if the conversion tracking is correctly installed. When you are on the final thank you page check the data within Tag Assistant.
Tip:
first_time_accessed
is for the page, not for the customer. Subsequent orders will run afirst_time_access
again for the same person if it is a new browser session.
Trouble Shooting Enhanced Conversions
Make sure you have waited at least 3 to 7 days. Google requires time to compile the data.
Coverage:
You may encounter issues with regard to coverage. This can happen when customers pay through a third-party payment processor (PayPal), which may require that they enter customer data on a different domain instead of directly on your website like they do when they do not use a third-party payment processor.
Match status:
If you are having issues with the match status, not all users fill out all the fields in your checkout. What you could do is remove the attributes in your Google Ads conversion list to only track emails or only track mandatory fields in your checkout.
By removing non-mandatory fields, you will avoid submitting empty fields to Google.
Change Log
- 8th September 2023 – updated the steps for enhanced conversion tracking
- V2.2 – 11 July 2023 – updated code to validate every value
- V2.1 – 24 June 2023 – updated checkout price to use presentment_money
- V1.8 – 10 August 2022 – Added enhanced conversion checks for email and phone number
- V1.7 – 07 June 2022 – Fixed incorrect total value when changing shipping and tax settings
- V1.6 – 28 April 2022 – Fixed the country code not adding the value correctly as highlighted by Jon Yildiz
- V1.5 – 27 July 2021 – Added Enhanced Conversions using Javascript and removed CSS
- V1.4 – 21 July 2021 – Added Enhanced Conversions using CSS
- Due to server migration, older changes are not listed
Support My Work!
My conversion tracking code is constantly updated and provided free for anyone to use. As I don’t ask for anything in return, I would be grateful if you consider leaving a review: https://www.trustpilot.com/review/feedarmy.com
Enable Remarketing
Track your existing website visitors by installing remarketing for Shopify. A returning visitor is twice as likely to convert as a first-time visitor. Use this data for display remarketing ads and audience targeting.
Enable Micro Conversions
If you like to track more minor conversion actions ie, micro-conversions such as add to cart, view cart, add a delivery address. Then install Google Analytics Goals.
Hi Emmanuel. Thank you for your sharing. But I’ve tried setting up enhanced conversions myself before and since my code was horizontally pineappled, it’s still a bit confusing.
I would like to know, based on this tutorial of yours, which one of the following options should I choose:
Enhanced conversions
Choose a method for setting up and managing user-provided data
Google Tag, Google Tag Manager, or the Google Ads API
Hello you can decompile your code by using an online javascript decompiler.
With the tutorial, please select Google Tag.
Thank you for your help.
Hi Emmanuel. I am a long time follower of you posts. I applied conversion pixel per the insturctions. However, I noticed some strange prefexes to urls started showing in GA landing pages report like this:
/wpm@kl0004fcw35017947p5dc7d00000aaa3b6e9e66/custom/web-pixel-20230004@1/sandbox/modern/
How can I get rid of these prefixes and whay are they showing?
Hello Leena, I have never seen these prefexes, but I assume that is Shopify’s doing. As the script I wrote, does not share or include URL’s.
Or it’s automatically what Google Analytics does.
I know Google Ads includes all the checkout URLs.
IShopify support is telling me the shopify pixel is only available for the plus store now. Does your code work only for Plus shops?
I’m not aware of any limitations. You can verify if you can install pixels if you have the option Customer Event in your Settings panel.
You may need to activate it first, but it should be available to everyone.
I do have the option to install pixels. I am just trying to find out why I am getting this prefix on my urls in GA4. Did you notice something similar on your store?
Nobody has reported any issues.
Hey, first, thank you very much for the provided information in the article. We have implemented the code in a Shopify pixel. Inbetween we have made some calls with Google support. They have give us a code, which is the same as the code from your article, just the user details are separated in “gtag set user_data”. I am sharing with you this fragment if it could be helpful:
analytics.subscribe(“checkout_completed”, (event) => {
gtag(‘set’, ‘user_data’, {
“email”: event.data.checkout.email,
“phone_number”: event.data.checkout.phone,
“address”: {
“first_name”: event.data.checkout.shippingAddress.firstName,
“last_name”: event.data.checkout.shippingAddress.lastName,
“street”: event.data.checkout.shippingAddress.address1,
“city”: event.data.checkout.shippingAddress.city,
“region”: event.data.checkout.shippingAddress.province,
“postal_code”: event.data.checkout.shippingAddress.zip,
“country”: event.data.checkout.shippingAddress.countryCode
}
});
gtag(‘event’, ‘conversion’, {
‘send_to’: ‘AW-XXXXXXXXX/YYYYYYYYYYYY’,
‘value’: event.data.checkout.totalPrice.amount,
‘currency’: event.data.checkout.currencyCode,
‘transaction_id’: event.data.checkout.order?.id
});
});
Hello Sve, Thank you very much for the code. I had already created this version with the user_data but needed help verifying that the enhanced conversion was working. Since I have already created it, and you have confirmed that Google has shared this, I will now release the newer version. Thank you for your support!
Hey Emmanuel,
What would be the point of using the Shopify Pixel install if it doesn’t support Enhanced Conversions? Surely this is going to negatively impact performance of the account not having Enhanced Conversions working?
Thanks,
Stephen
Not everyone wants enhanced conversions and does not want to rely on AI to make up conversions that are not factually verified. Not because Google provides a feature, means it is correct. Google’s main goal is for advertisers to spend more. However, if enhanced conversions are important to you, I recommend using the additional script version.
Interesting, I thought enhanced conversions just feeds first party data back to Google to help them confirm who the sale was from? I didn’t realize it had a lot of guess work to it.
Hi Emmanuel thank you for the great content. Your videos are very useful and straight to the point.
I have a question about the Shopify pixel method. Since you mentioned that this method has been tested and verified as working for Shopify merchants with Checkout Extensibility enabled, does this mean it should only be implemented on Shopify+ stores? As far as I know, only Shopify+ stores have Checkout Extensibility enabled.
I have a question about the additional scripts method. As far as I understand, it performs the same job as the pixel method, with the added benefit of including enhanced conversions. The enhanced conversions option is not working for the pixel method. Is that correct?
Hello Milen, thank you for the kind words. It should work with any account that can enable customer events (pixels).
Enhanced conversions, indeed does not work with Pixels, only Additional Scripts.
Hi, I’ve follow your steps, I’ve got a question:
(1)On top of the intrustion in this guide do you also need to add the Google Tag that set the config “GT-XXXXXX”? IF yes do you have to add in theme.liquid? I can see you only add the config in the custom event gtag(‘config’, ‘AW-XXXXX’,)?
The GTAG only needs the AW-123456789, no other tags are needed to be added.
Hi Emmanuel, thank you for this. When I followed the steps I saw something different to you in the box for “see event snippet”. I get “Connect to Google Tag”, and then when I click it wants to connect to my GA4 tag. Did I miss a step? Thanks!
You need to go to the step after you enter your website, to toggle to Google Ads, instead of Google Analytics.
Why change that value (line 16) to 1.0? What’s there already in your script looks better – what does changing to 1.0 do?
value: event.data?.checkout?.subtotalPrice?.amount,
Because the previous method does not support when the currency changes.
ok thanks but if orders are always in £ GBP can I leave what’s there? Or still need to change to 1.0?
You can use whatever values you like. It is up to you. I made the change for specific reasons. And that is to ensure the values are correct. And subtotal is better anyways, I don’t really want to include shipping.
Thanks for this Emmanuel.
I’m getting an error with enhanced conversions, though.
“Setup issues detected: Implement in-page code in addition to Automatic for better results”
Any idea what this could be?
Thanks!
The additional script tag should work correctly with enhanced conversions. Or are you talking about Pixel? If it’s the pixel, this is not yet supported.
Thanks for the reply!
I had added the Pixel only, I thought that would take care of enhanced conversions too.
So I guess I have to add both the Pixel and the additional scripts for this to work, right?
Thanks in advance!
If you want enhanced conversions, only use the additional scripts version. Not both pixel and additional scripts.
Currently enhanced conversions for pixels is not supported yet.
If you put both on the website, would it double count conversions or default to the pixel?
Most likely yes. Only install conversion tracking once.
Is enhanced conversions still not compatible with customer events (pixels)?
Correct, not yet.
Why your code include enhanced conversions parameters if pixel is not compatible?
Because when I started, I thought it would work, but it does not. So I left these details in as part of Shopify Help Center details: https://help.shopify.com/en/manual/promoting-marketing/pixels/custom-pixels/gtm-tutorial
You mean only solution GTM setup?
I have no support for GTM.
What about shopify plus enabled checkout extensibility?
If you need Pixel + Enhanced conversion, I recommend for now that you use the Google and Youtube App.
I use additional scripts for now. How can I use Google app with enhanced conversions?
Install It.
No need any additional code in additional scripts section if conversion tracking activated in Google app?
Correct
Awesome tutorial Emmanuel!
I’m struggling to get access to the ‘customer events’ section in Shopify. What boxes should I be ticking when requesting access? Thanks
Hello Felix, when asking for access as a contributor, you have no option to preselect.
In this case, you need to ask your client to check the box for edit customer events in the settings option.
Hello, Emmanuel F,
Thanks for a great guide. I wanted to double check on one thing.
I’ve installed the pixel as you’ve shown, currently waiting for google to verify the conversion.
I need to have enhanced conversion tracking, I was wondering if the pixel code has that or do I need to complete the “Additional scripts” section, install the script under checkout section as well? Because I currently did both, installed pixel and the enhanced conversion script, but I believe that’s not the right way to do it as only one should be active?
If you’d check this uploaded image (ibb is an image hosting site) – I assume I don’t have to do anything additionally while waiting for conversion verification with “Tag setup” and “Enhanced conversions” sections or did I setup something incorrectly.
And one final question, once I am done with pixel enhanced conversion tracking can I proceed with enable micro conversions guide or does that not work anymore as it hasn’t been updated for awhile (is it related to this guide? Does it work the same way with GA4?).
If you could answer that it’d be very much appreciated. Thanks!
Hello Kristupas, I originally had the enhanced conversion added, but this did not work, so I’m currently working on getting this active. Which may take some time.
I have noticed that even the automatic email option does not work. You can add micro conversions, however, my guide is not updated for GA4. But this is planned for an update.
We are planning on switching to this code for enhanced conversions but I have a question. Our current script in the Additional Scripts section has this line in the code:
‘value’: {{ checkout.total_price | divided_by: 100.0 }},
Will the divide by 100 be a problem if we switch to yours?
The presentment price is the newer version for adding the checkout price. So yes that is correct.
Is there a version for Microsoft Ads?
Not at the moment, thanks for asking I will put it on the wishlist.
I have tested this to 4 of my accounts. I get the 100% same data of Google and Youtube app conversion data. Are these both work in the same process? or its just the coincident? I use other tracking tool. those have different data.
Yes, the data should be the same. That is correct.
You had another conversion tracking code previously. what will happen to that? Do i need to change to the new one?
In 2025, Shopify will no longer support additional scripts (as of writing), which means the additional script code will no longer be able to be implemented. So, to avoid any issues, use the Shopify Pixel version.
Thank You for clarification. looking forward to have an article on Consent mode from you.
Hi Emmanual,
I did all the necessory steps but it’s still not working…
It’s possible you have other issues or missed a step. For installation service, feel free to reach out to [email protected].
Hi Emmanuel ! Thank you so much for this detailed tutorial 🙂
I followed every step to the T, but the diagnostics of my conversion objective gets “Needs attention” status. The detailed message is “Implement in-page code in addition to Automatic for better results”.
I tried adding the global tag to the theme.liquid, but the message is still here…. It’s been 48 hours. I am not sure what I am missing.
Note that:
– the Google Shopping App Purchase conversion (which comes automatically from the Google and Youtube App in Shopify) also has that message.
– But the Purchase (Google Analytics Event) that I created from Analytics to my GAds does not.
So the issue seems to be coming from my Shopify site.
Do you have any idea ?
Are you using the additional scripts or the Shopify pixel? In either case, there is no need to install anything else in the theme.
You don’t have a message on the GA Event because it does not track enhanced conversions.
Please note that enhanced conversions take 45 to 75 days. So, make sure you have waited long enough after successful installation.
I was using the additional script first and though I did not have this Needs Attention message, I was not able to track conversions from Europe. So now I upgraded to the Shopify pixel. Okay I will wait and see what happens, thanks !
This guide does not talk about installing the Google Tag. Is that installed through the Customer Events?
What if we have the Google & YouTube Channel installed, what do we need to do/change?
Following the pixel method above, the Google Tag is in the code, as well as the previous method additional scripts.
If you have also installed conversion tracking with the Google and YouTube app, go to your conversions actions in Google Ads and set the one Google created to secondary and the new manually installed Shopify pixel to primary.
Is it okay to still keep to Google Tag in the theme.liquid ? Or better to remove it. Wondering if it duplicates anything in the trackings…
It does not duplicate purchase conversions. It may double track other things if you set it up, such as add to cart. Testing is recommended to see if that is the case.
Mmm I think I will get rid of the code I’m the theme.liquid then. Thanks !
Hi,
When I follow these steps for some of the accounts it still asks me to implement the CSS selectors manually. Would this impact any tracking? And why does it not show the enhanced conversion tracking under settings?
It’s possible that some of these accounts are not updated yet to the new system. Google updates accounts in stages, so not everyone will get all the options available.
You could also try to check the enhanced settings in the conversion action, not in the global account settings. It should have the option for automatic detection.
Hello,
Thank you for your guide and help.
I currently use the Google & Youtube app to link to GA4 and import conversions to Google Ads from there – however this doesn’t seem to be supported for setting up enhanced conversions.
I just wanted to check I can still follow this guide exactly as you have laid out and the code won’t conflict with my current setup with the app or lead to duplicate tracking?
And if I set up this purchase conversion would you recommend setting it up as secondary to my GA4 imported one?
Many thanks
Yes, you will have duplicate tracking, so what you need to do in Google Ads > Conversions is either set the other conversion action to secondary, or delete it.
If you set the new conversion action as secondary, it will not be used in the campaigns. If you want it to be used, set it as primary.
I have a few questions for you now that you added a solution for the Shopify Pixel, but first I wanted to say thank you for helping so many business owners by sharing your hard work!
Ok, onto the questions:
If our website needs to run Google Tag Manager for management of other tags, can we still use your method? My understanding is that you should only have one of either gtag.js or gtm.There is additional functionality in the additional scripts install method. Will you be adding this additional functionality to the Shopify Pixel install method?Is there any reason to go with your Shopify Pixel solution instead of the additional scripts solution if you have a Shopify Plus store? (I head Plus stores will retain additional scripts functionality).
Yes, you can use GTM and Google Ads methods.
GTM script and the Google Ads script don’t use the same source. GTM using gtm.js while Google Ads is gtag/js
You ask about additional functionality in the additional script, can you provide more details what extra functionality you are looking at?
What additional functionality are you looking at for Shopify Pixel?
Officially, Shopify will sunset additional scripts in 2025.
HI!
First of all, very clear instructions!
What’s weird with my account though, is that, when I make the Goal in Ads, I don’t get a AW ID + Label. It just says:
“<!– Google tag (gtag.js) event –>
<script>
gtag(‘event’, ‘conversion_event_purchase_3’, {
// <event_parameters>
});
</script>”
Any idea what I’m doing wrong?
Never seen this before, however it might be that you did not select website when you start the setup guide. Or after you clicked on website, you clicked on Create conversion actions from Web and App events. not sure.
Maybe try again?
I came across the same issue. It’s because I connected my GA4 to my Google Ads. When I removed this link from my GA4 admin, i was now able to see the same setup from the video.
Yes, just a week or so ago, I realized the same. However you don’t need to disconnect GA4, just click on the banner use Google Ads instead. Just after you tested the website URL.
Hi would you recommend updating stores with your older code before the Customer Events from Shopify with this new one you ahve created? Any better tracking from this new one?
Both track equally the same values. Only that in 2025 additional scripts will stop working.
i followed the steps, tried troubleshooting. the tag never fired even though its in the src. please help
Hello Kol, are you talking about the Pixel or the Additional Script?
Hello, thank you for the tutorial I have been using it for many clients. One question: Basically if you add this script in the checkout page you could also implement it via GTM because this will create an event right?
I have not looked into this, but I would assume so.
hey my freinds, now shopify use “customer events” to manage tracking code now,can you tell how to convert you code which added on Additional Scripts section to “customer events” section? Many Thanks…
Currently my code is not supported for Pixels or Customer Events.
Super helpful, although on google ads its still listing my conversion as “inactive”. I see the snippet code on the view source page so cannot for the life of me figure out what is wrong. It looks like it’s capturing every action up to clicking “pay now”.
This code, should not track anything else except for the conversion itself, Shopify seems to be having issue with the if first time check. A few months ago, I heard it was causing Shopify to block the data from being sent. You might want to try and disable this.
I have the same problem, what do you mean with first time check?
Shopify has a bug that if you use {% if first_time_accessed %} it will not work. So, remove this from the code. Not sure if Shopify will ever fix it, because now we are migrating towards Pixels. I recommend you install the pixel, and not the additional script.
I configured the enhanced conversion (Using Google Tag) as per the provided reference. However, as per the Google Tag Configuration, It takes up to 45 days to validate the data. Is there any way the validations can be confirmed earlier? The purchase conversion is verified and it’s recording conversion properly.
From Google’s side no, from your side, you can perform a test purchase and using Tag Assistant you can view the values submitted.
Hi,
I think the guide might be out of date by now as there are 2 additional code sections under Checkout section in Shopify now? In your guide just one field / section.
Please advise.
Seems I got it working by adding to the Post-Purchase page. Shopify is officially adding code to Order Status field instead.
The tutorial is not out of date, some merchants have two field, some don’t. It depends if you have enabled a feature or app that allows for post purchace processing. The code should be added in the order status field. I will update the tutorial to include this info. Thanks.
Thanks – good to know 🙂
What if I desire the prices to be sent to GA in shop currency instead of presentment currency?
From what I can see, Shopify does not expose the prices in Shop currency, only presentment currency. Is there a way around this? (Additionally, would not want GA doing the FX conversion for reasons such as they do not know the FX rate used for the transaction, etc.)
If you only list your products in the shop currency, when a user reaches the checkout and, ultimately, the thank you page, the conversion value sent to Google will be the shop currency price. The presentment currency and price will match what you charge at the checkout.