
Offline Conversions
Part of Offline conversion imports
Preventing duplicate offline conversions
Define one business event, keep its ID and time stable on retries, and understand Google Ads duplicate, counting and adjustment rules.
Prevent duplicate offline conversions by deciding what one business event is before exporting. Give the source event a stable identity, keep its real occurrence time unchanged on every retry, and resolve repeated records for the same enquiry or sale in the source system before importing.
For a lead, a stable CRM record ID can serve as the source identity. For a transaction-style event, use its order ID as Google Ads’ order_id transaction-ID field; the field is optional but strongly recommended.
Key Statistics on Duplicate Conversion Prevention
- Recommended field for avoiding duplicates
- `order_id` (transaction-ID)
- Impact of incorrect timestamps
- Can cause Google Ads to treat retries as new events
- Adjustment availability for cancellations
- Yes, via Google Ads conversion adjustments
- Duplicate prevention responsibility
- Managed at source system level first
Decide what counts as one event
One accepted enquiry may have several submissions and follow-up notes. One customer may make two separate purchases. Repeated records of one event should resolve to one source event; genuinely separate events need separate identities and their own actual times.
For a lead, keep the same CRM record ID for the same enquiry rather than assigning a new identity to each follow-up note. For a sale, keep its order ID with the source event and use that value as order_id when importing; separate purchases need separate IDs.
Situation / Source-system treatment
- The same event is exported again
- Reuse its original identity and occurrence time.
- Two submissions describe one request
- Resolve the request before exporting another qualified event.
- Two separate sales follow one lead
- Retain distinct sale records and genuine sale times.
- A recorded sale is cancelled or its value changes
- Check whether the original conversion is eligible for an adjustment.
When measuring each stage, keep submission, qualification and sale as separate conversion actions. Otherwise an event may be sent under the wrong action, or funnel milestones may be read as several customers.
Understand Google Ads duplicate rules
Keep the event's original timestamp on retries; do not change it to make a repeated import appear new. Resend the same event identity and original time rather than assigning a new identity for each attempt.
Google Ads calls the transaction-ID field order_id. It is optional but strongly recommended, and a transaction ID can help minimise duplicate conversions; use the same value when retrying the same transaction.
Google Ads provides conversion counting options. Choose the setting for the event being measured, but remember that counting settings alone do not clean duplicate CRM records; manage source duplicates separately.
Audit retries and corrections
Keep the source event ID, conversion action, original time, order ID where used, upload attempt and result together. Before retrying, compare these details with the earlier attempt and resend the same event data rather than changing its time or identity.
Investigate duplicate errors: they may reflect an expected retry or a source mistake. If the source contains repeated records for one event, resolve them there instead of creating a new event to get around the error.
A later, genuinely new sale should remain a new event with its own identity and actual time. A cancellation or value change belongs with the original conversion where an adjustment is available; do not import the changed outcome as a second conversion.



