---
title: "POST /v1/audienceMembers:ingest"
method: POST
path: "/v1/audienceMembers:ingest"
tags: ["audienceMembers"]
---

# POST /v1/audienceMembers:ingest

`POST /v1/audienceMembers:ingest`

Uploads a list of AudienceMember resources to the provided Destination.

## Request body

- IngestAudienceMembersRequest — Request to upload audience members to the provided destinations. Returns an IngestAudienceMembersResponse.
  - `destinations` Destination[] — Required. The list of destinations to send the audience members to.
    - `operatingAccount` ProductAccount — Represents a specific account.
      - `accountId` string — Required. The ID of the account. For example, your Google Ads account ID.
      - `accountType` 'ACCOUNT_TYPE_UNSPECIFIED' | 'GOOGLE_ADS' | 'DISPLAY_VIDEO_PARTNER' | 'DISPLAY_VIDEO_ADVERTISER' | 'DATA_PARTNER' | 'GOOGLE_ANALYTICS_PROPERTY' | 'GOOGLE_AD_MANAGER_AUDIENCE_LINK' | 'FLOODLIGHT_CONFIG' — Required. The type of the account. For example, `GOOGLE_ADS`. Either `account_type` or the deprecated `product` is required. If both are set, the values must match.
      - `product` 'PRODUCT_UNSPECIFIED' | 'GOOGLE_ADS' | 'DISPLAY_VIDEO_PARTNER' | 'DISPLAY_VIDEO_ADVERTISER' | 'DATA_PARTNER' — Deprecated. Use `account_type` instead.
    - `productDestinationId` string — Required. The object within the product account to ingest into. For example, a Google Ads audience ID, a Display & Video 360 audience ID or a Google Ads conversion action ID.
    - `reference` string — Optional. ID for this `Destination` resource, unique within the request. Use to reference this `Destination` in the IngestEventsRequest and IngestAudienceMembersRequest.
    - `loginAccount` ProductAccount — Represents a specific account.
      - `accountId` string — Required. The ID of the account. For example, your Google Ads account ID.
      - `accountType` 'ACCOUNT_TYPE_UNSPECIFIED' | 'GOOGLE_ADS' | 'DISPLAY_VIDEO_PARTNER' | 'DISPLAY_VIDEO_ADVERTISER' | 'DATA_PARTNER' | 'GOOGLE_ANALYTICS_PROPERTY' | 'GOOGLE_AD_MANAGER_AUDIENCE_LINK' | 'FLOODLIGHT_CONFIG' — Required. The type of the account. For example, `GOOGLE_ADS`. Either `account_type` or the deprecated `product` is required. If both are set, the values must match.
      - `product` 'PRODUCT_UNSPECIFIED' | 'GOOGLE_ADS' | 'DISPLAY_VIDEO_PARTNER' | 'DISPLAY_VIDEO_ADVERTISER' | 'DATA_PARTNER' — Deprecated. Use `account_type` instead.
    - `linkedAccount` ProductAccount — Represents a specific account.
      - `accountId` string — Required. The ID of the account. For example, your Google Ads account ID.
      - `accountType` 'ACCOUNT_TYPE_UNSPECIFIED' | 'GOOGLE_ADS' | 'DISPLAY_VIDEO_PARTNER' | 'DISPLAY_VIDEO_ADVERTISER' | 'DATA_PARTNER' | 'GOOGLE_ANALYTICS_PROPERTY' | 'GOOGLE_AD_MANAGER_AUDIENCE_LINK' | 'FLOODLIGHT_CONFIG' — Required. The type of the account. For example, `GOOGLE_ADS`. Either `account_type` or the deprecated `product` is required. If both are set, the values must match.
      - `product` 'PRODUCT_UNSPECIFIED' | 'GOOGLE_ADS' | 'DISPLAY_VIDEO_PARTNER' | 'DISPLAY_VIDEO_ADVERTISER' | 'DATA_PARTNER' — Deprecated. Use `account_type` instead.
  - `termsOfService` TermsOfService — The terms of service that the user has accepted/rejected.
    - `customerMatchTermsOfServiceStatus` 'TERMS_OF_SERVICE_STATUS_UNSPECIFIED' | 'ACCEPTED' | 'REJECTED' — Optional. The Customer Match terms of service: https://support.google.com/adspolicy/answer/6299717. This must be accepted when ingesting UserData or MobileData. This field is not required for Partner Match User list.
  - `audienceMembers` AudienceMember[] — Required. The list of users to send to the specified destinations. At most 10000 AudienceMember resources can be sent in a single request.
    - `compositeData` CompositeData — Composite data holding identifiers and associated data for a user. At least one of `user_data` or `ip_data` is required.
      - `ipData` IpData[] — Optional. IP address data representing customer interaction used to build the audience.
        - `ipAddress` string — Required. IP address captured at the time of customer interaction. Accepts standard string formats for both IPv4 and IPv6.
        - `observeStartTime` string, google-datetime — Optional. First recorded interaction time from this IP address in a session.
        - `observeEndTime` string, google-datetime — Optional. Last recorded interaction time from this IP address in a session.
      - `userData` UserData — Data that identifies the user. At least one identifier is required.
        - `userIdentifiers` UserIdentifier[] — Required. The identifiers for the user. It's possible to provide multiple instances of the same type of data (for example, multiple email addresses). To increase the likelihood of a match, provide as many identifiers as possible. At most 10 `userIdentifiers` can be provided in a single AudienceMember or Event.
          - `emailAddress` string — Hashed email address using SHA-256 hash function after normalization.
          - `address` AddressInfo — Address information for the user.
            - `givenName` string — Required. Given (first) name of the user, all lowercase, with no punctuation, no leading or trailing whitespace, and hashed as SHA-256.
            - `postalCode` string — Required. The postal code of the user's address.
            - `regionCode` string — Required. The 2-letter region code in ISO-3166-1 alpha-2 of the user's address.
            - `familyName` string — Required. Family (last) name of the user, all lowercase, with no punctuation, no leading or trailing whitespace, and hashed as SHA-256.
          - `phoneNumber` string — Hashed phone number using SHA-256 hash function after normalization (E164 standard).
    - `consent` Consent — [Digital Markets Act (DMA)](//digital-markets-act.ec.europa.eu/index_en) consent settings for the user.
      - `adPersonalization` 'CONSENT_STATUS_UNSPECIFIED' | 'CONSENT_GRANTED' | 'CONSENT_DENIED' — Optional. Represents if the user consents to ad personalization.
      - `adUserData` 'CONSENT_STATUS_UNSPECIFIED' | 'CONSENT_GRANTED' | 'CONSENT_DENIED' — Optional. Represents if the user consents to ad user data.
    - `mobileData` MobileData — Mobile IDs for the audience. At least one mobile ID is required.
      - `mobileIds` string[] — Required. The list of mobile device IDs (advertising ID/IDFA). At most 10 `mobileIds` can be provided in a single AudienceMember.
    - `destinationReferences` string[] — Optional. Defines which Destination to send the audience member to.
    - `ppidData` PpidData — Publisher provided identifiers data holding the ppids. At least one ppid is required. This feature is only available to data partners.
      - `ppids` string[] — Required. The list of publisher provided identifiers for a user.
    - `userData` UserData — Data that identifies the user. At least one identifier is required.
      - `userIdentifiers` UserIdentifier[] — Required. The identifiers for the user. It's possible to provide multiple instances of the same type of data (for example, multiple email addresses). To increase the likelihood of a match, provide as many identifiers as possible. At most 10 `userIdentifiers` can be provided in a single AudienceMember or Event.
        - `emailAddress` string — Hashed email address using SHA-256 hash function after normalization.
        - `address` AddressInfo — Address information for the user.
          - `givenName` string — Required. Given (first) name of the user, all lowercase, with no punctuation, no leading or trailing whitespace, and hashed as SHA-256.
          - `postalCode` string — Required. The postal code of the user's address.
          - `regionCode` string — Required. The 2-letter region code in ISO-3166-1 alpha-2 of the user's address.
          - `familyName` string — Required. Family (last) name of the user, all lowercase, with no punctuation, no leading or trailing whitespace, and hashed as SHA-256.
        - `phoneNumber` string — Hashed phone number using SHA-256 hash function after normalization (E164 standard).
    - `pairData` PairData — [PAIR](//support.google.com/admanager/answer/15067908) IDs for the audience. At least one PAIR ID is required. This feature is only available to data partners.
      - `pairIds` string[] — Required. Cleanroom-provided PII data, hashed with SHA256, and encrypted with an EC commutative cipher using publisher key for the [PAIR]((//support.google.com/admanager/answer/15067908)) user list. At most 10 `pairIds` can be provided in a single AudienceMember.
    - `userIdData` UserIdData — User id data holding the user id.
      - `userId` string — Required. A unique identifier for a user, as defined by the advertiser.
  - `validateOnly` boolean — Optional. For testing purposes. If `true`, the request is validated but not executed. Only errors are returned, not results.
  - `encryptionInfo` EncryptionInfo — Encryption information for the data being ingested.
    - `coordinatorKeyInfo` CoordinatorKeyInfo — Information about the coordinator key.
      - `keyId` string — Required. The ID of the chosen coordinator key.
    - `gcpWrappedKeyInfo` GcpWrappedKeyInfo — Information about the Google Cloud Platform wrapped key.
      - `keyType` 'KEY_TYPE_UNSPECIFIED' | 'XCHACHA20_POLY1305' — Required. The type of algorithm used to encrypt the data.
      - `wipProvider` string — Required. The [Workload Identity](//cloud.google.com/iam/docs/workload-identity-federation) pool provider required to use KEK.
      - `kekUri` string — Required. Google Cloud Platform [Cloud Key Management Service resource ID](//cloud.google.com/kms/docs/getting-resource-ids). Should be in the format of `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key}` or `gcp-kms://projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key}`
      - `encryptedDek` string — Required. The base64 encoded encrypted data encryption key.
    - `awsWrappedKeyInfo` AwsWrappedKeyInfo — A data encryption key wrapped by an AWS KMS key.
      - `kekUri` string — Required. The URI of the AWS KMS key used to decrypt the DEK. Should be in the format of `arn:{partition}:kms:{region}:{account_id}:key/{key_id}` or `aws-kms://arn:{partition}:kms:{region}:{account_id}:key/{key_id}`
      - `encryptedDek` string — Required. The base64 encoded encrypted data encryption key.
      - `roleArn` string — Required. The Amazon Resource Name of the IAM Role to assume for KMS decryption access. Should be in the format of `arn:{partition}:iam::{account_id}:role/{role_name}`
      - `keyType` 'KEY_TYPE_UNSPECIFIED' | 'XCHACHA20_POLY1305' — Required. The type of algorithm used to encrypt the data.
  - `consent` Consent — [Digital Markets Act (DMA)](//digital-markets-act.ec.europa.eu/index_en) consent settings for the user.
    - `adPersonalization` 'CONSENT_STATUS_UNSPECIFIED' | 'CONSENT_GRANTED' | 'CONSENT_DENIED' — Optional. Represents if the user consents to ad personalization.
    - `adUserData` 'CONSENT_STATUS_UNSPECIFIED' | 'CONSENT_GRANTED' | 'CONSENT_DENIED' — Optional. Represents if the user consents to ad user data.
  - `encoding` 'ENCODING_UNSPECIFIED' | 'HEX' | 'BASE64' — Optional. Required for UserData uploads. The encoding type of the user identifiers. For hashed user identifiers, this is the encoding type of the hashed string. For encrypted hashed user identifiers, this is the encoding type of the outer encrypted string, but not necessarily the inner hashed string, meaning the inner hashed string could be encoded in a different way than the outer encrypted string. For non `UserData` uploads, this field is ignored.

## Response `200`

Successful response

---

[API](https://skmtc.dev/google/apis/datamanager.md) · [All operations](https://skmtc.dev/google/apis/datamanager/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/google/datamanager/revisions/a26378ca9ba8/schema)
