GCLID imports work, but they depend on capturing an identifier and dragging it along for weeks. Enhanced conversions for leads use another identifier you already have: the email or phone number the person typed into the form. Google receives it hashed at the moment of submission and, when you later upload the sale with that same email, it matches them up. This tutorial sets it up.
How it works (in one sentence)
- On form submission, the tag sends Google the hashed (irreversible) email/phone alongside the lead event.
- Google associates it with the click that brought that person in.
- Days later you upload "sale" with the email (Google hashes it) → Google finds the click and attributes the conversion.
There is no GCLID to store; it works even if the lead calls weeks later or switches device.
Step 1 · The conversion action
Goals → Conversions → + New → Import → Other data sources or CRM → Track conversions from clicks and, while configuring it, switch on "Enhanced conversions for leads" (Google asks you to accept the customer data terms). Name ("Sale (EC leads)"), category, value, count one, window.
Repeat for "Qualified lead" if you upload stages.
Step 2 · Capture the data in the form
With Tag Manager (recommended)
- A user-provided data variable: either "manual configuration" or "automatic collection" (GTM detects the form's email and phone fields; with "manual", you give the CSS selector for the email field and the phone field).
- A "Google Ads Conversion Tracking" tag for the raw lead (the existing web action for form submitted): tick "Include user-provided data" and choose the variable.
- Trigger: the form submission (the
form_submitevent, or the thank you page if the data is still available; with a thank you page you usually have to pass the email through the URL or the dataLayer). - Publish.
Direct (without GTM)
In the form's conversion tag, add the user_data block with the email
and phone read from the form before submitting; Google hashes them in the
browser.
Check: Tag Assistant → the conversion event shows "user_data" with hashed email/phone. In Google Ads → the raw lead action → Diagnostics: "Enhanced conversions: receiving data".
Step 3 · Consent
User-provided data is only sent with consent (ad_user_data granted in
Consent Mode v2). The CMP has to pass that state to the tag; without
consent, the conversion is measured without the data (and the sale won't
be matchable). Say in your privacy policy that hashed data is used for
measurement.
Step 4 · The upload sheet
Same mechanics as the previous tutorial, but the enhanced conversions for leads template has different identification columns:
| Phone Number | Conversion Name | Conversion Time | Conversion Value | Conversion Currency | |
|---|---|---|---|---|---|
| anna@company.com | +34600111222 | Sale (EC leads) | 2026-08-22 10:05:00 | 1250 | EUR |
Email in lower case with no spaces; phone in international format
(E.164, +34…). Google hashes on import; you can also upload already
hashed (SHA-256). Email or phone is enough; with both, it matches
better.
A daily scheduled upload from the sheet, exactly as with GCLID.
Step 5 · Verify
- Upload history: rows imported; "no match found" means the email wasn't captured on the lead (step 2) or the click was more than 90 days ago.
- The conversion appears in the campaign of the original click.
- Match rate: Google shows what percentage of the uploaded rows it found a click for; above 50-60% is normal (the rest came in without an ad or without consent).
GCLID or email: which to use, or both
| GCLID | Email/phone (EC leads) | |
|---|---|---|
| Capture | Script + cookie + hidden field | Tag with the form's data |
| Loss to cookies/devices | Yes | Lower |
| Third-party forms with no hidden field | Hard | Possible if the tag can see the field |
| Consent | Measurement | Measurement and user data |
| Phone leads with no form | No | Yes (if you ask for email/phone on the call and it matches a web lead) |
Google recommends EC leads as the main route; keeping GCLID as a fallback during the transition is prudent. Lead Rating works with GCLID and can feed EC leads with the lead's email.
Common mistakes
- The user data variable pointing at the wrong field (the CSS selector changed with the redesign).
- Email with capitals/spaces in the sheet: no match (normalise it).
- Phone without the international prefix.
- A raw lead conversion without user data: there is nothing to match later.
- Asking for consent after the form has been submitted.
💡 Ninja trick: EC leads turns the email into the lead's key, and the email is what the salesperson has in front of them in the CRM: the upload sheet can be generated with a formula from the CRM's status column without anyone touching a GCLID. It is the most sustainable route for teams with no technical resource — and the one Lead Rating uses as a fallback when the GCLID never arrived.
What you should remember
- EC leads matches on hashed email/phone captured in the form; no GCLID.
- An action with the enhanced conversions for leads option; a tag with user-provided data (GTM) on the raw lead.
- A sheet with normalised email/phone, a daily upload; watch the match rate.
- Consent
ad_user_data; GCLID as a fallback during the transition.