Truth be told, it is almost completely pointless to run ads if you don’t track your conversions properly. Without a steady conversion tracking setup on Shopify, you cannot optimize your ad campaigns, or spending, rendering the entire endeavor useless.
We have prepared this guide to let Shopify merchants have an accurate Google Ads Conversions setup with the best practices applied. We have covered the following topics:
- How to set up Google Ads Conversions on Shopify
- What is Google Ads Enhanced Conversions and how you can set up
- Best practices & toolset on Google Ads & Shopify connection
- Primary & Secondary conversions
- Common problems and solutions
How to Set up Google Ads Conversion Tracking on Shopify
Without question, the best possible way is to use modern dataLayers and Google Tag Manager. In this way, there will be many checkpoints to make sure the data is 100% accurate. Analyzify does this for you within minutes of launching. You simply need to create Google Ads Conversions in your account and then provide it to your Analyzify app. Of course, we will make sure to include all of these details in your GTM set up and send the data to Google Ads.
Within the previous 10 months, as a worldwide trusted analytics partner of Shopify merchants, we have executed over 500 data analytics setups. Here's what we recommend on setting up Shopify for Google Ads:
Analyzify’s Google Tag Manager Setup (for Conversion Tracking):
Google Tag Manager renders conversion tracking significantly better than the other techniques. We strongly advise you to use Analyzify's Conversion Tracking (through GTM) as your primary conversion source.
Manual Google Ads Enhanced Conversion Setup:
Considering the fact that Enhanced Conversions is a new feature, we do NOT recommend utilizing it as the primary conversion. For this new feature, it would be wise for you to establish a new secondary conversion and set it up manually using this guide.
Google Analytics & Google Ads Integration (as a backup):
Having a backup is always a good idea. As a backup to your Google Ads conversion tracking, we strongly advise exploiting both your Universal Analytics and Google Analytics 4 purchase tracking. Make sure you set these conversions as secondary conversions.
How to create conversions on Google Ads
If you don’t have any conversion created on your Google Ads account yet - we have you covered. Follow the quick guide below and create a new conversion in Google Ads. Creating the conversion is not enough, later on, you will need to connect it with Shopify.

Step 1: Ads Conversions
Log in to your Google Ads, click Tools & Settings > Conversions from the top menu

Step 3: Conversion Type
Choose Website, and then Conversion Type and name. Choose Purchase, if you are creating a conversion for Purchase
Method 1: Basic Conversion Setup (without an app)
It’s the most basic Google Ads conversion setup method for Shopify merchants. We do not recommend this method because it only sends order ID, total purchase amount, and currency metrics. Further methods are better because they include more data.
Note: This method is also explained in Shopify’s official Google Ads guide.

Step 1: Find your conversion
Go to Google Ads > Conversions and then click the “Purchase conversion” you want to add to your Shopify store. The conversion name can be different than our screenshot. The conversion type should be “website”. If you don’t see any conversion like this, you can create a conversion using the steps in the previous section.

Step 2: Get your conversion ID and label
Once you are on the conversion page, click “Tag Setup” and then choose “Google Tag Manager”. It will show you your conversion label ID. Copy both of them.
Note: We are not setting up the conversion through Google Tag Manager on this tutorial. But this is the easiest way to get the conversion ID and label.
Step 3: Google Ads Conversion code
Copy the code below. We will update the conversion ID and label in the next step.
<script>
gtag('event', 'conversion', {
'send_to': AW-123456789/pasteconversionlabelhere,
'value': {{ checkout.subtotal_price | divided_by: 100.0 }},
'currency': '{{ currency }}',
'transaction_id': '{{ order_number }}',
});
</script>
Step 6: Validate your setup
Use our complete Google Ads conversion validation guide and make sure your conversion tracking is working properly.
Primary & Secondary Conversion on Google Ads
Google has brought a new concept to conversion tracking called Primary & Secondary Conversion Actions.
To put it simply, this setting allows you to separate the conversions that should take a role on Ads Optimizations from the ones that are there just for reporting purposes.

