Google Ads Conversion Inactive but Tag Fires in GTM: The Fix
The conversion action in Google Ads says Inactive and records nothing. GTM Preview shows the conversion tag firing green on the thank-you page. Both are true. Preview only proves the tag executed in your browser. Google Ads marks an action Inactive when it never receives hits for that conversion ID and label, or receives hits it cannot match to an ad click.
I debug this setup most weeks. The gap between "tag fired" and "conversion recorded" almost always comes down to one of five causes. Here they are, ranked by how often I find them, plus the order I check them in and how long Ads takes to update after the fix.
The five causes, ranked
- 1. Missing Conversion Linker tag. In a GTM setup, the conversion tag does not store the click ID itself. A separate Conversion Linker tag has to fire on every page to write the gclid from the ad click into the
_gcl_awfirst-party cookie. Without it, the conversion tag fires and sends a hit with no click ID attached. Ads cannot attribute it, so nothing records. This is the most common cause I see on stores that built the container themselves. - 2. Conversion ID or label mismatch. The GTM tag carries an ID (AW-XXXXXXXXX) and a label. If either differs by one character from the action in Ads - copied from an old account, a deleted action, or a second action nobody remembers creating - the hits land on nothing. The action you are watching stays Inactive or Unverified.
- 3. The tag fires on a page real buyers never reach. In Preview you navigate to the thank-you page by hand. Real buyers paying through PayPal, Klarna, or a bank redirect often close the tab at the payment provider and never return to your confirmation URL. The tag is correct; the trigger page has almost no traffic.
- 4. Consent mode is blocking the hit. If your cookie banner denies ad_storage and you run basic consent mode, the tag does not send at all until the visitor accepts. In advanced consent mode it sends cookieless pings, but on a low-traffic store those rarely turn into modeled conversions.
- 5. The action imports a GA4 event, not the Ads tag. If the conversion action's source is Google Analytics (GA4), the GTM conversion tag you are watching in Preview is irrelevant to it. The action only records if the GA4 event fires, is marked as a key event, and the GA4 property is linked to the Ads account.
Diagnosis order - do these steps in sequence
Each step rules out one cause. Stop at the first failure you find.
- Step 1 - check the action's source. In Google Ads open Goals, then Conversions, and click the action. If the source says Google Analytics (GA4), skip to step 6. If it says Website (the Ads tag), continue.
- Step 2 - read the fired values in Tag Assistant. Run GTM Preview (Tag Assistant), complete the real flow, click the fired conversion tag, and read the resolved Conversion ID and Conversion Label. Do not trust what the tag template shows at rest - variables can resolve to the wrong value at fire time.
- Step 3 - compare character by character. In Ads, open the action's tag setup and compare the ID and label against what Tag Assistant showed. One wrong character is enough.
- Step 4 - browser network tab. Open DevTools, Network tab, filter for
pagead/conversionorgoogleadservices. Confirm a request with your conversion ID in the URL path actually leaves the browser and returns 200 or 302. Find thegcsparameter in that request:gcs=G111means consent granted,gcs=G100means ad_storage denied. If you see G100, consent mode is your problem. - Step 5 - Conversion Linker check. Load your site with a fake click ID appended:
https://yourstore.com/?gclid=TeSter-123
Then open DevTools, Application, Cookies, and look for_gcl_awcontaining TeSter-123. If the cookie is missing, the Conversion Linker tag is missing or not firing on all pages. - Step 6 - GA4 path only. Open GA4 DebugView and confirm the event arrives with the expected name while you run a test session. Then confirm the Ads link exists under GA4 Admin and the event is marked as a key event. Any break in that chain and the imported action records nothing, no matter what GTM does.
- Step 7 - reach check. Compare order count in your store backend against page views of the confirmation URL in GA4 for the same period. A large gap means buyers are not returning from the payment provider, and your trigger page is the problem.
One nuance worth knowing: if the status reads No recent conversions instead of Inactive or Unverified, hits are arriving but attribution is failing. That points at the Linker or consent, not at an ID mismatch.
The fixes
- Linker missing: add one Conversion Linker tag in GTM with the trigger Initialization - All Pages. One tag covers the whole container. Publish, then repeat the TeSter-123 cookie check.
- ID or label wrong: in the Ads action, open tag setup, choose the Google Tag Manager option, and copy the ID and label straight into the GTM tag fields. Do not retype them.
- Trigger page unreachable: the durable fix is server-side - fire the conversion from the payment webhook (for example Stripe's checkout.session.completed) through server-side GTM or the Google Ads API, so recording no longer depends on the buyer's browser coming back. The lighter fix is moving the tag to the platform's native order-received page and enabling auto-return at the payment provider.
- Consent blocking: implement Consent Mode v2 correctly through your CMP, then verify in the network tab that
gcsflips to G111 after you accept the banner. And clear your own stored denial before testing - I have watched people debug a tag for an hour while their own browser was the one denying consent. - GA4 import problems: for the primary purchase conversion I use the Ads tag, not a GA4 import. It reports faster and attributes on Google's ad click data directly. If you keep the GA4 import, fix the link and the key event flag, and remove one of the two from Primary so you do not double count.
How long until the status changes
After Ads receives its first valid, attributable conversion, the count usually appears within about 3 hours. Give any fix a full 24 hours before you conclude it failed. GA4-imported conversions add another 24-48 hours because GA4 processes and attributes the event before exporting it to Ads.
Two things trip people up while waiting. First, the status column lags behind reality - the action can already be recording while the label still reads Inactive, so watch the conversion count, not the status. Second, Ads reports conversions against the date of the ad click, not the date of the purchase. If you check today's column for a conversion from a click three days ago, you will not find it there.
The definitive end-to-end test is a real ad click from a clean browser followed by a small test order. A fake gclid verifies cookie storage, but Ads discards click IDs it did not issue, so only a real click proves the full chain.
Numbers still don't add up?
Tell my assistant what you see and I will reach out to you directly. Every rated job on Upwork is 5.0, check them live.
FAQ
How long does it take for a Google Ads conversion to show up after fixing the tag?
Most website conversions from the Ads tag appear within about 3 hours, and Google allows up to 24. GA4-imported conversions take 24-48 hours longer because GA4 processes the event first. Remember that Ads dates the conversion to the ad click, not the purchase.
Does the tag firing in GTM Preview mean the conversion was tracked?
No. Preview only confirms the tag executed in your browser. It says nothing about whether the request reached Google, whether the ID and label matched an action, or whether a click ID was attached for attribution. Check the network request and the Ads conversion count.
Do I need the Conversion Linker tag if I use gtag.js instead of GTM?
No. The Google tag (gtag.js) stores click IDs in first-party cookies on its own. The separate Conversion Linker tag is a GTM requirement. Cross-domain checkout flows need linker domain configuration in either setup.
Can I test Google Ads conversion tracking with a fake gclid?
Partially. Appending ?gclid=TeSter-123 to your URL and checking for the _gcl_aw cookie verifies that the Conversion Linker stores click IDs. But Ads discards click IDs it did not issue, so no conversion will record. The full proof is a real ad click plus a small test order.
Want it checked by professionals?
Seven days of platform conversions next to your real orders is enough for us to name the likely cause. No charge, usually under an hour.