Send offline conversions to Google Enhanced Conversions (GDM)¶
Google Enhanced Conversions (GDM) sends offline conversions from Amperity to a Google Ads conversion action, so Google Ads can measure and optimize on conversions that happen away from your website. Each conversion is matched to a Google user on a hashed email address or phone number, which suits in-store, call-centre, and in-app conversions where no ad-click identifier exists. The connector uses Google’s Data Manager platform (GDM).
Send offline conversions to a Google Ads conversion action so that Google Ads can measure and optimize on conversions that happen away from your website. Each row returned by your query is sent as a single conversion, matched to a Google user on a hashed email address or phone number. Because it matches on personal information rather than an ad-click identifier, it suits in-store purchases, call-center bookings, in-app purchases, and other offline activity where no click ID exists.
Amperity sends conversions to Google Ads through the Google Data Manager API. There is no audience or list involved — every orchestration submits a new batch of conversions.
Caution
The values for email and phone sent to Google Enhanced Conversions (GDM) are SHA-256 hashed automatically by Amperity before sending. Do not use the TO_HEX() function with the email and phone fields for queries that return results for Google Enhanced Conversions (GDM).
Note
For gmail.com and googlemail.com addresses, Amperity removes dots from the username and drops any plus-sign tag before hashing, matching Google’s own normalization.
Beta
The Google Enhanced Conversions (GDM) connector is currently in beta. Contact your Amperity representative to learn more.
Important
Amperity provides two Google Enhanced Conversions connectors, and both appear in the destination picker. Use Google Enhanced Conversions (GDM) — this connector — for new setups: it uploads conversions through Google’s Data Manager API. As of 15 June 2026, Google began moving offline conversion and enhanced-conversions uploads to the Data Manager API and blocking them in the older Google Ads API that the separate Google Enhanced Conversions connector uses. Connect and configure each connector separately.
How this destination works¶
Amperity normalizes and hashes each row’s email and phone, then submits the conversion to the configured Google Ads conversion action. Google Ads matches the hashed identifiers to a signed-in Google user and attributes the conversion.
Google matches conversions in the background, and the process can take a long time — from minutes to days. Because an orchestration cannot wait that long, Amperity reports a conversion as delivered once Google accepts the batch.
Important
A successful orchestration means Google accepted the conversions, not that it has matched and credited them. Because matching depends on whether the hashed identifiers correspond to real Google users, confirm results in the Google Ads interface.
Build a query¶
Use a query to return one row per offline conversion to send to Google Enhanced Conversions (GDM). Each row must include a conversion timestamp and at least one identifier — an email address, a phone number, or both. Sending both improves the match rate. You can also include a conversion value with its currency, and an order ID that Google uses to deduplicate conversions re-sent across repeated runs.
Review the Conversion fields section for the columns your query must and may return.
Add orchestration¶
An orchestration defines the relationship between query results and a destination, including the destination and the frequency at which an orchestration runs.
To add an orchestration
Open the Activations page, select the Orchestrations tab, and then click the Add orchestration button. This opens the Add orchestration dialog box.
From the Object type dropdown, select Query.
From the Object dropdown, select the query for which results is sent to Google Enhanced Conversions (GDM).
From the Destination dropdown, select a destination that is configured for sending data to Google Enhanced Conversions (GDM).
Verify all settings.
Set the workflow to Manual. You can change this to automatic later, after verifying the end-to-end workflow.
Click Save.
Run orchestration¶
Run the orchestration manually to validate that it works.
To run the orchestration
Open the Activations page, select the Orchestrations tab, and then open the menu for the Google Enhanced Conversions (GDM) orchestration. Select Run.
The Status column for the orchestration updates to say “Waiting to start”, after which the notifications pane updates to include a notification that shows the current status.
When the orchestration has run successfully, the status is updated to “Completed”.
Data validation¶
An orchestration is not checked against the connector’s schema before it runs, so a query that returns the wrong columns is not caught up front — the orchestration runs and reports every row as failed. Make sure your query returns the columns Google Enhanced Conversions (GDM) requires, spelled exactly as Amperity reads them:
conversion_timestamp on every row.
At least one of email or phone on every row. A query that returns neither column fails every row, because Google cannot match a conversion without an identifier.
Optionally, conversion_value with currency_code, and order_id.
Return these names in lower case — conversion_timestamp, email, phone, conversion_value, currency_code, and order_id — and match them exactly. Column names are case-sensitive: a column returned as Email is not read as email, so every row is dropped as unmatched and no error is raised before the run.
During a send, a row is dropped and reported as failed when it has no usable email or phone value. A row that has a conversion_value but no currency_code is still sent, but the value is dropped and reported: the conversion is recorded as a count rather than carrying the value. Rows that Google rejects — for example, an unparseable timestamp — are reported as failed rows with Google’s reason in the orchestration’s error log.
Conversion fields¶
The following table describes each column Amperity sends to Google Enhanced Conversions (GDM). A query must return columns with the same name as listed in the “Amperity name” column; Amperity maps them to the Data Manager field names automatically.
Amperity name |
Data Manager field |
Description |
|---|---|---|
conversion_timestamp |
eventTimestamp |
Required When the conversion happened, as an ISO 8601 instant with a UTC offset — for example, |
userData.userIdentifiers.emailAddress |
Optional, but at least one of email or phone is required. An email address. Amperity normalizes it to Google’s format and applies SHA-256 hashing before sending. |
|
phone |
userData.userIdentifiers.phoneNumber |
Optional, but at least one of email or phone is required. A phone number. Amperity converts it to E.164 format and applies SHA-256 hashing before sending. |
conversion_value |
conversionValue |
Optional The value of the conversion, as a number. Sent only when currency_code is also present. |
currency_code |
currency |
Optional The currency that conversion_value is expressed in, as a three-character ISO 4217 code. Required in order to send conversion_value. |
order_id |
transactionId |
Optional A deduplication key. When the same conversion is re-sent across repeated runs, Google collapses rows with the same order ID into one so the conversion is not counted twice. |
Delivery and results¶
Google accepts a batch of conversions almost immediately and then matches them in the background over a window that can range from minutes to days. Amperity treats a conversion as delivered once Google accepts the batch.
A successful orchestration means Google accepted the conversions, not that it matched and credited them. Confirm final results in the Google Ads interface.
Per-conversion failures are reported on a best-effort basis. Amperity reports the failures that Google returns quickly as failed rows in the orchestration’s error log. Failures that Google surfaces only later do not appear in the orchestration.
Amperity automatically splits large sends into batches of 2,000 conversions. This is not something you configure.
Conversions cannot be deleted or retracted once submitted. Google offers no way to take back a conversion, so test with care.