Fireshift / Guides

Duplicate Google Ads conversions in GTM: how to find them

By the Fireshift team · Updated 2026-11-04

Short answer

A Google Ads conversion gets counted twice when the same label sits on two tags that can fire for one action, or when one trigger fires two or more labels in the same Ads account and more than one of them is primary. On 4 Nov 2026 we read the public GTM containers of 203 B2B SaaS sites that run Google Ads conversion tags: 61 (30.0%) had one of the two patterns. Check it in GTM Preview: submit your own form once and count the Google Ads tags that fire.

What we found in 203 containers

On 4 Nov 2026 we fetched the homepage, /pricing, /signup and /demo of 312 B2B SaaS sites, then read every public GTM container they load. 309 sites were left after removing sister domains that serve the same containers. 203 had at least one Google Ads conversion tag. We compared triggers by their exact compiled conditions, and treated the AW- number as the Ads account.

PatternSitesShare of 203
Same label on 2+ tags209.9%
  both tags in one container157.4%
  in two containers, or GTM plus a hardcoded gtag snippet73.4%
One trigger fires 2+ labels in the same Ads account4924.1%
One trigger fires labels in different Ads accounts only2411.8%
Same label twice, or one trigger firing 2+ labels in one account6130.0%

A site can show more than one pattern. Of the 49 sites where one trigger fires several labels in one account, the trigger was a custom dataLayer event on 37, a page load limited to a URL on 12, and a click on 5.

Pattern 1: the same label on a form event and a thank-you page

One B2B SaaS site in the sample has a single Ads label on two tags in the same container:

Tag A  AW-•••••••••/••••7d  trigger: event equals hubspot-form-success
                                 and form ID equals (one demo form)
Tag B  AW-•••••••••/••••7d  trigger: page load, URL contains /request-a-demo/thanks

If that demo form sends people to that thank-you page, every demo request fires the label twice: once on submit, once on the page load. Google Ads does not merge them unless the action counts "One" per click or both hits carry the same transaction ID.

Fix: keep one trigger. The form success event is usually the better one, because a thank-you page can be reloaded, bookmarked or shared.

Pattern 2: two tags with overlapping triggers

Another site has two tags with the same label. One fires on a custom event (call it trial_submitted). The other fires on the same event, but only when the URL contains /free_trial_created. On that URL both conditions are true, so both tags fire for one trial.

Fix: delete the narrower tag, or add an exception so the two can never match the same event.

Pattern 3: one trigger, several labels, one account

This is the big one by count: 49 of 203 sites. Real triggers we saw: one hubspotFormSubmitted event firing 7 Ads labels, a Registration event firing 6, a Billing Payment event firing 4. Each label is its own conversion action in Google Ads.

That can be fine. A common setup is one primary action plus a few secondary ones for reporting. It turns into double counting when two or more of those actions are primary. Google Ads reports primary actions in the Conversions column and uses them for bidding (Google Ads Help: primary and secondary actions), so one form fill shows up as 2, 4 or 7 conversions there.

Changing the count setting won't merge them. "One" means one conversion per ad click per action. Google's own example: one person fills in 3 auto-insurance forms and 2 home-insurance forms, and "One" reports 2 conversions, one per action (Google Ads Help: conversion counting options).

Fix: in Google Ads, Goals, Conversions, find every action that shares the trigger. Keep one primary per real business step and make the rest secondary.

A variant worth a look: on some sites the shared trigger was a cookie banner event such as consent_accepted_advertising, which fired up to 5 labels. Accepting cookies is not a lead.

Pattern 4: the same label in two containers

7 sites had a label in two GTM containers, or in GTM and again in a gtag snippet in the page source. If both load on the same page and both fire on the same action, that's a double count. Check whether one of the containers is left over from an older setup.

Fix: pick one container as the owner of Ads conversions and remove the tag from the other.

Not a duplicate: two accounts on one trigger

24 sites (11.8%) had triggers that fire labels in different Ads accounts only. That's usually deliberate: a brand account and a regional account, or an old and a new account during a move. Each account counts once. Only clean it up if one of the accounts is dead.

Check your own site in 5 minutes

  1. Open GTM, click Preview, and load your site in the Tag Assistant window.
  2. Submit your own demo or signup form once, as a real user would, with a test address. Follow it through to the thank-you page.
  3. In Tag Assistant, click each event in the left column (the form event, then the thank-you page load) and list the Google Ads Conversion Tracking tags under Tags Fired.
  4. Write down each tag's conversion label. The same label twice is pattern 1, 2 or 4. Several labels with the same conversion ID is pattern 3.
  5. No GTM access? Open DevTools, Network, filter on your AW- number without the prefix, submit the form, and count the requests with label= in the URL.
  6. Take the labels to Google Ads, Goals, Conversions, and check which actions are Primary.

Stop it from happening again

  • One step, one primary action. Before adding a label to an existing trigger, check what that trigger already fires.
  • Send a transaction ID. Google Ads drops the second of two conversions for the same action with the same transaction ID (Google Ads Help: transaction ID). For lead forms we use the submission or lead ID your form tool returns. Google says the ID must be unique per conversion and must not contain anything that identifies a person, so no email addresses.
  • Don't import the same step twice. A GA4 key event imported into Google Ads plus an Ads tag on the same step is another way to count twice. See GA4 key events vs Google Ads conversions.
  • Audit after every agency or site change. Copying tags and swapping containers is how patterns 1 and 4 get created. Our GTM audit guide covers the full pass, and the 9-check audit checklist covers what to look at beyond duplicates.

Why our earlier study said 63.8%

Our 449-site study reported duplicates on 63.8% of sites with Ads conversions. That count grouped triggers by a short text summary, which drops regex URLs and extra conditions, so two different triggers could look the same. Run on this new sample, the same loose method gives 66.5%. Matching exact trigger conditions gives 36.0% for "one trigger fires 2+ labels". Drop the cases where the labels sit in different Ads accounts and add same-label duplicates, and it's 30.0%. Use the tighter number.

What we can't see from outside

  • Primary or secondary. That lives inside the Ads account. Pattern 3 is only a double count if two or more of the actions are primary.
  • Count setting. An action set to "One" per click hides some repeat fires of the same label.
  • Whether a form redirects to the thank-you page, or whether two containers load on the same page. We see the tags and triggers, not the click path.
  • Server-side tags, tags loaded by consent tools or non-Google loaders, and GA4 imports into Ads.
  • The sample is hand-picked well-known vendors, skewed to larger companies. It is not random.

FAQ

Will setting the conversion action to count "One" fix duplicates?

Only for the same label fired twice after one ad click. It does nothing when one trigger fires two different actions: "One" is per action, so two primary actions still report two conversions.

Is it wrong to fire several Google Ads labels on one trigger?

No. One primary action plus secondary actions for reporting is a normal setup, and so is firing into two Ads accounts. It's a problem when two or more of the actions are primary for the same step.

Can Fireshift see which of my conversions are primary?

No. Primary and secondary are settings inside your Google Ads account and are not visible from the site. We show the labels that share a trigger or appear twice; you check their status in Goals, Conversions.

Will fixing duplicates drop my reported conversions?

Yes, if two primary actions were counting one step. Reported CPA goes up because it was understated before. Smart Bidding needs some time to relearn after a goal change.

Run all nine checks on your site, free.

Fireshift reads what your site tells Google Ads, GA4 and Meta from the outside. No install, about a minute.

Get my Leak Score

See a sample reportOr have us fix it: Fix Sprint, €1,500