On this page
To set up Google Ads conversion tracking with Google Tag Manager, create a conversion action in Google Ads, copy its Conversion ID and Conversion Label, and add a Google Ads Conversion Tracking tag in GTM that fires on the moment that counts: a thank-you page, a form submission or a purchase. Keep a Google tag or Conversion Linker on every page so the ad click is stored, then test before you publish.
Should You Use Google Ads Tags in GTM or Import Conversions From GA4?
Use the native Google Ads tag when the conversion is a key action you bid on, and use GA4 imports when you want one measurement setup across every traffic source. Google Ads Help says you can run both, as long as you’re clear which one counts for bidding.
| Question | Google Ads tag in GTM | Imported from GA4 |
| Best for | Google Ads results only | All traffic sources in one place |
| Conversion dated to | The ad click | The day it happened |
| Reporting delay | Standard Ads reporting | Up to 24 hours to appear |
The trap is setting both versions of the same action to Primary. Google Ads’ Conversions column only counts Primary actions, so if a GA4 “purchase” import and a Google Ads purchase tag are both Primary, one sale shows twice and Smart Bidding learns from the inflated number. Pick one as Primary and set the other to Secondary, where it still shows in “All conversions” for comparison.
For most lead-gen and ecommerce accounts we prefer the native Google Ads tag for the main conversion, because it’s dated to the click your bidding is judging, and GA4 for everything else.
What Do You Need Before You Start?
You need access to both accounts, GTM already installed, and one clear signal for each conversion.
- Admin or standard access to Google Ads, and publish access to the GTM container.
- GTM installed on every page (see our Google Tag Manager setup guide if it isn’t).
- A Google tag in the container that loads on every page, or a Conversion Linker tag on All Pages.
- A unique signal for each conversion: a thank-you page URL, a form success event, or a purchase event in the dataLayer.
- For stores: order value, currency and order ID available in the dataLayer on the order confirmation page.
- Your consent banner’s settings, if you have one, so you know which tags wait for consent.
If GTM isn’t live yet, start with our Google Tag Manager setup guide.
FREE TRACKING AUDIT
Find Out Which Conversions You Are Missing
JuvioX reviews your GA4, Tag Manager and ad platform tracking, then sends a prioritized list of what to fix first. Free, with no obligation.
How Do You Set Up Google Ads Conversion Tracking in GTM Step by Step?
Create the conversion action, copy the ID and label, confirm click data is being stored, build the trigger, build the tag, then test and check its status in Google Ads.
Step 1: Create the Conversion Action in Google Ads
In Google Ads, open Goals > Conversions > Summary and create a new conversion action for your website. Name it after the business result (“Lead – Quote Form” or “Purchase”), set the category, and choose the counting option. Google Ads Help recommends “Every” for purchases, because each sale has value, and “One” for leads, because one lead per click is usually what matters.
One catch from Google’s Tag Manager help: actions Google creates automatically, such as auto-detected goals or Smart campaign conversions, don’t have a standalone label. If you want to fire them from GTM, create a manual website action instead.
Step 2: Copy the Conversion ID and Conversion Label
Open the conversion action, go to Tag setup and choose Use Google Tag Manager. Google shows two values: the Conversion ID, which is the same for every action in the account, and the Conversion Label, which is unique to this action. Paste both somewhere safe; you’ll need them in Step 5.
Step 3: Make Sure Click Data Is Being Stored
Before a conversion can be credited, the ad click has to be saved when the visitor lands. Google’s Tag Manager help explains that the Conversion Linker reads the click information in the landing page URL and stores it in first-party cookies on your domain. If your container already loads a Google tag on every page, you don’t need a separate Conversion Linker; if it doesn’t, add a Conversion Linker tag on the All Pages trigger. If visitors land on one domain and convert on another (a booking subdomain, for example), turn on linking across domains in that tag.
Step 4: Build the Trigger for the Conversion
Pick the most reliable signal you have. A thank-you page is simplest: a Page View trigger where Page Path contains /thank-you. Forms that show a success message without a new page need a custom event. Ask your developer or form plugin to push one when the form succeeds, then use a Custom Event trigger with that event name:
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'generate_lead',
form_name: 'quote_form'
});Avoid firing a lead conversion on a plain button click. Clicks count people who tried and failed validation; the success event counts people who actually got through.
Step 5: Add the Google Ads Conversion Tracking Tag
In GTM, add a new tag, choose Google Ads Conversion Tracking, and paste the Conversion ID and Conversion Label. For leads, that’s often enough. For sales, fill Conversion Value, Transaction ID and Currency Code from dataLayer variables (next section). Attach the trigger from Step 4 and give the tag a clear name, such as “Google Ads – Generate Lead – Tag”, so the container stays readable.
Step 6: Preview, Test and Publish
Click Preview, open your site from an ad-style URL if you can, and complete a real test conversion. In Tag Assistant, confirm the conversion tag appears under Tags Fired on the right event, once, with the right value. If you use a consent banner, test after accepting; then publish the container.
Step 7: Check the Status in Google Ads
Go back to Goals > Summary and read the tracking status column. Google Ads Help lists Unverified, Tag inactive and Needs attention as statuses you can troubleshoot: hover over the status, select Troubleshoot, and Google opens Tag Assistant to verify the action. After a verification session, Google says verified actions update in the account in about 30 minutes and move to No recent conversions. The status changes to Recording once real conversions come in.
How Do You Pass Dynamic Order Value, Currency and Transaction ID?
Push the order details into the dataLayer on the confirmation page, create Data Layer Variables for them in GTM, and map those variables to the tag’s Conversion Value, Currency Code and Transaction ID fields.
A typical purchase push looks like this (your platform or plugin may already send it):
| GTM variable (Data Layer Variable) | Maps to tag field |
| ecommerce.value | Conversion Value |
| ecommerce.transaction_id | Transaction ID |
| ecommerce.currency | Currency Code |
window.dataLayer.push({
event: 'purchase',
ecommerce: {
transaction_id: 'ORDER-10452',
value: 129.90,
currency: 'USD'
}
});Two details from Google’s Tag Manager help matter here. If the value field is empty or undefined, the tag sends 0, so a broken variable quietly reports $0 sales. And the Transaction ID helps Google Ads avoid counting the same order twice, which is what usually happens when a customer reloads the confirmation page. Make sure value is a number without a currency symbol.
How Does This Work on Shopify and WooCommerce?
Shopify stores usually get the cleanest result from Google’s own app, while WooCommerce stores normally run the GTM setup above with a plugin that builds the purchase dataLayer.
Shopify. Google Ads Help calls the Google & YouTube app on Shopify the easiest way to set up conversion tracking. Once you connect your Google Ads account, it suggests purchase, add to cart and checkout started as default conversion actions and maps them to Shopify events. The same article warns about duplicates: if you also track purchases through a custom pixel or old storefront code, set the app’s conversion as Primary and remove the legacy tags. If you need GTM on Shopify for other tools, our Shopify GA4 and Google Tag Manager setup guide covers how that works with Shopify’s customer events.
WooCommerce. Most WooCommerce stores use a plugin that pushes the purchase details into the dataLayer, then build the tag exactly as in Steps 4 and 5 using the purchase event and the value, currency and order ID variables. Check that the event fires once per order and only on the order-received page. Our GA4 ecommerce tracking guide for WooCommerce walks through the dataLayer side in more detail.
How Do You Fix Common Conversion Tracking Problems?
Most faults come from a missing click record, a trigger that never fires, a duplicate tag, or a status that simply hasn’t updated yet.
| Problem | Likely cause | Fix |
| Tag fires, status still Tag inactive | Status not refreshed, or test wasn’t a real conversion | Run Troubleshoot from the status; complete a real test |
| Conversions credited to no ads | Click not stored on landing page | Google tag or Conversion Linker on All Pages |
| Two purchases for one order | No Transaction ID, or app and GTM tag both Primary | Map Transaction ID; keep one Primary action |
| Value shows $0 | Value variable empty | Fix the Data Layer Variable path; send a number |
| Form leads never counted | Trigger set to thank-you URL that doesn’t exist | Use a form success custom event |
| Tag blocked in Preview | Consent defaults set to denied | Accept on the banner, or review consent settings |
| Ads and GA4 numbers differ | Click date vs conversion date; Primary vs Secondary | Compare like for like; see the FAQ |
For a deeper diagnostic walkthrough, see Google Ads conversion tracking not working: how to fix it. If consent is the issue, our Consent Mode v2 setup guide covers the GTM side.
What Should Each Type of Business Track?
Track the action closest to revenue that you can measure reliably, then add the rest as Secondary.
- Home services company (HVAC, roofing, plumbing): Primary = quote form success, counted as “One”. Calls matter just as much, so add call conversions too; our Google Ads call tracking guide covers that setup.
- Online store: Primary = purchase, counted as “Every”, with value, currency and transaction ID. Add to cart and begin checkout as Secondary for insight, not bidding.
- B2B or high-ticket services: Form fills are only the start. Track the lead in GTM, add enhanced conversions for leads, and send qualified leads and closed deals back with offline conversion tracking from your CRM.
Want a second pair of eyes on your setup? Our tracking and analytics team checks conversion tracking as part of a free audit, and our Google Ads management runs on a flat monthly fee, month to month, with no lock-in.
FREE TRACKING AUDIT
Find Out Which Conversions You Are Missing
JuvioX reviews your GA4, Tag Manager and ad platform tracking, then sends a prioritized list of what to fix first. Free, with no obligation.
FAQ
Frequently asked questions
Why does my conversion tag fire in Tag Assistant but Google Ads still shows it as inactive?
The status in Google Ads doesn't refresh the moment a tag fires. Open Goals, then Summary, hover over the status and run Troubleshoot so Google verifies the action through Tag Assistant; Google says verified actions update in about 30 minutes. If it stays inactive, check that the Conversion ID and Label match that exact action and that the tag fired on a real conversion, not just a page view.
Do I need a Conversion Linker tag on every page?
Only if your container doesn't already load a Google tag on every page. Google's Tag Manager help says the Google tag covers the same job, storing ad click information in first-party cookies. Without either one on the landing page, conversions can't be tied back to the click.
How do I track a form that has no thank-you page?
Use a success event instead of a page view. Have the form or a developer push a dataLayer event such as generate_lead when the submission succeeds, then fire the Google Ads conversion tag on a Custom Event trigger with that name. Avoid button-click triggers, because they also fire when the form fails validation.
Why does GTM Preview say my tag was blocked by consent when I'm testing in the US?
Your consent banner is most likely setting denied defaults for every visitor, not just regions where consent is required, or you haven't accepted on the banner during the test. Accept in Preview to confirm the tag works, then review the banner's regional defaults.
Do I have to move Google Ads tracking to server-side GTM?
No. Google's Tag Manager help sets up the Google Ads conversion tag in a normal web container. Server-side tagging is an optional upgrade some businesses add for more control over data, but it adds hosting and maintenance, and a clean web setup comes first.
Why are Google Ads conversions different from GA4 or Shopify numbers?
They measure differently. Google Ads dates a conversion to the ad click, GA4 dates it to the day it happened, imports can lag up to 24 hours, and Google Ads only credits conversions that followed an ad interaction. Duplicate Primary actions or a missing Transaction ID can also inflate Google Ads, while consent declines can lower it.
6 sources & references
- Tag Manager Help Google Ads conversions support.google.com
- Tag Manager Help Conversion linker support.google.com
- Google Ads Help Use Tag Assistant to troubleshoot your unverified or inactive conversion actions support.google.com
- Google Ads Help About conversion counting options support.google.com
- Google Ads Help Create conversions from Google Analytics events in Google Ads support.google.com
- Google Ads Help Set up conversion tracking with the Google & YouTube app on Shopify support.google.com
Official pages we checked when writing this article.






