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

# Commerce Grid Audience Segments Endpoints

export const EndpointBadge = ({method = "GET", children}) => {
  const METHOD_STYLES = {
    GET: {
      bg: "mint-bg-[#2AB673]"
    },
    POST: {
      bg: "mint-bg-[#3064E3]"
    },
    PUT: {
      bg: "mint-bg-[#C28C30]"
    },
    PATCH: {
      bg: "mint-bg-[#DA622B]"
    },
    DELETE: {
      bg: "mint-bg-[#CB3A32]"
    },
    API: {
      bg: "mint-bg-black"
    }
  };
  const key = method.toUpperCase();
  const styles = METHOD_STYLES[key] ?? METHOD_STYLES.API;
  return <div className="relative mt-7">
      <span className={`absolute -top-2 -left-2 z-10 ${styles.bg} text-white px-2.5 py-0.5 rounded-full text-xs font-bold tracking-wide`}>
        {key}
      </span>
      {children}
    </div>;
};

## **Introduction**

**Audience Segments** represent a groups of users to target.

<Info>
  **Partial Approvals**

  Bulk operations (`create`, `update`, `delete`) use a **partial approval model**. Even if some items in the request fail, the response will return `200 OK`. Any failed items will be listed in the warnings section of the response with an error code and details.

  Examples of possible warning codes:

  * `segment-not-found` → Segment is not found.
  * `name-must-be-unique` → Segment name must be unique.
  * `name-must-not-be-empty` → Segment name property must not be empty.

  This list is not exhaustive. Additional warnings may be returned depending on the request context.
</Info>

<Warning>
  **Note on Audience Computation**

  Audience updates are processed daily at 0h UTC and 12h UTC and can take around 5 hours to reflect on a live campaign. This is important for audiences that are frequently updated as changes should be ready for processing prior to these two times.
</Warning>

***

## Endpoints

<table>
  <thead>
    <tr>
      <th>
        <p>
          Verb
        </p>
      </th>

      <th>
        <p>
          Endpoint
        </p>
      </th>

      <th>
        <p>
          Description
        </p>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        <p>
          <b>
            POST
          </b>
        </p>
      </td>

      <td>
        <p>
          <code>
            /commerce-grid/audience-segments/create
          </code>
        </p>
      </td>

      <td>
        <p>
          Create a new Audience Segment
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <b>
            PATCH
          </b>
        </p>
      </td>

      <td>
        <p>
          <code>
            /commerce-grid/audience-segments
          </code>
        </p>
      </td>

      <td>
        <p>
          Update an Audience Segment
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <b>
            POST
          </b>
        </p>
      </td>

      <td>
        <p>
          <code>
            /commerce-grid/audience-segments/delete
          </code>
        </p>
      </td>

      <td>
        <p>
          Delete an Audience Segment
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <b>
            POST
          </b>
        </p>
      </td>

      <td>
        <p>
          <code>
            /commerce-grid/audience-segments/search
          </code>
        </p>
      </td>

      <td>
        <p>
          Search for Audience Segments by segment IDs, data provider IDs and/or segment types
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <b>
            GET
          </b>
        </p>
      </td>

      <td>
        <p>
          <code>
            /commerce-grid/audience-segments/\{audienceSegmentId}/contact-list/statistics
          </code>
        </p>
      </td>

      <td>
        <p>
          Retrieve contact list statistics
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <b>
            POST
          </b>
        </p>
      </td>

      <td>
        <p>
          <code>
            /commerce-grid/audience-segments/\{audienceSegmentId}/contact-list/add-remove
          </code>
        </p>
      </td>

      <td>
        <p>
          Add/remove identifiers in contact list Audience Segment
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <b>
            POST
          </b>
        </p>
      </td>

      <td>
        <p>
          <code>
            /commerce-grid/audience-segments/\{audienceSegmentId}/contact-list/clear
          </code>
        </p>
      </td>

      <td>
        <p>
          Clear all identifiers in contact list Audience Segment
        </p>
      </td>
    </tr>
  </tbody>
</table>

***

## Audience Segment Attributes

