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.
_gcl_aw first-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.Each step rules out one cause. Stop at the first failure you find.
pagead/conversion or googleadservices. Confirm a request with your conversion ID in the URL path actually leaves the browser and returns 200 or 302. Find the gcs parameter in that request: gcs=G111 means consent granted, gcs=G100 means ad_storage denied. If you see G100, consent mode is your problem.https://yourstore.com/?gclid=TeSter-123Then open DevTools, Application, Cookies, and look for
_gcl_aw containing TeSter-123. If the cookie is missing, the Conversion Linker tag is missing or not firing on all pages.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.
gcs flips 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.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.
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.
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.
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.
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.
I diagnose and repair conversion tracking for a living - client-side and server-side, on Shopify, WooCommerce, and custom stacks. If you would rather have this fixed than fix it, email work@rytisbalys.com.
work@rytisbalys.com