DEV Community

Fireshift
Fireshift

Posted on Originally published at fireshift.ai

Why is my Google Ads conversion firing on every page?

Short answer: Usually the GTM conversion tag fires on All Pages (or Page View / DOM Ready), or on a page view of a page most visitors load, instead of a success event. Of 886 sites with Google Ads conversions we read on 5 Nov 2026, 4.7% (42) had one on All Pages and 23.3% (206) on a plain page view of a page that isn't a success page. Fix: set the action to secondary, then move the tag to the success event.

How common is a conversion on every page?

Base: 1,727 sites read on 5 Nov 2026, 886 with a Google Ads conversion we could read.

Trigger on a Google Ads conversion All 886 Ads sites 684 B2B SaaS Ads sites
All Pages (fires on every page load) 4.7% (42) 4.2% (29)
Plain page view of a page that isn't a success page 23.3% (206) 25.3% (173)
Either one 26.6% (236) 28.5% (195)

In those 206 sites' page-view triggers, the path words we saw most were demo (36 sites; book-a-demo counts), then signup (21), pricing (20) and contact (18). A visit to /demo is not a booked demo. Which pages these rules match, and the fix for each.

Method: a static read of the published containers on the homepage, /pricing, /signup and /demo. No browser, no forms (corrections). Primary or secondary can't be seen from outside.

How do I check my own site?

  • Chrome DevTools, Network, filter on pagead or googleadservices.

  • Load home, a blog post and pricing. Don't sign up.

  • A /pagead/conversion/AW-…/?label=… request there is a conversion nobody earned. Note the label.

  • In Google Ads, Goals, Conversions, find that label: is it Primary?

The free scan flags both.

Why does a conversion fire on every page?

Cause What the tag or trigger shows
Wrong trigger All Pages, often copied from the Conversion Linker or Google tag.
The page, not the result "Page URL contains signup" (or demo, contact). Fires when the form loads, not when it is sent.
Thank-you rule too loose "URL contains /" or a loose regex.
Single-page app History Change trigger with no path condition: every route change counts.
Two tags for one action A gtag snippet plus a GTM tag, or two containers, firing on load. See duplicate conversions.
Page-load action made in Google Ads No GTM tag: a too-broad URL rule on the action in Google Ads.
Remarketing mix-up A conversion tag where a remarketing tag was meant.

Leave the Conversion Linker and Google tag on All Pages.

Why does my conversion fire on a route change?

On a single-page app (Next.js, React) GTM's History Change trigger fires on each URL change. On 8 Nov 2026, 29 of 878 (3.3%) sites with an Ads tag in GTM fired a conversion on it.

The History Change conversion waits for Sites
A thank-you or success route (fine) 13
A route seen before acting, 3 on any route 11
A mid-form step 4
Unclear 1

Check the trigger's Page Path or New History URL condition: none, contains / or contains /pricing counts visits. Fire on the form's success event instead.

What does it do to Smart Bidding?

Smart Bidding bids on primary actions. A conversion most visitors trigger makes CPA look low and pushes spend to the cheapest traffic. On a secondary action it only skews reports.

How do I fix it?

  • In Google Ads, set the action to Secondary now. Bidding stops using it; history stays.

  • In GTM, move the tag to the real success event: a form success event, a sign_up dataLayer event, or a thank-you page with an exact path. What the scan flags.

  • Publish. Check in GTM Preview that it fires only after a real signup.

  • Reported conversions drop and CPA rises: it was understated. Bidding needs 1 to 2 weeks to relearn.

Step by step: fix a page-view conversion.

Timer or scroll? No conversions at all?

Updated 8 Nov 2026: route-change section. 6 Nov: a third shorter. Data: our study data (all_pages, pageview_url), scanned 5 Nov 2026. First published 4 Nov 2026. Method.

FAQ

Can you see if it's primary or secondary from outside?

No. It's a setting in your Google Ads account; we see the tag and its trigger. Check Goals, Conversions.

It's set to secondary, so is it fine?

It isn't steering bidding. It still shows in All conversions, reports and any custom goal that includes it. Fix the trigger so nobody makes it primary later.


Originally published on fireshift.ai. We built Fireshift, a free scan that reads what a site sends to Google Ads and GA4 from the outside.

Top comments (0)