Google Ads Audiences API — Data Manager
Sync Google Ads Customer Match audiences using email, phone, mobile advertising ID, or third-party user ID. Create this destination separately and complete Data Manager authorization. Google Customer Match eligibility and terms apply.
Setup
- Create Google Ads Audiences API — Data Manager, connect your Google account, and enter the Google Ads customer ID.
- Create a connection. For each stream, set Audience Name and choose one of the four contracts below.
- Map the required identifier and any consent fields. For mobile audiences, also set Mobile App ID and Mobile platform.
- Enable and run the connection when ready to upload members.
Extract uses a compatible existing list with the selected name, or creates a list if it is missing. An existing list's identifier type cannot be changed. Use a different name if the list has an incompatible type. Mobile lists must also match the app ID and platform.
Hashing and normalization
- Map raw email to
hashed_emailwith Apply hashing (SHA256) enabled. Extract lowercases emails and removes all whitespace. Forgmail.comandgooglemail.com, dots and plus suffixes before@are removed; other domains retain dots and plus tags. - Map raw phone to
hashed_phone_numberwith Apply hashing (SHA256) enabled. Include an international country code; Extract normalizes to E.164 before hashing. - For already-hashed email or phone, normalize upstream before hashing, provide a 64-character SHA256 hexadecimal hash, and choose Source values are already hashed.
- Mobile advertising IDs and third-party user IDs must remain unhashed. Mobile IDs must be nonzero UUIDs; Extract normalizes UUIDs to lowercase.
See Identifier Hashing and Normalization.
Data contracts
| Contract | Required contract field | Example source field | Hashing for raw input |
|---|---|---|---|
| Email custom audience | hashed_email | email | SHA256 |
| Phone custom audience | hashed_phone_number | phone | SHA256 |
| Mobile ID custom audience | mobile_id | Android gaid or iOS idfa | None |
| Third party user ID custom audience | third_party_user_id | third_party_user_id | None |
Every row sent through a contract needs its required identifier. If a source mixes audience types, split or filter it into streams so, for example, a mobile audience only receives rows with a mobile ID. An empty identifier causes a preparation error; with Continue on errors disabled, the stream stops.
Mobile audiences
For Mobile ID custom audience, configure these stream settings:
| Setting | Android | iOS |
|---|---|---|
| Mobile platform | Android | iOS |
| Mobile App ID | Actual app package name, such as com.example.app | Numeric App Store ID |
mobile_id source | Raw GAID/AAID UUID | Raw IDFA UUID |
Do not map phone numbers, FCM tokens, or hashed IDs to mobile_id. A fabricated app ID or advertising ID can exercise formatting but does not demonstrate Google eligibility or real-user matching.
Consent
All four contracts expose these optional fields:
| Contract field | Example source column | Accepted values |
|---|---|---|
consent.ad_user_data | ad_user_data_consent | GRANTED, DENIED, UNSPECIFIED |
consent.ad_personalization | ad_personalization_consent | GRANTED, DENIED, UNSPECIFIED |
These contract fields also existed in the original audience destination. Separate CSV columns can map directly to the two dotted fields; a JSON consent source column is not required. Supply values that reflect the user's actual consent. The legacy UNKNOWN value has no supported Data Manager equivalent; remap it explicitly.
Additions and removals
Extract ingests added or changed members and removes removed members. The diff_result values used by the contract are Added, Changed, and Removed. If your source provides this field explicitly, map it accordingly. Removed members still require the identifier for the selected contract.
Requests contain at most 10,000 members. Check Data Manager diagnostics for accepted request IDs and subsequent ingestion or removal results. Accepted test records do not guarantee a populated or targetable audience.
Migrating legacy mappings
Keep the customer ID and a compatible audience name, but authorize the new destination and recreate the connection. Remove legacy transaction_attribute and user_attribute mappings: these have no supported Customer Match equivalent. Populated unsupported fields cause mapping errors.
See Google's Customer Match field mappings for the API migration details.