Upload members to a Customer Match audience by sending an
[`IngestAudienceMembersRequest`](https://developers.google.com/data-manager/api/reference/rest/v1/audienceMembers/ingest).

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

1. Set the `termsOfService` field to a
   [`TermsOfService`](https://developers.google.com/data-manager/api/reference/rest/v1/audienceMembers/ingest#termsofservice)
   message with `customerMatchTermsOfServiceStatus` set to `ACCEPTED` to
   confirm that the `operatingAccount` accepted the
   [Customer Match terms of service](https://support.google.com/adspolicy/answer/6299717).

2. On each [`AudienceMember`](https://developers.google.com/data-manager/api/reference/rest/v1/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](https://developers.google.com/data-manager/api/devguides/audiences/send-audience-members#send-ip-timestamp),
     or both, set the `compositeData` field to a
     [`CompositeData`](https://developers.google.com/data-manager/api/reference/rest/v1/AudienceMember#compositedata) object. For
     contact information, set its `userData` field to a
     [`UserData`](https://developers.google.com/data-manager/api/reference/rest/v1/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`](https://developers.google.com/data-manager/api/reference/rest/v1/AudienceMember#ipdata) entry in the `ipData`
     list for each IP address for the audience member.


     While `https://developers.google.com/data-manager/api/reference/rest/v1/AudienceMember#FIELDS.user_data`
     is still supported, we recommend using
     `https://developers.google.com/data-manager/api/reference/rest/v1/AudienceMember#FIELDS.composite_data`
     to ensure your integration is prepared for future improvements. See [Composite
     data](https://developers.google.com/data-manager/api/devguides/audiences/send-audience-members#composite-data) for details.

     <br />

   - If the upload contains mobile IDs, set the `mobileData` field to a
     [`MobileData`](https://developers.google.com/data-manager/api/reference/rest/v1/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`](https://developers.google.com/data-manager/api/reference/rest/v1/AudienceMember#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](https://developers.google.com/data-manager/api/devguides/audiences/send-audience-members).

## Sample audience members

The following examples show how to structure an
[`AudienceMember`](https://developers.google.com/data-manager/api/reference/rest/v1/AudienceMember) object for each type of member
data. Every `AudienceMember` in a single request must have the
[same type of ID data](https://developers.google.com/data-manager/api/reference/rest/v1/AudienceMember#FIELDS.oneof_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"
      }
    }