How to Set Up Google Ads Conversion Tracking for Shopify
The app-only setup works until it doesn't. Here is the architecture that actually reports accurate Shopify purchases to Google Ads, and why each piece exists.

Search this question and you get the same answer everywhere. Install an app, connect Google Ads, done.
That setup works. It also quietly loses conversions, reports the wrong revenue, and gives you no control when something breaks. Since Google Ads spends your money based on these numbers, it is worth understanding what a real setup looks like.
The short answer
A reliable Shopify to Google Ads setup has five parts:
Google Tag Manager on the storefront, so you own your tags instead of scattering them across apps and theme files.
A Shopify Custom Pixel for checkout events, because Shopify no longer lets you drop scripts into checkout.
A Google Ads conversion action for purchase, receiving real revenue and a transaction ID.
Enhanced Conversions using the customer email you already collect at checkout.
Consent Mode if you have any European traffic.
Server side tracking is a sixth piece, and it is genuinely optional. More on when it earns its keep below.
Why the app only setup falls short
Apps are fine at what they do. The problem is what they do not do.
You cannot see inside them. When conversions drop 30 percent, you have no way to check what fired.
They often skip the transaction ID. Without it, Google Ads cannot ignore duplicate reports, and it cannot process refunds later.
They stack. Most stores end up with an app, a theme snippet, and a GTM tag all reporting the same sale. Revenue looks great and none of it is real.
They rarely handle consent properly, which matters more every year.
If you only take one thing from this article: before you add anything, check what you already have. A duplicate is more expensive than a gap, because a gap is obvious and a duplicate is flattering.
Step one, put GTM on the storefront
Install the GTM container in your theme, in the header. Do not also install Google Ads directly in the theme. Pick one home for your tags and stick to it.
This covers product pages, collections, and cart. It does not cover checkout. Shopify checkout is a separate world, which is the next step.
Image: Shopify theme code editor showing the GTM container snippet placed in theme.liquid, with the head section visible.
Step two, handle checkout with a Custom Pixel
Shopify removed the ability to add scripts to checkout. Custom Pixels are the replacement. They run in a sandbox and listen to events that Shopify emits, such as checkout completed.
This is actually better than the old way. You are reading structured order data instead of scraping values off a page that a theme update can rearrange.
The event you need for Google Ads is
checkout_completed, which carries the order ID, the total, the currency, and the customer email.
Full walkthrough here:
how to set up a Shopify Custom Pixel.
Image: Shopify admin, Settings, Customer events, showing the Custom Pixel editor with the checkout_completed subscription visible.
Step three, send real purchase data
A purchase conversion needs four things. Most broken setups are missing at least two.
Value. The actual order total, as a plain number. Not text, no currency symbol.
Currency. Sent separately. Multi currency stores get this wrong constantly and silently multiply their revenue.
Transaction ID. The order ID. This is how Google Ads ignores refreshes and how you send refunds later.
Customer email, hashed, for Enhanced Conversions.
Decide early whether your value includes tax and shipping, then keep it consistent. Whatever you pick, your ad reports and your Shopify reports should agree. If they do not, one of them is lying and it is usually the ad platform.
Step four, turn on Enhanced Conversions
This is the highest value thing on the list, and it takes about ten minutes.
Normal tracking matches a sale to a click using a cookie. When that cookie is blocked or expired, the sale goes unreported. Enhanced Conversions adds a second route using the hashed email from checkout, recovering sales the cookie route lost.
Typical recovery is somewhere between 5 and 15 percent of conversions. These are not new sales, they were always happening. They just were not being credited. Details in
the Enhanced Conversions setup guide.
Step five, consent
If you sell to Europe, Consent Mode is not optional, and a banner that simply blocks everything throws away recoverable data. See
what to do when Consent Mode cuts your conversions.
When server side tracking is worth adding
Honest answer: not always.
It helps most when you spend meaningfully on ads, when a lot of your traffic is Safari or iOS, and when you also run Meta and want better match quality. Below roughly five thousand a month in ad spend, the hosting and setup cost usually outweighs what you recover.
There is a fuller breakdown in
is server side tracking worth it.
How to verify it actually works
Do not skip this. A setup nobody tested is a guess.
Place one real order. Use a discount code. Watch it go through.
Count the events. One order should produce exactly one purchase conversion. Two means you have a duplicate to hunt down.
Check the values. Does the reported revenue match the order total in Shopify, to the cent?
Confirm the transaction ID is present and matches the Shopify order number.
Wait 24 to 48 hours, then compare a full week of Shopify orders against Google Ads conversions.
Expect Google Ads to run somewhat higher than Shopify, because it credits the click date and includes modeled conversions. A stable gap is healthy. A gap that swings wildly is not. That difference is explained in
why GA4 and Google Ads never match.
Image: side by side comparison of Shopify order count and Google Ads conversion count for the same week, with the expected gap annotated.
What not to track
Restraint matters here. Do not mark every event as a conversion.
Purchase is your primary conversion. Add to cart and begin checkout are useful as secondary signals and for audiences, but if you mark them as primary, bidding will happily buy you thousands of add to carts and very few orders.
One primary conversion. Everything else is context.
Need this built properly?
If your Shopify store is running on an app and nobody is sure whether the numbers are right, that is worth an hour to check properly. I set up and repair tracking for ecommerce stores and lead generation businesses, so the numbers in your ad accounts match the money in your bank account.
Have a look at what I do, or book a call and we can go through your setup together.



















