Missing Google Ads Conversion Linker
Your container is missing the Conversion Linker. Every Google Ads conversion on the site is firing without the GCLID. Whenever the click lands on one page and the purchase happens two pageviews later (basically always), the click context is gone. Google still counts the conversion. It just can't tell you which ad caused it.
Why It Matters
The chain looks like this. Someone clicks an ad. Google appends `?gclid=abc123...` to your landing URL. The Conversion Linker reads that `gclid` and writes it into a first-party cookie called `_gcl_aw`. The user browses, adds to cart, buys. Your Google Ads conversion tag fires on the order-confirmation page, pulls the GCLID back out of `_gcl_aw`, and sends the conversion with that ID attached. Google matches it back to the original click. Without the Conversion Linker, the cookie never gets written. The conversion tag still fires fine on the confirmation page, but the GCLID is gone, so the conversion lands at Google with nothing attached. Your dashboards keep populating off junk signal. Smart Bidding keeps optimizing off the same junk. Nothing tells you it's broken until reported ROAS stops matching the bank account. The longer the gap between click and purchase, the worse the bleed. A B2B funnel with a 30-day sales cycle loses almost all attribution. A multi-page checkout loses a chunk on every order. The conversion tag itself is healthy the whole time, so the dashboard looks normal. The damage shows up in reconciliation, months after you could have caught it.
- GA4 ConfigurationType: GA4 ConfigurationFires: All Pages
- Google Ads. Purchase ConversionFires without _gcl_aw set. GCLID lost.Type: Google Ads Conversion TrackingFires: purchase_success
- Google Ads. Lead ConversionSame. Lead reported without source attribution.Type: Google Ads Conversion TrackingFires: form_submit
- Google Ads. RemarketingAudience builds, but on degraded identifiers.Type: Google Ads RemarketingFires: All Pages
Coloured rows show the configuration AdLint flags.
How To Fix It
- In GTM, hit New Tag, pick "Google Ads Conversion Linker."
- Trigger: All Pages.
- Multi-domain funnel (payment processor on a different domain, Shopify checkout, anything cross-host)? Open Linker Settings, turn on auto-link domains, paste every domain that appears in a real conversion path. Yes, the payment processor counts.
- Hit Preview. Load any page. Confirm the linker shows up in the Tags Fired panel.
- Publish. The finding clears on the next AdLint run.
- Google Ads. Conversion LinkerNew tag. Writes _gcl_aw before any conversion fires.Type: Conversion LinkerFires: All Pages
- GA4 ConfigurationType: GA4 ConfigurationFires: All Pages
- Google Ads. Purchase ConversionType: Google Ads Conversion TrackingFires: purchase_success
- Google Ads. Lead ConversionType: Google Ads Conversion TrackingFires: form_submit
Green rows show the corrected state after the fix.
Example
Tag type: Google Ads Conversion Linker
Trigger: All Pages
Auto-link domains: example.com, checkout.example-payments.comThis GTM container is missing the Google Ads Conversion Linker tag. Per Google's Tag Manager documentation, the Conversion Linker is required for Google Ads conversion tags to preserve ad click identifiers across pageviews. Without it, conversions on this site report without the GCLID that ties them back to the originating ad click. The effect is Smart Bidding optimizing on incomplete signal, and ROAS reports that diverge from actual revenue. Fix: add the Conversion Linker tag on the All Pages trigger and verify it fires before any downstream conversion tag. Source: support.google.com/tagmanager/answer/7549390.
Drop this paragraph into your client deliverable. Sources back to the canonical platform documentation linked below.
References
Audit your own files for this check
AdLint runs this check (and 177 others) against your GTM, Google Ads, Meta, TikTok, LinkedIn, Pinterest, Twitter/X, and Snapchat exports. Everything stays in your browser. No uploads, no accounts.
Run a free audit