Google Ads Enhanced Conversions
Now we will show you how to set up Google Ads Enhanced Conversions on your Shopify store step-by-step.
Before we start, we should make it clear that Enhanced Conversions is a new feature and it is not available for all Google Ads accounts yet.
We do have a specific guideline and step-by-step tutorial on this topic if you are interested in a more detailed way: Google Ads Enhanced Conversion Setup on Shopify
Let’s get started.

Step 1: Check if you are eligible
Click on your “Conversion” and see there is the “Enhanced Conversion” section. If yes, you can continue with the setup
As this is a new feature we recommend creating a new conversion as a secondary conversion, and setting up enhanced conversion with that one - to prevent potential problems.

Step 5: Additional Scripts on Shopify
Go to your Shopify Admin > Settings > Checkout > Additional Scripts.After > Copy the whole code you see there - just for safety reasons.
You can remove this code block if you are using the same Google Ads Conversion and Label for the enhanced conversions as well. You should leave it as it is if you have created a new conversion for the enhanced.
You most probably have a conversion script there. If you can't see in the first place; you can try searching "AW-" - and search should lead you.
Step 6: Get Analyzify Shopify Enhanced Conversion code
Copy the long code block you see below. You will need to edit the top section with your own parameters.
{% comment %}
Analyzify - Enhanced Conversions Tag V1.3
SECTION 1: ONLY EDIT HERE
Add your relevant values here. Detailed guideline: https://analyzify.app/hub/google-ads-enhanced-conversion-setup-on-shopify/
{% endcomment %}
{% assign gads_aw_id = "AW-111111111" %}
{% assign gads_send_to = "AW-111111111/conversionlabelhere" %}
{% assign product_id = "product_id_variant-id" %}
{% assign product_id_prefix = "shopify_us_" %}
{% assign gads_merchant_id = "222222222" %}
{% assign gads_feed_country = "US" %}
{% assign gads_feed_language = "EN" %}
{% comment %}
SECTION 2: DO NOT EDIT BELOW - ONLY EDIT SECTION 1
{% endcomment %}
<!-- Global site tag (gtag.js) - Google Analytics -->
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '{{ gads_aw_id }}', { 'allow_enhanced_conversions': true });
</script>
{% if first_time_accessed %}
<!-- START Google Ads Enhanced Conversions V1.3-->
<script>
var enhanced_conversion_data = {
{% unless checkout.email == blank %}"email": "{{ checkout.email }}",{% endunless %}
{% unless billing_address.phone == blank %}"phone_number": "{{ billing_address.phone }}",{% endunless %}
{% 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 %}
"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>
<!-- END Google Ads Enhanced Conversions V1.3-->
<!-- START Cart data V1.3-->
<script>
gtag('event', 'purchase', {
'send_to': '{{ gads_send_to }}',
'transaction_id': '{{ order.order_number }}',
'value': Shopify.checkout.total_price_set.presentment_money.amount,
'currency': Shopify.checkout.total_price_set.presentment_money.currency_code,
'discount': discount(),
'aw_merchant_id': {{ gads_merchant_id }},
'aw_feed_country': '{{ gads_feed_country }}',
'aw_feed_language': '{{ gads_feed_language }}',
'items': items()
});
function discount(){
return (Shopify.checkout.discount == null) ? 0 : Shopify.checkout.discount.amount;
}
function items(){
var jsonarray = [];
for (var line_item_count = 0; line_item_count < Shopify.checkout.line_items.length; line_item_count++){
jsonarray.push({
id: {% if product_id == "product_id_variant-id" %}'{{ product_id_prefix }}' + Shopify.checkout.line_items[line_item_count].product_id + '_' + Shopify.checkout.line_items[line_item_count].variant_id{% elsif product_id == 'variant-id' %}Shopify.checkout.line_items[line_item_count].variant_id{% elsif product_id == 'sku' %}Shopify.checkout.line_items[line_item_count].sku{% endif %},
quantity: Shopify.checkout.line_items[line_item_count].quantity,
price: Shopify.checkout.line_items[line_item_count].line_price
})
}
return jsonarray;
}
</script>
<!-- END Cart data V1.3-->
{% endif %}
{% comment %}
END Analyzify - Enhanced Conversions Tag V1.3 Detailed guideline: https://analyzify.app/hub/google-ads-enhanced-conversion-setup-on-shopify/
{% endcomment %}

Step 7: Update your parameters
You will need to update the code block with your Shopify store & product feed & merchant center information. You should only update the marked section and not touch the rest of the code.
After adding your own parameters, you should paste this whole code block into the Additional Scripts section that we showed above.
Common Google Ads Conversion Errors
During the well-over-700 setups we've executed, we've noticed a long list of mistakes made by either Shopify merchants or their developers. Here are some of the most popular ones:
1 Wrong Conversion Data:
It is not only the setup itself but the correct setup that really matters. Over the years, we frequently hear from our clients that their conversion tracking is active, but counting the conversions wrongly. For example, Google Ads shows 10 sales and $1000 revenue when there are actually 12 sales and $500 revenue. There is no need to discuss these disastrous implications.
Wrong data is even worse than no data as it will mislead your optimization efforts and also Google Ads AI. This is almost always due to a poor set-up — an easy and incredibly costly mistake that has the potential to ruin your business.
You can run our Google Ads Conversion Tracking validation guide to detect & fix the problems you should have.
2 Missing or Duplicated Conversion Tracking:
To avoid having your conversions counted twice, it’s very important for you to have one primary conversion along with proper conversion tracking in place. Visit the "Primary Conversions" section above to see the detailed and screenshot.
3 Not Connecting Google Analytics with Google Ads:
For the best results, connect both your Google Analytics 4 and Universal Analytics accounts with Google Ads. Also, don’t forget to import purchase tracking as a secondary conversion. You can check out this guide to see how.
4 Wrong Attribution Model:
The majority of Shopify merchants are not familiar with how the various attribution models work, and they stick with the default "Last Click" option. You can have a look at this guide to get more information and tips on how to choose the ideal model for your store.
5Conflict Between Native Integrations & GTM Tags:
Don’t use the GTM tags with the native integrations for the same tags. Google Ads remarketing tags, for example, should not be active on GTM if you're opting for the official Google App for remarketing events.
What Analyzify can do
Analyzify offers advanced data layers, a full GTM Container, and a solid setup & validation support to let you have a well-working connection between Shopify and Google Tag Manager.
Please keep in mind that Analyzify's setup includes Google Ads Conversion Tracking & Remarketing Setup. If you happen to experience any problems with our integrations, our support team would be happy to help you right away.
Accurate Conversion Tracking
Advanced conversion tracking setup (through GTM) that works seamlessly & collects more data compared to other integration methods.
Dynamic Remarketing Setup
In-depth dynamic remarketing setup with all events and precise data. A premium, fully-customizable alternative to the official Google app.
Enhanced Conversions and more
The latest enhanced conversion setup which includes remarkably larger data than all other integration methods.
FAQ on Google Ads Conversion Tracking
Definitely yes! Analyzify's advanced data layers and Google Tag Manager setup increases the accuracy on your Google Ads tracking. We do send more data to Google Ads to increase the performance in general.
Don't worry, we have prepared an in-depth, step-by-step tutorial to help you validate your Google Ads conversion tracking so that you can easily detect where the problem is.
Feel free to use our guide on Google Ads Conversion Tracking Validation - even if you are not an Analyzify client!
We strongly recommend using the official Facebook App for your product feed, Facebook Pixel, and Facebook Conversion API setup. The native integration works quite well when the setup is done properly.
For Shopify Plus stores, we additionally recommend Analyzify’s Facebook Conversion API connection, as we are able to send more data compared to the native integration.
For regular Shopify stores, the native connection is the best solution at the moment.
Global Site Tag (aka. GTag) is responsible for sending data from your website to Google Ads for remarketing and performance enhancement purposes. This error happens when you don't have a proper remarketing setup on your website. Follow our Google Ads - Shopify playbook to make sure your settings are correct. You can also contact Analyzify's support team if you are an existing client.