Table of contents
Enhanced conversions for leads helps Google Ads connect an ad interaction with a business outcome that happens later: a qualified lead, accepted application, booked appointment, opportunity, or closed sale recorded in your CRM.
It does this by supplementing your offline conversion event with first-party user-provided data, such as a normalized and hashed email or phone number. Google matches that data with the lead data collected by your Google tag and with signed-in Google accounts. If you have a GCLID, send it too. Google’s current guidance explicitly recommends continuing to import available GCLIDs.
This guide shows the full marketing-operations path: website tag, CRM fields, conversion actions, Data Manager upload, consent controls, diagnostics, and bidding cutover. It follows Google’s current enhanced conversions for leads overview, implementation checklist, and Data Manager setup. Technical details were checked on August 23, 2026.
The problem this setup solves
If Google Ads receives only a form submission, it cannot see what sales learns later. A low-quality form fill and a lead that becomes a customer look identical at the first step.
Enhanced conversions for leads creates a feedback loop:
Google ad interaction → lead form submits email, phone, and available click ID → Google tag sends the configured user-provided data → CRM stores the same identifiers with the lead → sales changes the lifecycle stage → the stage, timestamp, value, click ID, and hashed identifiers are uploaded → Google Ads matches and reports the offline outcomeThe objective is not to upload every CRM change. It is to send the few outcomes that should change reporting or bidding decisions.
Enhanced conversions for web versus leads
| Product | Conversion happens | Data flow |
|---|---|---|
| Enhanced conversions for web | On the website | The conversion tag sends hashed user-provided data with the web conversion |
| Enhanced conversions for leads | Later, usually in a CRM or offline system | The website tag captures lead data; the CRM outcome is imported later with matching data |
Google unified the account-level enhanced-conversions setting in April 2026. Google Ads now accepts user-provided data from website tags, Data Manager, and API connections without forcing advertisers to choose one implementation type at account level. The business use case is still different: this guide focuses on offline lead outcomes.
Decide which CRM outcomes deserve conversion actions
Start with a stage map. Do not turn every status into a primary conversion.
| CRM outcome | Example rule | Suggested initial role |
|---|---|---|
| Qualified Lead | Sales accepted and meets ICP criteria | Secondary during validation |
| Opportunity | Budget, need, and active sales process confirmed | Secondary or primary after volume review |
| Converted Lead | Contract signed or payment received | Primary when volume supports bidding |
| Disqualified | Spam, student, competitor, or outside ICP | Do not count as a positive conversion; use for analysis or exclusion workflows |
Create a unique Google Ads conversion action for each meaningful positive outcome. Use names that match the CRM. If your CRM says Sales Accepted, do not call the Google action Qualified unless the team has documented that equivalence.
Prerequisites
Before touching CustomerLabs or Data Manager, confirm this checklist:
- Customer Data Terms are accepted in the Google Ads account that owns conversions.
- Auto-tagging is enabled so GCLIDs can be captured where available.
- The Google tag or GTM runs on every lead-form path, including embedded or multi-step forms.
- User-provided data collection is configured for the fields you are allowed to send.
- The CRM stores the original lead time, identifiers, and click IDs without changing their values.
- Each offline outcome has a unique conversion action with the correct account and category.
- Consent and privacy rules are documented for website collection and offline upload.
- A named owner can access Google Ads diagnostics and the CRM event counts.
If the form is inside an iframe, a scheduling tool, or a separate domain, run a real submission before assuming the parent-page tag sees the user-provided fields.
Build the CRM-to-Google field map
The field map is the core implementation artifact. Keep it with the change ticket.
| CRM field | Destination use | Preparation |
|---|---|---|
| Lead or contact ID | Internal join key | Keep stable across merges |
| User-provided identifier | Trim, lowercase, normalize; hash with SHA-256 when your method requires it | |
| Phone | User-provided identifier | Convert to E.164; hash when required |
| GCLID | Click attribution | Preserve exactly; do not hash |
| GBRAID or WBRAID | Privacy-safe click attribution where applicable | Preserve exactly; do not hash |
| Lifecycle stage | Conversion action | Map one-to-one to the agreed Google action |
| Stage-change time | Conversion timestamp | Send the actual change time, not the batch-upload time |
| Deal value | Conversion value | Use the agreed revenue or pipeline definition |
| Currency | Currency code | Use a valid ISO currency code |
| Deal or event ID | Deduplication | Send a stable transaction or order ID |
ad_user_data state | Advertising user-data consent | Send the applicable approved state |
Google’s checklist calls out normalization details. Emails should be lowercase with leading and trailing spaces removed. Phone numbers should use E.164 format. Hash personally identifiable fields only; do not hash fields such as country, state, city, or postal code when the selected schema expects them in plain text.
Set up the website collection
Choose the method already used for conversion tracking: Google tag or Google Tag Manager.
- Open the Google tag settings for the account.
- Enable the approved collection method for user-provided data.
- Map email, phone, or other eligible fields from the actual form.
- Submit a test lead through every form variant.
- Use Tag Assistant or GTM Preview to confirm the tag fires and the enhanced-conversion object receives the expected normalized fields.
Do not put raw email or phone into URLs, data-layer logs, analytics event names, or custom variables. User-provided data belongs only in the supported enhanced-conversion fields.
Create and configure the Google Ads conversion actions
Google’s current flow can be reached from Goals → Conversions. Create an import conversion from CRM, file, or another data source, and choose the goal that matches the CRM outcome. Google recommends categories such as Qualified lead or Converted lead.
For each action, record:
- Google Ads customer ID and conversion owner.
- Conversion action name and ID.
- CRM event that triggers it.
- Value rule and currency.
- Primary or secondary status.
- Attribution model.
- Upload delay target.
During a new setup, Google’s checklist recommends keeping the new action secondary for the first two to three weeks. When upgrading a legacy import, Google’s migration guidance says to compare the new and old actions for the longer of three conversion cycles or four weeks before swapping bidding roles.
Choose the upload method
Use one of these routes:
| Method | Best for | Watch for |
|---|---|---|
| Google Ads Data Manager | Marketers connecting supported CRMs, files, storage, or partners | Field mapping, schedules, account ownership, and diagnostics |
| Data Manager API | Engineering or platform teams building a durable pipeline | Authentication, request IDs, hashing, consent, retries, and monitoring |
| Supported partner such as CustomerLabs | Teams that need identity resolution, multiple CRMs, and no-code event mapping | Source quality, profile joins, consent rules, and destination mapping |
| Google Ads API legacy access | Existing allowlisted integrations only | Post-June 15, 2026 token restrictions and migration risk |
For new pipelines, prefer Data Manager. Google states that starting June 15, 2026, offline conversion and enhanced-conversion uploads from developer tokens without qualifying prior activity are blocked in the Google Ads API. Existing allowlisted connections may still work, so audit the token instead of shutting down a functioning production path without evidence.
Configure enhanced conversions for leads with CustomerLabs
CustomerLabs’ documented Google destination flow can connect website identifiers, CRM stages, and Google conversion actions.
- Connect the website source and confirm a test form event arrives.
- Connect the CRM source and confirm the same test lead resolves to the same profile.
- In Google Ads, accept Customer Data Terms and enable enhanced conversions.
- In CustomerLabs, open Destinations → Google Data Manager or Google Adwords.
- Authenticate the Google account that owns the conversion actions.
- Fetch conversion actions and map each action to the matching CustomerLabs event.
- Turn on Enable enhanced conversion tracking.
- Review the standard email and phone mappings; add only approved fields.
- Configure consent rules for
ad_user_dataand the applicable destination use. - Enable the event workflow after the test event passes.
The current Google Data Manager destination guide contains the product screens. The CustomerLabs offline conversions page is the commercial parent for connecting CRM outcomes to Google Ads.
Validate the complete path
Run a test lead through the same journey as a real prospect.
1. Validate the website seam
- Confirm the form event fires once.
- Confirm email or phone is present in the supported enhanced-conversion object.
- Confirm the relevant consent state is applied.
- Confirm the GCLID is stored when the visit contains one.
2. Validate the identity seam
- Find the test person in CustomerLabs.
- Confirm the website event, CRM contact, and click ID are on the same profile.
- Confirm normalized email and phone match the CRM source.
3. Validate the CRM seam
- Move the test lead to Qualified Lead.
- Confirm only the mapped event triggers.
- Confirm the event time is the CRM stage-change time.
- Repeat the same update and verify deduplication.
4. Validate the Google seam
Google Ads provides an enhanced-conversions diagnostics report under the Conversions area. Check:
- Whether user-provided data is present and correctly formatted.
- Whether tags are active.
- Whether offline imports are arriving.
- Whether the conversion action and account match.
- Whether data quality is Excellent, Good, Needs attention, or Urgent.
Keep the Data Manager request ID or partner delivery log for every failed batch. A green website tag does not prove the CRM outcome reached Google.
Reconcile counts every week
Use a simple operations table:
| Stage | Count | Owner investigates when |
|---|---|---|
| CRM stage changes | 100 | Source count is unexpectedly low |
| CustomerLabs events created | 98 | Join or workflow gap exceeds the agreed tolerance |
| Events sent to Google | 96 | Consent, mapping, or destination rule suppresses more than expected |
| Events accepted | 94 | API formatting or account errors appear |
| Conversions reported | Delayed result | The reporting delay or attribution window explains neither the count nor trend |
Do not expect every CRM event to become a Google-attributed conversion. Some records will not match an eligible ad interaction. The purpose of reconciliation is to locate pipeline loss, not force the numbers to be identical.
Failure cases that cause most silent loss
The team stopped capturing GCLID
Restore it. GCLID has not been announced as disappearing. Google says to continue importing available GCLIDs because they improve attribution to specific ad clicks.
Website and CRM emails do not normalize the same way
Apply the same normalization rules before hashing. A different space, case, country code, or stale email creates different hashes and breaks the match.
The upload uses the batch time
Send the actual conversion time. Reporting and eligibility depend on when the outcome happened, not when the nightly job ran.
Every stage is primary
This can count one lead several times and give bidding conflicting goals. Keep one clear primary outcome until the team intentionally changes the bidding strategy.
The tag is correct, so the team skips offline diagnostics
The tag proves website collection only. The CRM import can still fail on conversion action, timestamp, account, value, consent, or user-data formatting.
The team claims hashing equals compliance
Hashing is a security and matching step. It does not replace consent, a lawful basis, disclosures, retention controls, deletion processes, or Google’s customer data terms.
What success looks like
The setup is ready when:
- A real test form creates the expected tag event.
- The CRM and website resolve to one person.
- GCLID and permitted user-provided data survive into the offline event.
- Each lifecycle stage maps to the correct conversion action.
- Duplicate stage updates do not create duplicate conversions.
- Google diagnostics show the connection is active without urgent errors.
- CRM, sent, accepted, and reported counts are reconciled by a named owner.
- Bidding changes happen only after the agreed comparison window.
If you want help implementing that full journey across your forms, CRM, and Google Ads, book a CustomerLabs demo. Bring one test lead, your CRM stage map, and your Google Ads conversion action IDs so the call can validate the actual flow.
Official sources
- Google Ads: About enhanced conversions for leads
- Google Ads: Enhanced conversions for leads implementation checklist
- Google Ads: Use Data Manager with enhanced conversions for leads
- Google Ads: Enhanced conversions diagnostics
- Google Ads: Upgrade offline conversion imports
- Google: Manage offline conversions with the Google Ads API