<table>
  <thead>
    <tr>
      <th>
        <p>
          Attribute
        </p>
      </th>

      <th>
        <p>
          Data Type
        </p>
      </th>

      <th>
        <p>
          Description
        </p>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        <p>
          <code>
            id
          </code>

          /

          <code>
            audienceSegmentId
          </code>
        </p>
      </td>

      <td>
        <p>
          string
        </p>
      </td>

      <td>
        <p>
          Audience Segment ID, generated internally by Criteo
        </p>

        <p>
          Accepted values: string of int64
        </p>

        <p>
          Writeable? N / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            name
          </code>

          <span>\*</span>
        </p>
      </td>

      <td>
        <p>
          string
        </p>
      </td>

      <td>
        <p>
          Audience Segment name
        </p>

        <p>
          Accepted values: string
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            description
          </code>
        </p>
      </td>

      <td>
        <p>
          string
        </p>
      </td>

      <td>
        <p>
          Description of the Audience Segment
        </p>

        <p>
          Accepted values: string
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            dataProviderId
          </code>

          <span>\*</span>
        </p>
      </td>

      <td>
        <p>
          string
        </p>
      </td>

      <td>
        <p>
          Data Provider ID associated with the Audience Segment, generated internally by Criteo
        </p>

        <p>
          Accepted values: string of int64
        </p>

        <p>
          Writeable? N / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            type
          </code>
        </p>
      </td>

      <td>
        <p>
          enum
        </p>
      </td>

      <td>
        <p>
          Type of segment
        </p>

        <p>
          Read-only value, which can be one of:
        </p>

        <ul>
          <li>
            <code>
              ContactList
            </code>

            : users segment defined by list of contact identifiers, manageable by the other endpoints
          </li>
        </ul>

        <p>
          Writeable? N / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            contactList
          </code>
        </p>
      </td>

      <td>
        <p>
          object
        </p>
      </td>

      <td>
        <p>
          Setting to target users with contact list.
        </p>

        <p>
          See below for more details
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            createdAt
          </code>
        </p>
      </td>

      <td>
        <p>
          timestamp
        </p>
      </td>

      <td>
        <p>
          Timestamp of Audience Segment creation, in UTC
        </p>

        <p>
          Accepted values:

          <code>
            yyyy-mm-ddThh:mm:ss.msZ
          </code>

          (in

          <a href="https://www.iso.org/iso-8601-date-and-time-format.html">
            ISO-8601
          </a>

          )
        </p>

        <p>
          Writeable? N / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            updatedAt
          </code>
        </p>
      </td>

      <td>
        <p>
          timestamp
        </p>
      </td>

      <td>
        <p>
          Timestamp of last Audience Segment update, in UTC
        </p>

        <p>
          Accepted values:

          <code>
            yyyy-mm-ddThh:mm:ss.msZ
          </code>

          (in

          <a href="https://en.wikipedia.org/wiki/ISO_8601">
            ISO-8601
          </a>

          )
        </p>

        <p>
          Writeable? N / Nullable? N
        </p>
      </td>
    </tr>
  </tbody>
</table>

*\*Required at create operation*

<Info>
  **Field Definitions**

  * **Writeable (Y/N)**: Indicates if the field can be modified in requests.
  * **Nullable (Y/N)**: Indicates if the field can accept null/empty values.
  * **Primary Key**: A unique, immutable identifier of the entity, generated internally by Criteo. Primary keys are typically ID fields (e.g., `retailerId`, `campaignId`, `lineItemId`) and are usually required in the URL path.
</Info>

***

## Contact List Segment Attributes

<table>
  <thead>
    <tr>
      <th>
        <p>
          Attribute
        </p>
      </th>

      <th>
        <p>
          Data Type
        </p>
      </th>

      <th>
        <p>
          Description
        </p>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        <p>
          <code>
            remoteId
          </code>
        </p>
      </td>

      <td>
        <p>
          string
        </p>
      </td>

      <td>
        <p>
          ID owned by the client and used to identify the Audience Segment. If none is provided, one will be generated internally by Criteo
        </p>

        <p>
          Accepted values: string
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>
  </tbody>
</table>

<Info>
  **Field Definitions**

  * **Writeable (Y/N)**: Indicates if the field can be modified in requests.
  * **Nullable (Y/N)**: Indicates if the field can accept null/empty values.
  * **Primary Key**: A unique, immutable identifier of the entity, generated internally by Criteo. Primary keys are typically ID fields (e.g., `retailerId`, `campaignId`, `lineItemId`) and are usually required in the URL path.
</Info>

***

## Create Audience Segment

This endpoint allows creating  **Audience Segments**.

<Warning>
  The corresponding App should have the "**Audiences Manage**" permission enabled.
</Warning>

<EndpointBadge method="post">
  ```http theme={null}
  https://api.criteo.com/{version}/commerce-grid/audience-segments/create
  ```
</EndpointBadge>

**Sample Request**

