Upload members to an audience

Upload members to a Customer Match audience by sending an IngestAudienceMembersRequest.

To configure and send the request, complete the following steps:

  1. Set the termsOfService field to a TermsOfService message with customerMatchTermsOfServiceStatus set to ACCEPTED to confirm that the operatingAccount accepted the Customer Match terms of service.

  2. On each AudienceMember in the audienceMembers list, set the data field based on the type of data the upload contains:

    • If the upload contains contact information, IP address data, or both, set the compositeData field to a CompositeData object. For contact information, set its userData field to a UserData object and add a separate entry in the userIdentifiers list for each identifier for the audience member. For IP address data, add an IpData entry in the ipData list for each IP address for the audience member.

      While userData is still supported, we recommend using compositeData to ensure your integration is prepared for future improvements. See Composite data for details.

    • If the upload contains mobile IDs, set the mobileData field to a MobileData message. Add a separate entry in the mobileIds list for each mobile ID for the audience member.

    • If the upload contains user IDs, set the userIdData field to a UserIdData message, and set its userId field to the user ID for the audience member.

  3. Send Customer Match data using the steps in Send audience members.

Sample audience members

The following examples show how to structure an AudienceMember object for each type of member data. Every AudienceMember in a single request must have the same type of ID data set (compositeData, mobileData, or userIdData):

Contact information

{
  "compositeData": {
    "userData": {
      "userIdentifiers": [
        {
          "emailAddress": "07e2f1394b0ea80e2adca010ea8318df697001a005ba7452720edda4b0ce57b3"
        },
        {
          "phoneNumber": "59d82f53a4fb9f3a3cd16e8b92bc41908db7a8bc3c90e292ef99fe19260292d1"
        }
      ]
    }
  }
}

IP address data

{
  "compositeData": {
    "ipData": [
      {
        "ipAddress": "203.0.113.98",
        "observeStartTime": "2026-06-10T20:17:52.0-04:00",
        "observeEndTime": "2026-06-17T04:02:04.123-04:00"
      }
    ]
  }
}

Contact and IP data

{
  "compositeData": {
    "userData": {
      "userIdentifiers": [
        {
          "emailAddress": "07e2f1394b0ea80e2adca010ea8318df697001a005ba7452720edda4b0ce57b3"
        },
        {
          "phoneNumber": "59d82f53a4fb9f3a3cd16e8b92bc41908db7a8bc3c90e292ef99fe19260292d1"
        }
      ]
    },
    "ipData": [
      {
        "ipAddress": "203.0.113.98",
        "observeStartTime": "2026-06-10T20:17:52.0-04:00",
        "observeEndTime": "2026-06-17T04:02:04.123-04:00"
      }
    ]
  }
}

Mobile IDs

{
  "mobileData": {
    "mobileIds": [
      "123e4567-e89b-12d3-a456-426614174000"
    ]
  }
}

User IDs

{
  "userIdData": {
    "userId": "user_987654321"
  }
}