The short answer
The Google Tag Manager Conversion Linker reads the gclid from your landing page URL and saves it in a first-party cookie, so your Google Ads conversion tag can tie the sale back to the click. Add it as a Conversion Linker tag on the All Pages trigger, publish, and check for the _gcl_aw cookie.
DataCops is a tool that does the ad-conversion job without a container, warehouse or plugin: one script and one DNS record on your own domain, a bot verdict on every visit with a Real people only switch per ad platform, the real sale from your CRM or Shopify sent back to your ads, new campaigns warmed up with the customers you already have, and a log of every send.
How DataCops does it:
- First-party collection, no extra tool. One script and one DNS record put collection on your own subdomain; with your DNS on Cloudflare, the free Worker reads the click at the edge before the page loads. Click IDs are kept on the server for up to 90 days.
- Real people only. Every visit gets a bot verdict against 360+ billion IPs and 350+ monitoring points, with a Real people only switch per ad platform, off by default. Every form email is checked for disposable providers, domains with no mail server and an email risk score.
- The sale after the form. HighLevel natively (lead, booked, showed, won with value, paid), any CRM by webhook, Shopify through the DataCops Shopify app, all matched to the click by click ID or hashed email and phone, and sent to Meta, Google Ads, TikTok and LinkedIn.
- Ads Warmup. Upload your existing customers (up to 20,000 rows), see a 0 to 10 match score per person, and send them to Meta, Google Ads and TikTok so new campaigns start warm.
- Consent, memory and proof. A TCF 2.2 consent banner from your domain with Google Consent Mode v2 on by default, a server-set cookie up to 400 days where enabled, and a delivery log row for every send, counted once against the pixel.
Best for: teams who want better ad conversions without building or maintaining the pipe: lead gen, ecommerce, clinics, home services, B2B and agencies.
- Trigger: All Pages. Never a single URL.
- Proof it works: a _gcl_aw cookie after landing on a URL with a gclid.
- Where it fails: denied consent, blocked containers, domain hops, auto-tagging off.
The conversion with no click
Picture this. A roofing company runs Google Ads. A homeowner clicks an ad on Monday, browses, leaves. On Thursday they come back from a bookmark and fill in the quote form.
The thank-you page fires the Google Ads conversion tag. Google receives it. But the tag has nothing to tell Google about Monday's click, because the gclid was in Monday's URL and nobody wrote it down.
So the conversion lands in no campaign. Smart Bidding learns that the ad which produced a real job produced nothing.
A conversion without its click ID is not a conversion to Google. It is a rumour.
The real cost of a cheap tool
Cheap tracking that is handled badly costs far more, because the bill arrives in what your ads learn.
- Bots forwarded as buyers. A forwarder sends what reaches it. Junk conversions teach the platform to find more junk.
- The sale that never gets sent. A booked call, a phone order or a won deal happens outside the store or the page. Most tools never see it.
- The limit you hit on your busiest day. Hosts and apps cap requests, events or orders, and sending can pause or stop over the limit.
- The build and the upkeep. Containers, plugins and automations need someone to build them and fix them when a platform changes.
The tracking is 0.17 percent of your spend. If one in five of the conversions your ads learn from is a bot or a fake lead, a fifth of the learning signal points at the wrong people, across the other 99.83 percent of the budget.
Cheap tracking is the cheapest line on the bill and the most expensive one to get wrong.
Tools for conversion linking
| Tool | Best for |
|---|---|
| DataCops | Ad-funded teams who want clean conversions from one script |
| Google Tag Manager | Browser tags you manage yourself |
| Stape | Cheap hosted server GTM, if someone owns the container |
| Server-side GTM, self-hosted | Engineering teams who want full control |
| Hand-built integration | Teams with an engineer to maintain it |
When not to use DataCops
- You need custom tag logic or non-ad destinations. DataCops sends to ad platforms and is not a Google Tag Manager container. A hosted server container gives full control, if someone owns it.
- You want a reporting dashboard. DataCops fixes what goes into your ads. It does not replace the reports you already read.
Ads Warmup: tell the ads who pays
Google Tag Manager conversion linker forwards what your site or store produces. A new ad account, pixel or campaign has nothing yet, so it pays to learn from scratch. That is a job a pipe cannot do, because the customers you already have never visit on command.
Ads Warmup, DataCops' flagship feature, sends them to your ad platforms before a campaign spends:
- Upload a customer list. A CSV of past buyers, old leads or booked calls. DataCops reads your columns; only email is required.
- See a match score for every person. An estimate from 0 to 10 from email, phone, name, location, click ID and customer ID, before anything is sent.
- Pick the event. Purchase, Lead, Complete registration, Add to cart or Schedule.
- Send server-side. Up to 20,000 people per upload to Meta, Google Ads and TikTok, with a sent, skipped or failed result per person. Google Ads credits only people who clicked a Google ad.
Each row is dated when you press send, not with the old sale date, so it gives a new campaign real customers to learn from on day one. Preview is free; sending needs a paid plan.
What else a pipe never does
- Capture at the edge. With DNS on Cloudflare, the free, optional DataCops Cloudflare Worker reads click IDs and UTMs off the first request, before the page or any script runs. It captures; it does not block.
- Keep the click on the server. gclid, wbraid, gbraid, fbclid, ttclid and li_fat_id are stored for up to 90 days, so a deal that closes weeks later still finds its click. A signed server-set cookie lasts up to 400 days where enabled.
- Check the lead's email. Fixed rules, not guesses: disposable providers, domains with no mail server and an email risk score. With LeadCops (Business and up), a lead that fails is held and never billed.
- Install on Shopify. The DataCops Shopify app adds a web pixel and a theme app embed, so every paid order reaches your ads, express checkouts included. See Shopify Conversions API.
- Hand evidence to Google. On the Organization plan, the fraud refund report exports bot-flagged Google Ads clicks in the format Google's Click Quality form asks for. You attach it; Google decides.
What does the Conversion Linker do?
It writes the click ID down. One job, and every Google Ads conversion depends on it.
With auto-tagging on, Google Ads adds ?gclid=... to every ad click. The Conversion Linker reads that value on landing and stores it in a cookie on your own domain, _gcl_aw. When a conversion tag fires later, on any page, it reads the cookie and sends the click ID with the conversion.
Without the linker
The gclid lives only in the landing URL. The moment the visitor clicks to a second page, it is gone.
With the linker
The gclid sits in _gcl_aw for days. Conversions on later pages, or later visits in the same browser, still carry it.
How do I set up the Conversion Linker in GTM?
Six steps. Do them in the web container, not a server container.
- Open Tags. In your GTM web container, go to Tags, then New.
- Pick the tag type. Tag Configuration, then Conversion Linker. It sits in the built-in list.
- Leave the options alone, mostly. For one domain, keep "Enable linking across domains" off. If your landing page and checkout live on different domains, turn it on and list both under Auto Link Domains.
- Set the trigger to All Pages. Any page can be a landing page: the homepage, a blog post, a product page. If you want it guaranteed first, use Initialization - All Pages.
- Name it plainly. "Conversion Linker - All Pages". The next person to open the container should know what it does without clicking in.
- Preview, then publish. Test first (next section), then Submit with a version note.
One trap: the linker must fire before or with your conversion tag. On a single-page app where the form submits without a page load, that is only true if the linker fired on the original page view. All Pages handles it.
How do I know it works?
Look for the cookie. Nothing else proves it.
- Start Preview and load a landing page with a fake click ID on the end:
?gclid=test123. - In Tag Assistant, the Conversion Linker should appear under Tags Fired on the first event.
- In Chrome DevTools, go to Application, then Cookies, then your domain. Filter for
_gcl. - You should see
_gcl_awwith a value ending in your test ID. No cookie, no linking.
Where does the Conversion Linker break?
The tag almost never fails in Preview. It fails for real visitors, and it fails without an error.
| Cause | What you see | Fix |
|---|---|---|
| Auto-tagging off | No gclid in ad URLs at all | Google Ads, Admin, Account settings, turn on auto-tagging |
| Consent denied | Linker fires, no _gcl_aw | Expected under consent mode. Turn on URL passthrough so the gclid rides along in links |
| Domain hop | Cookie on site A, conversion on site B | Enable linking across domains, list both |
| Container blocked | Nothing fires, nothing logged | Stop depending on a browser script to report the sale |
The last row is the one Preview will never show you. The linker lives inside the GTM container, loaded from googletagmanager.com. Ad blockers and some privacy browsers block that file. When the container never loads, the linker never runs and the conversion tag never runs either. Google hears nothing, and your reports look complete because they cannot show what they never saw.
The other quiet failure is time. Plenty of sales close after the form: a phone call, a signed quote, a payment a week later. No browser tag is on the page when that happens.
The linker keeps the click ID. It cannot send the sale your browser never saw.
Fixing the root cause
Set up the linker anyway. Then move the part that matters, telling Google about the conversion, off the visitor's browser.
DataCops is the tracking solution for ad-funded businesses: it keeps bots out of what your ads learn from and sends the sale that happens after the form to Meta, Google Ads, TikTok, LinkedIn, Microsoft Ads, Reddit, Pinterest and X.
In practice: you connect Google Ads in one click. DataCops keeps the click ID with the visit on your side, and sends conversions server-side. When a lead becomes a sale in your CRM, that sale is matched back to the click by click ID or by hashed email and phone, and sent to Google Ads. If the pixel and the server both report the same event, they are deduplicated by event ID and counted once.
Every conversion has a row in the delivery log: sent, held, skipped or failed, with the reason. So when a number looks off, you read why instead of guessing. Bots flagged on the visit can be held back, so Smart Bidding is not trained on form fills from scripts.
Read more on Google Ads conversion tracking, Google Ads offline conversions, and why teams without a GTM specialist use a Google Tag Manager alternative. If consent is what drops your cookies, see the first-party consent manager, IAB TCF v2.2, served from your own domain.
The checklist
- Auto-tagging on in Google Ads.
- Conversion Linker on All Pages in the web container.
- Cross-domain linking if checkout lives elsewhere.
- URL passthrough if you use consent mode.
_gcl_awconfirmed in DevTools after a test gclid.- Server-side conversions for the sales that happen after the form, matched to the click.
FAQ
Can I warm up a new campaign with my existing customers?
Yes, with DataCops Ads Warmup. Upload a CSV of customers (only email is required, up to 20,000 rows), see a 0 to 10 match score for each person, and send them to Meta, Google Ads and TikTok, dated when you send. Google Ads credits only people who clicked a Google ad.
Do I need the Conversion Linker if I use the Google tag?
The Google tag stores click IDs itself when it loads on the page. Inside GTM, the Conversion Linker tag is how you make sure that happens on every page before your Google Ads tags fire. Adding it costs nothing, so add it.
What trigger should the Conversion Linker use?
All Pages, or Initialization - All Pages if you want it first. Any page can be a landing page, so a narrower trigger loses clicks.
What cookie does the Conversion Linker set?
The main one is _gcl_aw, which holds the Google Ads click ID. You will usually also see _gcl_au. Both live on your own domain.
Why is _gcl_aw missing after I added the tag?
Usually one of four things: the test URL had no gclid, consent for ad storage was denied, the container was blocked by the browser, or auto-tagging is off in Google Ads. Check them in that order.
Does the Conversion Linker work across domains?
Only if you turn on linking across domains and list the domains. Without it, the click ID stays on the first domain and the checkout domain never sees it.
Does it help Meta, TikTok or LinkedIn?
No. It only handles Google click IDs. Each platform has its own click ID and its own way of receiving conversions.
Can a server-side setup replace it?
Server-side delivery does not remove the need to capture the click ID. It changes where the conversion is sent from, so a blocked browser script no longer decides whether Google hears about the sale.