```bash theme={null}
curl -L -X POST 'https://api.criteo.com/{version}/commerce-grid/audience-segments/create' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <MY_ACCESS_TOKEN>' \
-d '{
  "data": [
    {
      "type": "CommerceGridAudienceSegment",
      "attributes": {
        "name": "CRM Users 2025",
        "description": "Segment made of CRM user emails",
        "dataProviderId": "94",
        "contactList": {
          "remoteId": "crm_users.csv"
        }
      }
    },
  ]
}'
```

**Sample Response**

```json theme={null}
{
  "data": [
    {
      "attributes": {
        "name": "CRM Users 2025",
        "description": "Segment made of CRM user emails",
        "type": "ContactList",
        "createdAt": "2025-12-12T13:44:53.29Z",
        "updatedAt": "2025-12-12T13:44:53.29Z",
        "dataProviderId": "94",
        "remoteId": "crm_users.csv",
        "contactList": {}
      },
      "id": "787314040225128448",
      "type": "CommerceGridAudienceSegment"
    }
  ],
  "warnings": [],
  "errors": []
}
```

**Sample Request** - auto-generated `remoteId`

```bash theme={null}
curl -L -X POST 'https://api.criteo.com/{version}/commerce-grid/audience-segments/create' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <MY_ACCESS_TOKEN>' \
-d '{
  "data": [
    {
      "type": "CommerceGridAudienceSegment",
      "attributes": {
        "name": "CRM Users 2024",
        "description": "Segment made of CRM user emails",
        "dataProviderId": "94",
        "contactList": {}
      }
    },
  ]
}'
```

**Sample Response**

```json theme={null}
{
  "data": [
    {
      "attributes": {
        "name": "CRM Users 2024",
        "description": "Segment made of CRM user emails",
        "type": "ContactList",
        "createdAt": "2025-12-12T13:58:12.5366667Z",
        "updatedAt": "2025-12-12T13:58:12.5366667Z",
        "dataProviderId": "94",
        "remoteId": "787317394479550464",
        "contactList": {}
      },
      "id": "787317394479550464",
      "type": "CommerceGridAudienceSegment"
    }
  ],
  "warnings": [],
  "errors": []
}
```

### Partial `200 OK` response

```json theme={null}
{
    "data": [],
    "warnings": [],
    "errors": [
        {
            "traceId": "0ab8cdc52e17ecfd1ba9e5d1dacd102a",
            "traceIdentifier": "0ab8cdc52e17ecfd1ba9e5d1dacd102a",
            "type": "validation",
            "code": "name-must-be-unique",
            "instance": "@data/0",
            "title": "Segment name must be unique",
            "detail": "Another segment exists with the name: CRM users 2025"
        }
    ]
}
```

***

## Update Audience Segment

This endpoint allows updating **Audience Segments**.

<Warning>
  The corresponding App should have the "**Audiences Manage**" permission enabled.
</Warning>

<EndpointBadge method="patch">
  ```http theme={null}
  https://api.criteo.com/{version}/commerce-grid/audience-segments
  ```
</EndpointBadge>

**Sample Request**

```bash theme={null}
curl -L -X PATCH 'https://api.criteo.com/{version}/commerce-grid/audience-segments' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <MY_ACCESS_TOKEN>' \
-d '{
  "data": [
    {
      "id": "738406688413290496",
      "type": "CommerceGridAudienceSegment",
      "attributes": {
        "name": "CRM User E-mails 2025 (Updated)",
        "description": {
          "value": "Segment made of CRM user e-mails (Updated)"
        }
      }
    }
  ]
}'
```

**Sample Response**

```json theme={null}
{
  "data": [
    {
      "attributes": {
        "name": "CRM User E-mails 2025 (Updated)",
        "description": "Segment made of CRM user e-mails (Updated)",
        "type": "ContactList",
        "createdAt": "2025-12-12T13:44:53.29Z",
        "updatedAt": "2025-12-12T13:46:39.4833333Z",
        "dataProviderId": "94",
        "remoteId": "crm_users.csv",
        "contactList": {}
      },
      "id": "787314040225128448",
      "type": "CommerceGridAudienceSegment"
    }
  ],
  "warnings": [],
  "errors": []
}
```

***

## Delete Audience Segment

This endpoint allows deleting **Audience Segments**, either one by one or multiple of them.

<Warning>
  The corresponding App should have the "**Audiences Manage**" permission enabled.
</Warning>

<EndpointBadge method="post">
  ```http theme={null}
  https://api.criteo.com/{version}/commerce-grid/audience-segments/delete
  ```
</EndpointBadge>

**Sample Request**

