> ## Documentation Index
> Fetch the complete documentation index at: https://docs.markifact.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ingest Audience Members

> Upload Customer Match audience members to Google Ads user lists, or audience members to Display & Video 360 or Google Ad Manager, through the Google Data Manager audienceMembers:ingest endpoint

Upload Customer Match audience members to Google Ads user lists, or audience members to Display & Video 360 or Google Ad Manager, through the Google Data Manager audienceMembers:ingest endpoint. Members are identified by hashed emails, phones, or addresses (userData) or mobile advertising IDs (mobileData). The user list itself is created first, for example with gads\_mutate userListOperation. Requires accepting the Customer Match terms of service

| | |
| - | - |
| **App** | Google Data Manager |
| **Operation ID** | `data_manager_ingest_audience_members` |
| **Type** | Action |
| **Connection** | `data_manager` (required) |
| **Credits per run** | 1 |
| **Agent / MCP tool** | Yes |
| **Requires approval** | Yes (write operation) |

## Inputs

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `destinations` | string or array of object or object | Yes | - | List of native Destination objects for the audienceMembers:ingest endpoint, in Google's camelCase JSON. Each destination needs operatingAccount \{accountType, accountId} and productDestinationId. accountType options for audiences: 'GOOGLE\_ADS' (productDestinationId is a user list ID; create the list first, for example with gads\_mutate userListOperation), 'DISPLAY\_VIDEO\_ADVERTISER', 'DISPLAY\_VIDEO\_PARTNER', 'GOOGLE\_AD\_MANAGER\_AUDIENCE\_LINK' (productDestinationId is an audience ID), 'DATA\_PARTNER'. Optional per destination: 'reference' and 'loginAccount' \{accountType, accountId} for manager (MCC) access. Example: \[\{"operatingAccount": \{"accountType": "GOOGLE\_ADS", "accountId": "1234567890"}, "productDestinationId": "456789"}] |
| `audience_members` | string or array of object or object | Yes | - | List of native AudienceMember objects in Google's camelCase JSON. Each member carries exactly one data type: userData \{userIdentifiers: \[\{emailAddress \| phoneNumber \| address \{givenName, familyName, regionCode, postalCode}}]} (max 10 identifiers per member; raw emails, E.164 phones, and names are normalized and SHA-256 hashed automatically, 64-hex digests pass through), or mobileData \{mobileIds} (advertising IDs), or pairData, userIdData, ppidData, compositeData, googleUserIdData, partnerProvidedIdData for partner setups, passed through as-is. Optional per member: destinationReferences and consent \{adUserData, adPersonalization: 'CONSENT\_GRANTED'\|'CONSENT\_DENIED'}. Only include fields valid for the AudienceMember schema. Batching is handled automatically, Google accepts up to 10000 audience members per request |
| `customer_match_terms_of_service` | string or SelectableOption | No | - | Customer Match terms of service decision (`https://support.google.com/adspolicy/answer/6299717`). Google requires 'ACCEPTED' when ingesting userData or mobileData members; ask the user to confirm they accept before setting it. Options: 'ACCEPTED', 'REJECTED' |
| `ad_user_data_consent` | string or SelectableOption | No | - | Request-level consent for ad user data, applied to all members unless a member carries its own consent. Options: 'GRANTED', 'DENIED' |
| `ad_personalization_consent` | string or SelectableOption | No | - | Request-level consent for ad personalization, applied to all members unless a member carries its own consent. Options: 'GRANTED', 'DENIED' |
| `encoding` | string or SelectableOption | No | - | Encoding of hashed user identifiers: 'HEX' or 'BASE64'. Set automatically to 'HEX' when this operation hashes raw identifiers; set it only when providing pre-hashed identifiers in BASE64 |
| `encryption_info` | object or string | No | - | Optional native EncryptionInfo object for encrypted user identifiers (DEK/KMS setups), passed through as-is |
| `validate_only` | boolean | No | `False` | When true, validates the request without ingesting. Only errors are returned |

### SelectableOption

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `value` | string | Yes | - | |
| `label` | string | Yes | - | |

## Output

**Type**: `Dict`

Returns the Data Manager request IDs and any field warnings.

**Fields**: `requestIds`, `audience_members_sent`, `fieldWarnings`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.