Enhanced conversions for leads plus the click ID in one upload: what do you do when only 15 percent of leads have a GCLID?
Short answer
One row per lead with every key you have. Find out why the GCLID share is low, and test the template for rows without one.
Send both in the same row, one conversion per lead, and let each row carry whatever you have. Rows with a GCLID use it. Rows without one rely on the hashed email or phone. If your upload fails on rows with no GCLID, the problem is usually the template or the column mapping, not the idea.
Why both? The click ID is the strongest link to a specific ad click. Hashed customer details help where the click ID dropped off, such as another device, a blocker or a privacy setting. Google's own guidance recommends sending the click ID together with hashed user data where you can.
But a share as low as 15 percent says something about your capture. Before tuning the upload, find out why the other 85 percent have none. Common reasons: auto-tagging is off, the landing page strips parameters, an embedded form does not receive the URL, leads arrive by phone or chat, or traffic comes from channels that have no GCLID at all.
Check each cause. Click your own ad and see if the parameter is in the URL. Submit a form and check it arrives. Look at how many leads come from sources other than Google ads. A mixed bag of sources is normal, and only the Google ones can have a GCLID.
On the upload itself, use a single conversion action for the stage, and make sure each row has a conversion time after the click, a value if you track one, and consistent formatting of emails and phones. Lowercase and trim emails before hashing, and use digits with a country code for phones.
If rows without a GCLID error out, check Google's current template and documentation for how to import with user-provided data only, and whether you need a separate file or a different column setup for those rows. Test with a handful of rows before a full upload.
Do not stop at the upload. Compare, a week later, how many conversions Google reports with how many you sent. A big gap tells you the matching is weak, and the first thing to improve is the amount of information in each row.
DataCops sends each stage with the click ID where it has one and the hashed email and phone as a second key, so a lead that arrived without a GCLID can still be matched, and its log shows per send whether it went. It does not create a click ID that was never captured.
What is your largest source of leads without a GCLID?
DataCops in short
For this question: DataCops sends each stage with the click ID where it has one and the hashed email and phone as a second key, and logs whether each send went.
DataCops is a tool that makes the ads learn from real sales: it sends booked, showed, won and paid stages from your CRM back to your ad platforms, gives every visit a bot verdict with a Real people only switch per platform, warms up new campaigns with your existing customers, and logs every send. It is not an attribution report.
How DataCops does it
- The sale after the form. HighLevel natively (lead, booked, showed, won with value, paid; cancelled, no-show and lost are never sent), any other CRM through a private webhook, matched to the click by click ID or hashed email and phone.
- The click is kept on the server. Click IDs are stored for up to 90 days, so a deal that closes weeks later still finds its click.
- 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. CRM events carry no bot flag.
- Counted once, logged every time. Pixel and server events share an event ID, and a delivery log shows each send as sent, held, skipped or failed, with the reason.
- One script, one DNS record. Collection runs on your own domain; with DNS on Cloudflare, the free Worker reads the click at the edge before the page loads.
Best for: ad-funded businesses whose sales close in a CRM or on a call: clinics, home services, agencies, B2B and lead gen.
Ads Warmup: tell the ads who pays
Ads Warmup, DataCops' flagship feature, sends customers you already have to Meta, Google Ads and TikTok before a new campaign spends: upload a CSV (only email is required, up to 20,000 rows), see a 0 to 10 match score per person, pick the event, and send. Rows are dated when you send, and Google Ads credits only people who clicked a Google ad. Preview is free; sending needs a paid plan. Check your own consent basis for the list first. See Ads Warmup.
Ways to do this job
| Option | Best for |
|---|---|
| DataCops | CRM stages to Meta and Google Ads, with a bot verdict and a delivery log |
| Zapier or Make | One simple CRM-to-ad flow you build and maintain |
| Direct API upload | Teams with an engineer |
| Manual CSV upload | Occasional batches |
When not to use DataCops
- You want a reporting dashboard. DataCops cleans and sends what goes into your ads. It is not a multi-touch reporting layer.
- Your sales never leave one store checkout. If everything happens in one checkout, the platform's own pixel plus server events may be enough.
Sources and further reading
More on this: Google Ads offline conversions, and the complete guide to offline conversion tracking.
Break your leads down by source. If a third are from calls and chat, the GCLID share will never reach 100 percent.