```bash theme={null}
curl -L -X POST 'https://api.criteo.com/{version}/commerce-grid/audience-segments/delete' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <MY_ACCESS_TOKEN>' \
-d '{
  "data": [
    {
      "id": "738406561971802112",
      "type": "CommerceGridAudienceSegment"
    }
  ]
}'
```

**Sample Response**

```json theme={null}
{
    "data": [
        {
            "id": "738406561971802112",
            "type": "CommerceGridAudienceSegment"
        }
    ],
    "warnings": [],
    "errors": []
}
```

***

## Search for Audience Segments

This endpoint allows searching for existing **Audience Segments** that satisfy one or multiple attributes at the same time.

Results are paginated using `offset` and `limit` query parameters; if omitted, defaults to`0` and `50` respectively. The maximum `limit` is `100`.

<EndpointBadge method="post">
  ```http theme={null}
  https://api.criteo.com/{version}/commerce-grid/audience-segments/search
  ```
</EndpointBadge>

**Sample Request:**

```bash theme={null}
curl -L -X POST 'https://api.criteo.com/{version}/commerce-grid/audience-segments/search?limit=50&offset=0' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <MY_ACCESS_TOKEN>' \
-d '{
  "data": {
    "type": "CommerceGridAudienceSegmentSearch",
    "attributes": {
      "dataProviderIds": [
        "94"
      ],
      "audienceSegmentTypes": [
        "ContactList"
      ]
    }
  }
}'
```

**Sample Response**

```json expandable theme={null}
{
    "meta": {
        "totalItems": 400,
        "limit": 50,
        "offset": 0
    },
    "data": [
        {
            "id": "203134567785554216",
            "type": "CommerceGridAudienceSegment",
            "attributes": {
                "name": "Segment Name",
                "type": "ContactList",
                "createdAt": "2024-01-15T12:23:18.180Z",
                "updatedAt": "2024-01-15T12:23:18.180Z",
                "dataProviderId": "94",
                "remoteId": "users.csv",
                "contactList": { }
            }
        },
        // ...
        {
            "id": "225702933721171456",
            "type": "CommerceGridAudienceSegment",
            "attributes": {
                "name": "Segment Name",
                "type": "ContactList",
                "createdAt": "2024-01-23T09:33:40.822Z",
                "updatedAt": "2024-01-23T09:33:40.822Z",
                "dataProviderId": "94",
                "remoteId": "some-other-id",
                "contactList": { }
            }
        }
    ],
    "errors": [],
    "warnings": []
}
```

***

## Get Contact List Segment Statistics

This endpoint allows retrieving statistics from a contact list **Audience Segment**.

<EndpointBadge method="get">
  ```http theme={null}
  https://api.criteo.com/{version}/commerce-grid/audience-segments/{audienceSegmentId}/contact-list/statistics
  ```
</EndpointBadge>

**Sample Request**

```bash theme={null}
curl -L -X GET 'https://api.criteo.com/{version}/commerce-grid/audience-segments/225702933721171456/contact-list/statistics' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <MY_ACCESS_TOKEN>'
```

**Sample Response**

```json theme={null}
{
    "data": {
        "id": "225702933721171456",
        "identifierType": "CommerceGridContactListStatistics",
        "attributes": {
            "numberOfIdentifiers": 10000,
            "numberOfMatches": 5000,
            "matchRate": 0.5
        }
    },
    "errors": [],
    "warnings": []
}
```

***

## Add/Remove identifiers in Contact List Audience Segment

This endpoint allows to add/remove users in a specific contact list **Audience Segment**.

<Note>
  Set `Add` or `Remove` in the `operation` attribute in the request to indicate if you want to add or remove the list of identifiers from the contact list.
</Note>

<Warning>
  The corresponding App should have the "**Audiences Manage**" permission enabled.
</Warning>

