How to Set Up Google Ads Conversion Tracking in GTM
Pasting the gtag snippet into your site works, until it doesn't scale. Here is how to run Google Ads conversions through GTM the right way.

Google gives you a snippet and tells you to paste it on your site. That works, and it is how most accounts start.
It stops working well the moment you have more than one conversion, more than one site template, or more than one person touching the code.
Why move it into GTM
One place to look. Every tag, trigger, and variable in a single container instead of scattered through a theme.
You can test before publishing. Preview mode shows exactly what fires and with what values.
Changes do not need a developer, or a deploy, or a theme update that overwrites your snippet.
Version history. When conversions break, you can see what changed and when.
One source of customer data, reusable across Google, Meta, and anything else.
The honest counterpoint: if you have exactly one conversion on a simple site and nobody ever changes anything, the snippet is fine. Most situations are not that.
The pieces you need
Three things, and people frequently set up two of them.
The Google tag. Loads once per page and establishes the connection to your Google Ads account.
A conversion tracking tag per conversion action, carrying the conversion ID and label.
A trigger that fires the conversion at the right moment with the right data.
The Google tag must load before the conversion tag. If conversions fire but never appear, tag sequencing is the first thing to check.
Trigger on data, not on URLs
The most common fragile setup is a trigger that watches for a thank you page URL.
It works until the URL changes, and URLs change constantly. Platform migrations, checkout updates, a developer tidying up routes. The trigger silently stops matching and nobody notices for a month.
Trigger on a data layer event instead. Your site pushes a purchase event, GTM listens for it. The URL can change freely and nothing breaks.
If your data layer is thin or nonexistent, start with
Image: GTM trigger configuration comparing a URL based trigger and a custom event trigger, side by side.
Send the values properly
A conversion with no value cannot be used for value based bidding, and a conversion with a wrong value is worse than none.
Send:
Value, a plain number with no currency symbol and no thousands separator.
Currency, as its own field.
Transaction ID, so refreshes are ignored and refunds can be applied later.
Pull these from data layer variables, not by reading text off the page. Reading the page breaks the first time a designer moves something.
Add enhanced conversions while you are here
It is the same tag, one extra setting, and it recovers conversions the cookie route loses.
Map the customer email from your data layer into the tag’s user data field. Full walkthrough in
the enhanced conversions guide.
Do not leave the old snippet in place
This is the single biggest cause of doubled conversions after a GTM migration.
The snippet stays in the theme, the GTM tag goes live, and both report every sale. Numbers double and it looks like the migration was a triumph.
Search your site source for the conversion ID. If it appears in the theme and in GTM, remove one.
This covers finding duplicates.
Testing before you publish
Open GTM preview and complete a real conversion.
Confirm the tag fired once, and only once.
Check the resolved values, not the variable names. Look for undefined.
Open the network tab and count the requests going to Google.
Publish, then repeat the test in production.
Wait 24 hours and confirm the conversion appears in Google Ads.
Step five matters. Preview mode uses an unpublished version, so passing there proves nothing about what real users experience.
Need this built properly?
If your conversion tags live half in your theme and half in GTM, an audit will usually find a duplicate or a gap. 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.



















