Why is my Google Ads conversion tag not firing?
A conversion tag that never fires almost always has a trigger problem rather than an installation problem: the trigger condition doesn't match the real thank-you URL, the tag is set to fire on a page the customer never reaches, consent is suppressing it, or it sits in a container that isn't published on that page. Confirm the tag exists on the live page first, then confirm the trigger's condition matches the URL a real customer actually lands on — those two checks resolve the large majority.
Free30 minutesNo obligation
Google Ads conversion tag not firing · what breaks
What this looks like when it's happening to you — Google Ads conversion tag not firing
- 01
Tag shows in the container but never in the account
It's configured, it's published, and Google Ads reports no hits received.
- 02
It fires in preview but not in production
Tag Assistant shows it firing perfectly and real customers produce nothing.
- 03
It fires on some orders only
Certain payment methods or certain devices produce conversions and others silently don't.
Google Ads conversion tag not firing · the fix
What changes once it's fixed — Google Ads conversion tag not firing
The tag fires on every real order
Verified on a live purchase through each payment path you actually offer, not just the default one.
It stops firing when it shouldn't
No firing on refreshes, on direct visits to the confirmation URL, or on failed payments.
You get the trigger written down
Documented so the next site release doesn't silently break it again.
Google Ads conversion tag not firing · architecture
Why your conversion data was wrong in the first place
Fixing this specific fault is worth doing. But it is worth understanding why it happened, because the same underlying weakness produces a different symptom every few months — and the reason your conversion data is wrong is almost never the tag itself.
- 1
Your conversion depends on a browser that is being restricted on purpose
A browser-side tag has to survive the page loading, the visitor staying, the script executing and the request leaving. Every one of those is now contested. The order in your database is certain; the browser event reporting it is not, and that gap is where wrong numbers come from.
- 2
Safari caps the cookie your attribution depends on
Intelligent Tracking Prevention limits cookies written by JavaScript to seven days, whatever expiry you set. Any customer who takes longer than a week to decide comes back as a stranger, so the sale is recorded and credited to nobody. A cookie your own server writes in an HTTP response is not subject to that cap — which is the single largest practical difference between browser-side and first-party server-side tracking.
- 3
Ad blockers remove the tag before it can run
A blocked pixel does not error, retry or warn anyone. The visitor buys, the order lands in your store, and no platform ever hears about it. First-party events sent from your own subdomain aren't filtered the same way, because they are not a third-party request.
- 4
Consent banners stop tags, sometimes when they didn't need to
Where consent is genuinely required, losing the event is correct. What is not correct — and what we find repeatedly on US-majority accounts — is an EU-style prior-consent banner applied to every visitor, discarding conversions no law asked you to discard. A server container enforces the real decision at the container rather than hoping each vendor script honours a flag.
- 5
The checkout can end somewhere your tag isn't
Wallets and hosted payment pages can be abandoned after the money moves. The customer paid; the confirmation page never rendered; the browser event never fired. Sending the purchase from the order record instead means the conversion arrives whether or not anyone came back to your site.
- 6
What that adds up to
Each of these is a separate route to google ads conversion tag not firing, and they compound. First-party server-side tracking doesn't patch them one at a time — it moves the money event off the browser entirely, so the order in your backend is what gets reported. That is why we reconcile against your own order records and put 95%+ accuracy in writing: with the event sourced from the order, the number is checkable rather than hopeful.
Google Ads conversion tag not firing · normal or broken
Some of this is supposed to happen — Google Ads conversion tag not firing
Half the time nothing is broken and the number is being read wrong. Knowing which is which stops you paying to fix something that was never a fault.
Normal, not a fault
The tag doesn't fire on a page refresh
If a guard is in place, that's correct behaviour — it prevents one order counting several times.
It doesn't fire on failed payments
An abandoned or declined payment isn't a conversion, and shouldn't produce one.
Actually broken
Trigger condition doesn't match the live URL
A 'contains /thank-you' rule against a real URL of /checkout/complete. Correct tag, condition never true.
Container not published to that page
The confirmation page is served by a different template or a hosted checkout the container never loads on.
Consent suppressing the tag
Defaults arriving after the first tags fire means the tag is blocked before it has a chance.
Customer never reaches the page
A payment redirect that can be abandoned after payment means the page renders for some buyers and not others.
Google Ads conversion tag not firing · diagnose
How we find out why is my google ads conversion tag not firing
Always in this order. Each step eliminates a class of cause, so by the last one there is usually a single explanation standing.
- 01
Confirm the tag exists on the live confirmation page
View source on a real post-purchase URL. If the container isn't there, the trigger is irrelevant.
- 02
Capture the real confirmation URL
Complete an actual order and record exactly what the address bar says, parameters and all.
- 03
Compare that against the trigger condition
Character by character. This single comparison resolves most cases.
- 04
Test with consent denied and granted
Watch whether the request is suppressed rather than absent.
- 05
Repeat through every payment method
Card, wallet and any external provider each redirect differently.
- 06
Reconcile a closed window
Backend orders against Google Ads conversions, matched on order ID.
Google Ads conversion tag not firing · prove
How we prove it's actually fixed — Google Ads conversion tag not firing
The tag firing again proves the tag fires. These prove the numbers are right.
Source of truth
Your store or payment processor order records
- Tag confirmed firing on a live order through every payment method offered.
- Confirmed NOT firing on refresh, on a direct visit to the confirmation URL, or on a failed payment.
- Reconciled against your store or payment processor order records for a fully closed window, matched on ID rather than on totals.
- No record counted twice, checked across the whole window rather than spot-checked.
- The same check repeated 30 days later, because a fix that holds once and drifts is the harder failure to catch.
Google Ads conversion tag not firing · free audit
What we check in the free audit
- Confirm the tag exists on the live confirmation page
- Capture the real confirmation URL
- Compare that against the trigger condition
- Test with consent denied and granted
- Repeat through every payment method
- Reconcile a closed window
Checked against
Your store or payment processor order records
Free30 minutesNo obligation
Google Ads conversion tag not firing · when not to buy
When you don't need us for this — Google Ads conversion tag not firing
Most of these you can do yourself, and we would rather you did.
- You can complete one test order and compare the URL to your trigger — that's the whole diagnosis for most accounts.
- Your checkout is stock and unmodified on a mainstream platform. The native integration usually gets this right.
- Low spend, single payment method, no consent banner. The surface area is small enough to work through yourself.
Google Ads conversion tag not firing · what we deliver
What we do about it — Google Ads conversion tag not firing
Trigger rebuilt against the real URL
We capture the confirmation URL a live customer actually reaches — including any parameters — and build the trigger to match that, not a guess.
Backend order event added
The authoritative conversion moves to your order record, so it fires even when the browser path is interrupted.
Consent ordering fixed
Defaults set before any tag can run, region-scoped, so the tag isn't suppressed for people who never needed to consent.
Pricing
Pick the package that fits your ad spend
Browser-side starter
$400One-time fee · lifetime ownership
We fix the fault in your existing browser-side setup and verify it on a live transaction. Honest disclosure: this repairs what you have, it does not make it durable. If you spend $1K+/month on paid media, the fault will recur the next time Safari, a consent banner or a checkout change moves under you — the server-side tier is what stops that.
- Root cause found and fixed, not worked around
- Verified on a live transaction, not in preview
- Reconciled against your own order records
- Written handover documenting what changed and why
1st-party server-side
Recommended$800One-time fee · most popular
The tier that removes the whole class of failure rather than this instance of it. Your money events stop depending on the browser: they are sent from your order records through a first-party server container on your own subdomain, so iOS, ad blockers, consent banners and interrupted payment redirects can no longer take them away. Built in 2–4 days. You own the stack outright — no monthly SaaS.
- First-party server container on your own subdomain
- Purchases sent from your order records, not the browser
- Meta, Google, TikTok, Microsoft and LinkedIn all fed server-side
- Deduplicated on a shared event ID, verified at every destination
- First-party cookies beyond Safari's 7-day cap on JavaScript-set cookies
- 95%+ conversion accuracy and 8+ Meta EMQ, guaranteed in writing
Full 1st-party stack
$1,800One-time fee · lifetime ownership
Every paid-media channel server-side, end to end, plus the offline loop. For advertisers whose spend makes an attribution leak more expensive than the build. Pay once, own everything.
- Everything in 1st-party server-side
- Pinterest, Snapchat, Reddit and LinkedIn CAPI
- CRM and offline conversion loop, so closed revenue reaches bidding
- Refunds and cancellations reversed at every destination
- Klaviyo identity stitching, BigQuery and Looker Studio
- Monitoring, so the next break surfaces in days rather than a quarter
FAQ
Google Ads conversion tag not firing questions, answered
Preview runs without a consent banner, usually without ad blockers, and often on a different browser and URL than a real customer. Those three differences cause most preview-passes-production-fails cases.
The container should be. The conversion tag itself should fire only on the event that means a sale.
It's the weakest option. A page view can be triggered by a refresh, a bookmark or a direct visit. Firing from the order record is far more reliable.
Send a transaction ID with every conversion. Google deduplicates on it, so a refresh can't produce a second count.
More on Google Ads conversion tag not firing
Free · 30 min
Get google ads conversion tag not firing diagnosed properly
Free30 minutesNo obligation