<table>
  <thead>
    <tr>
      <th>
        <p>
          Attribute
        </p>
      </th>

      <th>
        <p>
          Data Type
        </p>
      </th>

      <th>
        <p>
          Description
        </p>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        <p>
          <code>
            operation
          </code>
        </p>
      </td>

      <td>
        <p>
          enum
        </p>
      </td>

      <td>
        <p>
          Operation required for the sub-set of users provided in the request
        </p>

        <p>
          Accepted values:

          <code>
            Add
          </code>

          ,

          <code>
            Remove
          </code>
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            identifierType
          </code>
        </p>
      </td>

      <td>
        <p>
          enum
        </p>
      </td>

      <td>
        <p>
          Type of identifiers that are being uploaded
        </p>

        <p>
          Accepted values:

          <code>
            Email
          </code>

          ,

          <code>
            MadId
          </code>

          ,

          <code>
            UserIdentifier
          </code>

          ,

          <code>
            IdentityLink
          </code>

          (LiveRamp IDs),

          <code>
            BidSwitchId
          </code>

          ,

          <code>
            FTrackId
          </code>

          ,

          <code>
            PanoramaId
          </code>

          ,

          <code>
            HadronId
          </code>

          ,

          <code>
            IpAddressV4
          </code>

          ,

          <code>
            PageUrl
          </code>

          ,

          <code>
            PageDomain
          </code>

          ,

          <code>
            AppId
          </code>
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            identifiers
          </code>
        </p>
      </td>

      <td>
        <p>
          string\[]
        </p>
      </td>

      <td>
        <p>
          Array of identifiers represented as strings
        </p>
      </td>
    </tr>
  </tbody>
</table>

<EndpointBadge method="post">
  ```http theme={null}
  https://api.criteo.com/{version}/commerce-grid/audience-segments/{audience-segment-id}/contact-list/add-remove
  ```
</EndpointBadge>

**Sample Request** - adding users to existing audience segment

```bash theme={null}
curl -L -X POST 'https://api.criteo.com/{version}/commerce-grid/audience-segments/225702933721171456/contact-list/add-remove' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <MY_ACCESS_TOKEN>' \
-d '{
  "data": {
    "type": "AddRemoveContactlist",
    "attributes": {
      "operation": "Add",
      "identifierType": "Email",
      "identifiers": [
        "abc@gmail.com",
        "def@gmail.com",
        "aef@gmail.com"
      ]
    }
  }
}'
```

**Sample Response**

```json theme={null}
{
    "data": {
        "type": "AddRemoveContactlistResult",
        "attributes": {
            "contactListId": 523103620165619700,
            "operation": "Add",
            "requestDate": "2024-04-22T14:29:07.994Z",
            "identifierType": "Email",
            "nbValidIdentifiers": 3,
            "nbInvalidIdentifiers": 0,
            "sampleInvalidIdentifiers": []
        }
    },
    /* omitted if no errors */
    "errors": [],
    /* omitted if no warnings */
    "warnings": []
}
```

**Sample Request** - removing users from existing audience segment

```bash theme={null}
curl -L -X POST 'https://api.criteo.com/{version}/commerce-grid/audience-segments/225702933721171456/contact-list/add-remove' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <MY_ACCESS_TOKEN>' \
-d '{
  "data": {
    "type": "ContactlistAmendment",
    "attributes": {
      "operation": "Remove",
      "identifierType": "Email",
      "identifiers": [
        "example1@gmail.com"
      ]
    }
  }
}'
```

**Sample Response**

```json theme={null}
{
    "data": {
        "type": "ContactlistAmendment",
        "attributes": {
            "operation": "Remove",
            "requestDate": "2018-12-10T10:00:50.000Z",
            "identifierType": "Email",
            "nbValidIdentifiers": 7342,
            "nbInvalidIdentifiers": 13,
            "sampleInvalidIdentifiers": [
                "InvalidIdentifier"
            ]
        }
    },
    /* omitted if no errors */
    "errors": [],
    /* omitted if no warnings */
    "warnings": []
}
```

<Danger>
  **Identifier List Size Limit**

  Note that there is a limit of **50,000 identifiers per single request**. If you are adding more than 50,000 users, please split them into chunks of 50,000 and make multiple requests.
</Danger>

***

## Clear all identifiers in Contact List Audience Segment

This endpoint resets a contact list **Audience Segment**, erasing all existing users identifiers.

<Warning>
  The corresponding App should have the "**Audiences Manage**" permission enabled.
</Warning>

<EndpointBadge method="post">
  ```http theme={null}
  https://api.criteo.com/{version}/commerce-grid/audience-segments/{audienceSegmentId}/contact-list/clear
  ```
</EndpointBadge>

**Sample Request**

```bash theme={null}
curl -L -X POST 'https://api.criteo.com/{version}/commerce-grid/audience-segments/225702933721171456/contact-list/clear' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <MY_ACCESS_TOKEN>'
```

**Sample Response**

🟢 204 No Content (empty response body)

<Info>
  Note that this will only wipe all of the users from the audience segment and will not delete the audience segment itself.
</Info>

<Warning>
  **Note on Audience Computation**

  Audience updates are processed daily at 0h UTC and 12h UTC and can take around 5 hours to reflect on a live campaign. This is important for audiences that are frequently updated as changes should be ready for processing prior to these two times.
</Warning>
