When this workflow is useful
Use it when Google Ads can see form fills but cannot reliably connect them to the qualified events sales records. The output is a reconciled downstream conversion feed, with an exception queue and a documented decision about bidding. It is not a promise that imports will immediately improve performance.
The design is a reference. The published Xoxoday case supports value-based bidding; it does not establish that this exact modern import implementation ran on that account.
Inputs and ownership
You need an agreed CRM stage, a unique event key, the actual transition timestamp, value and currency where relevant, and the supported matching data. Preserve the ad-origin information from acquisition through the CRM record. Confirm consent and customer-data requirements for the intended integration.
The revenue owner approves the stage definition. RevOps owns the CRM mapping and exception queue. The paid media operator owns the conversion action and campaign goal. Someone must own the daily reconciliation; otherwise a “successful” connector can quietly send the wrong events for weeks.
Choose the supported import path
Google supports click-ID based offline imports and enhanced conversions for leads using first-party data. Enhanced conversions for leads requires the relevant tag and downstream setup; hashing an email in a spreadsheet alone does not complete it. Select the current supported connection method for the account and CRM.
For a new API integration: since 15 June 2026, the Google Ads API no longer accepts new adopters of offline conversion imports, including enhanced conversions for leads. Use the Data Manager API as the primary API path. Existing adopters can continue their supported Google Ads API imports while integrating Data Manager; confirm eligibility for the actual account. Google’s official migration announcement.
Check the platform’s current identifier requirements, upload windows, timestamp format and diagnostics before implementing. Keep those changeable requirements in the connector’s reference material rather than hard-coding an undated claim in a business playbook. GCLID import setup, enhanced conversions for leads setup.
Run the workflow
- Select genuine stage transitions since the last successful checkpoint. Exclude test records, disallowed data and events outside the chosen path’s eligibility window.
- Validate the event key, conversion action, timezone, value, currency and matching fields. Hold incomplete records with a reason.
- Normalise and hash first-party fields where the supported integration requires it. Keep raw personal data out of operational logs.
- Upload through the supported connector. Store a minimal ledger: event key, attempt time, result, error class and retry state.
- Reconcile the eligible CRM set to attempted and accepted uploads. Check platform diagnostics for matching and delayed reporting.
- Retry transient failures with the same event identity. Correct deterministic failures before retrying. Never create a new key to force a duplicate through.
- Review which conversions are primary for bidding. A valid import and a campaign-goal change are separate decisions.
What the output should show
- Eligible CRM transitions
- 42
- Accepted by upload
- 38
- Held before upload
- 3 missing identifiers; 1 invalid timestamp
- Important distinction
- Accepted uploads are not proof that every event matched to an ad interaction.
- Owner action
- Resolve the four held events; inspect match diagnostics before changing the goal.
The example numbers are illustrative. In production, compare the ledger to the exact eligible set. Show accepted, rejected, held and retrying events separately. Keep the oldest unresolved exception visible.
Failures to design for
| Failure | Required behavior |
|---|---|
| Duplicate delivery from the CRM | Reuse the stable event identity; do not count the stage twice |
| Stage changed back or value corrected | Use the supported adjustment path where available; preserve the audit trail |
| Missing or unsupported identifier | Hold with a reason; repair acquisition capture or the CRM mapping |
| Expired upload eligibility | Record the loss and fix delay; do not alter the event date to make it fit |
| Connector outage or rate limit | Retry safely from the last confirmed checkpoint |
| Wrong conversion action or timezone | Stop the affected feed and correct the mapping |
| Unexpected collapse in matching | Check tag coverage, consent handling and identifier continuity |
Check it before going live
Replay a known valid event, a duplicate, a missing identifier, a corrected value and a connector failure. Confirm that retries cannot multiply conversions. Reconcile a small cohort to the CRM and inspect platform diagnostics after reporting has had time to settle.
Start as an observed conversion where appropriate. Decide when it becomes a bidding goal using signal quality, volume, delay and current platform guidance. Keep useful campaigns and history; rework the failing parts rather than treating the feed as a reason to start the account again.
Measures and maintenance
Monitor eligible events, held share, import acceptance, matching diagnostics, time to upload and unresolved exceptions. Review the stage definition and value model with sales. Measure qualified pipeline by mature acquisition cohort before attributing a performance change to the import.
Use the pipeline definitions sheet to settle the commercial event before wiring the transport.
Publication and source record
Published on GTMhub: . Last reviewed: .