- Destinations
- Offline Conversions
Google Offline Conversions API
Overview
Section titled “Overview”Signals sends conversions that happened away from your website to Google Ads: phone orders, bookings, in-store sales and outcomes recorded in a CRM. Google uses them to attribute conversions to your campaigns and to optimize delivery.
Use this destination when the conversion lives in a system Signals can read, such as a CRM, a file drop, a database or a warehouse.
If you are reporting a change in lead status, use Google Enhanced Conversions for Leads. For in-store sales matched against a product catalog, use Google Store Sales Conversions.
Supported sources
Section titled “Supported sources”Sources supported by Google Offline Conversions API
| Category | Supported |
|---|---|
| API | |
| CRM | |
| Database | |
| File & storage | |
| Warehouse |
Prerequisites
Section titled “Prerequisites”Before connecting Google Offline Conversions, make sure you have:
- A Google Ads account, and the manager account ID above it.
- Server-side API permission on that account.
- Conversion actions already created in Google Ads for the outcomes you intend to report.
- A Datahash Studio account with the target project selected.
- A source connected in the same project. The identifiers and event details Google receives come from that source mapping, not from this destination.
Authentication
Section titled “Authentication”In Studio, open Destinations, find Google, and click the Offline Conversions tile. This connector uses single sign-on only; there is no manual credential path.
- Click Sign in with Google.
- Complete Google’s consent flow, choosing the account that has access to your Google Ads account.
Configuration
Section titled “Configuration”- Enter the Login Customer ID, which is the manager account ID.
- Enter the Customer ID of the Google Ads account conversions should land in.
- Give the connection a name.
- Map each source event name to the corresponding conversion action in Google Ads. Use the plus icon to add rows.
- Click Finish.
The properties sent with each event have to satisfy the requirements of the conversion action you map it to, so an action expecting a value needs a value on the event.
Google identifies the account you are writing to with two IDs. The Customer ID is your Google Ads account. The Login Customer ID is the manager account, sometimes called the MCC, that sits above it. Getting them the wrong way round is the most common setup error on this connector.
Data & identifiers
Section titled “Data & identifiers”Send identifiers already hashed where you can. Plain text also works: they are normalized and SHA-256 hashed before they reach Google.
Required
Section titled “Required”| Field | When it is required |
|---|---|
| Event time | Always. UNIX timestamp. Use the time of the conversion, not the time of upload. |
| Event name | Always. |
| Last modified date | Always. |
| Email address | Always. This is the primary match key. |
| Currency | Purchase events only. The three-letter currency code. |
| Value | Purchase events only. |
Optional
Section titled “Optional”| Field | Format |
|---|---|
| Last name | Letters only, lowercase, trimmed, no punctuation. |
| Date of birth | DD/MM/YYYY. |
| Google click ID | The click identifier for the conversion. If you set this, do not set either iOS variant. |
| iOS click identifiers | Two exist, one for app conversions and one for web. Set at most one click identifier in total. |
| Subscription ID | Similar to an order ID, for a subscription in this transaction. |
| Number of items | How many items the conversion covered. |
| Browser user agent | Sent unhashed where your source holds it. |
| Browser IP address | Sent unhashed where your source holds it. |
Google does not accept a phone number on this connector, unlike the other offline destinations, so email is the only personal identifier that drives matching. Nor does it accept the city, state, country or postcode fields. Make sure email is populated on every record you send.
Best practices
Section titled “Best practices”- Populate email on every record. Without it there is nothing for Google to match, and phone is not an alternative here.
- Create the conversion actions in Google Ads before configuring the mapping.
- Use the conversion time as the event time rather than the upload time, or Google will attribute against the wrong window.
- Send the Google click identifier where your source captured it. On offline conversions it is the strongest signal available.
- Set at most one click identifier per conversion. The three are mutually exclusive.
Troubleshooting & FAQ
Section titled “Troubleshooting & FAQ”The account IDs will not validate. They are probably swapped. The manager account ID belongs in Login Customer ID.
No conversion actions to map. They have not been created in Google Ads yet. Create them there first.
Conversions are rejected. The event is probably missing a property the conversion action requires, such as a value. Check what the action expects in Google Ads.
Match rates are low. Check email is populated and cleanly formatted. Adding a phone number will not help on this connector.
Conversions attributed to the wrong period. Check the event time carries the time of the conversion and not the time the file was uploaded.

