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

# Meta Custom Audiences

> Sync first-party audiences to Meta Ads Manager for better targeting, lookalikes, and suppression across your campaigns.

## Overview

Deliver even more relevant ads by combining data from various sources within your data warehouse to build custom audiences for Meta Ads. By keeping your custom audiences updated automatically, never show an ad to someone after they purchase the item you were promoting.

## Supported syncing

| Sync type | Description | Supported sync modes | API reference |
| - | - | - | - |
| [**Audiences**](#syncing-custom-audiences) | Create and update custom audiences in Meta | Add, Remove | [Custom Audiences docs](https://developers.facebook.com/docs/marketing-api/audiences/guides/custom-audiences) |

For more information about sync modes, refer to the [sync modes](https://docs.hightouch.com/syncs/types-and-modes.md#sync-modes) docs.

## Connect to Meta Custom Audiences

Go to the [**Destinations** overview page](https://app.hightouch.com/destinations?from=docs) and click the **Add destination** button. Select **Meta Custom Audiences** and click **Continue**. You can then authenticate Hightouch to Meta Custom Audiences either with a system user token or with OAuth.

Since the OAuth flow requires you to manually refresh this connection every 60 days, we strongly recommend using a system user token for indefinite access.

> [!WARNING]
>
> Make sure to select an **Ad Account** on the destination configuration page.
> Otherwise, your sync fails with an [`'undefined' does not
>     exist`](#unsupported-post-request-object-with-id-undefined-does-not-exist)
> error.

### Authenticate with a system user token

When authenticating with a system user token you can choose to either use an existing one or create a new one for the Hightouch integration.
To use an [existing system user token](#use-an-existing-system-user-token), you must meet the following prerequisites:

* The system user whose token you'd like to use has the `Employee` role. (`Admin` also works, but [Meta limits each business to a single Admin system user](https://developers.facebook.com/docs/business-management-apis/system-users/overview) and recommends using a regular system user to access assets, so `Employee` is the practical choice.)
* You've created an app to add as an assigned asset to the system user. For detailed instructions, see steps 1 - 5 from [creating a new system user token](#create-a-new-system-user-token).
* You've assigned the ad account that you want to create audiences for to the system user. For detailed instructions, see step 8 from [creating a new system user token](#create-a-new-system-user-token).

If you haven't met these prerequisites, follow the instructions for [creating a new system user token](#create-a-new-system-user-token).

#### Create a new system user token

To create a new token, you first need to add a new app.

> [!NOTE]
>
> You create the app in the Meta developer portal, then create the system user and generate its token in **Settings** at [business.facebook.com](https://business.facebook.com).

> [!NOTE]
>
> Meta is replacing its older app-creation workflow with a use-case-based flow. The **legacy workflow** is still available as the **Other** option (under **Looking for something else?**, marked "going away soon"), which creates the app in Meta's old experience where you choose permissions manually.\
> **Existing apps** created with **Other** keep working — you don't need to recreate them.\
> **New apps** should follow the use-case flow below: selecting any of the three Marketing API use cases (**Create & manage ads with Marketing API**, **Measure ad performance data with Marketing API**, or **Capture & manage ad leads with Marketing API**) attaches the `ads_management` permission this integration needs.

![Meta app creation showing the deprecating Other option and the option to create an app without a use case](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-app-use-case-other.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=5117836860abd2d55f99ac23b22337d9)

Create the app in the [Meta developer portal](https://developers.facebook.com/apps/creation/). Meta's wizard walks you through five steps: **App details**, **Use cases**, **Business**, **Requirements**, and **Overview**:

1. Enter a name and contact email.

![Entering the app name and contact email on the App details step](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-app-details.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=469c026de853307b4242f7241a72af27)

2. Select a Marketing API use case such as **Create & manage ads with Marketing API**. Per Meta's [use case permission mapping](https://developers.facebook.com/documentation/development/create-an-app#use-case-permission-mapping), any of the three attaches the `ads_management` this integration needs and makes `business_management` available — you select both when generating the token (step 12).

![Selecting a Marketing API use case during app creation](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-app-use-case.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=02c09265cab43072683f56887aa8dd65)

3. Connect the business portfolio that owns the ad account you want to sync to.

![Connecting a business portfolio to the app](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-app-business.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=cbeddcdd657b788f9febcef562c25c50)

4. Review any listed requirements — typically none when you're accessing your own ad account.

![Reviewing app publishing requirements](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-app-requirements.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=461da1dbe5cf0739048f1c43792f46b7)

5. Review the summary, then select **Create app**.

![Reviewing and creating the app](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-app-overview.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=7da10a328d243f683dfa245024430008)

6. In **Settings** at [business.facebook.com](https://business.facebook.com), go to **Users** → **System users** and add a new system user with the **Employee** role. [Meta caps each business at one Admin system user and recommends a regular system user for asset access](https://developers.facebook.com/docs/business-management-apis/system-users/overview).

![Creating a system user with the Employee role](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-system-user.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=1b49f68078c4a2248faaa49bd38425a9)

7. Select the system user you just created, then click **Assign assets**.

![Selecting the system user and clicking Assign assets](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-assign-assets.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=70b31cf3fe27677d30983b835a575d2c)

8. Assign ***both*** the app (under **Apps**) and the ad account you want to create audiences for (under **Ad accounts**), granting each **Full access** — not **Partial access** — then click **Assign assets**.

![Granting the app and ad account Full access](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-asset-permissions.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=205c5e1da8a6ab2bd37411bfec2a13f7)

9. Back on the system user, select **Generate token**.

![Screenshot of the Meta Business account UI](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-user-access-token-10.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=24e343172af491077b02a28b99145c4e)

10. Choose the app you created to generate the token.

![Screenshot of the Meta Business account UI](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-user-access-token-11.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=49bfeca33d130dd88c7cb18dc5a0f8e2)

11. Set the expiration policy to **Never** so the token doesn't lapse and interrupt your syncs. (Meta labels **60 days** as recommended, but a system user token is meant for indefinite access.)

![Screenshot of the Meta Business account UI](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-user-access-token-12.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=fba6859ec9129468d20b05a42ad1d193)

12. Ensure that both the `ads_management` and `business_management` permissions are selected, then click **Generate token**. Hightouch uses `ads_management` to create and update your custom audiences, and `business_management` to list ad accounts, select existing audiences, and run the test connection.

> [!WARNING]
>
> You can't change a token's permissions after it's generated. To add a permission later, you need to generate a new token.

![Selecting the ads\_management and business\_management permissions](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-token-permissions.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=1dfc06368a0bf60514e6d6de4d14b0cc)

13. Copy the generated token. Since this token won't be stored in Meta, you may want to consider storing it in a secure password vault as well.

![Screenshot of the Meta Business account UI](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-user-access-token-14.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=6714170467a1e5690635174b1d398408)

14. Back in Hightouch, select **Use system user token** as the **Authentication method**, then paste the token you generated as the **System User Token**, select the relevant **Ads Account**, and click **Continue**.

![Screenshot of the Meta Business account UI](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-user-access-token-15.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=29579426ad2ee85b0bb2e2c78f3faebd)

#### Use an existing system user token

If you already have a Meta app and system user setup, in **Settings** at [business.facebook.com](https://business.facebook.com), go to **Users** → **System users**.

1. Once you've selected the existing user and assets are assigned, select **Generate token**.

![Screenshot of the Meta Business account UI](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-user-access-token-10.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=24e343172af491077b02a28b99145c4e)

2. Choose the app you created to generate the token.

   ![Screenshot of the Meta Business account UI](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-user-access-token-11.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=49bfeca33d130dd88c7cb18dc5a0f8e2)

3. Set the expiration policy to **Never** so the token doesn't lapse and interrupt your syncs. (Meta labels **60 days** as recommended, but a system user token is meant for indefinite access.)

![Screenshot of the Meta Business account UI](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-user-access-token-12.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=fba6859ec9129468d20b05a42ad1d193)

4. Ensure that both the `ads_management` and `business_management` permissions are selected, then click **Generate token**. Hightouch uses `ads_management` to create and update your custom audiences, and `business_management` to list ad accounts, select existing audiences, and run the test connection. You can't change a token's permissions after it's generated — to add a permission later, generate a new token.

![Selecting the ads\_management and business\_management permissions](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-token-permissions.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=1dfc06368a0bf60514e6d6de4d14b0cc)

5. Copy the generated token. Since this token won't be stored in Meta, you may want to consider storing it in a secure password vault as well.

![Screenshot of the Meta Business account UI](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-user-access-token-14.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=6714170467a1e5690635174b1d398408)

6. Back in Hightouch, select **Use system user token** as the **Authentication method**, then paste the token you generated as the **System User Token**, select the relevant **Ads Account**, and click **Continue**.

![Screenshot of the Meta Business account UI](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-user-access-token-15.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=29579426ad2ee85b0bb2e2c78f3faebd)

### Authenticate with OAuth

For the **Authentication method**, select **Log in to Meta** and log into your Meta account.

Once successful, you will be redirected back to Hightouch to enter a descriptive name for your destination and complete setup.

## Sync configuration

Once you've set up your Meta Custom Audiences destination and have a [model](https://docs.hightouch.com/getting-started/concepts.md#models) to pull data from, you can set up your sync configuration to begin syncing data. Go to the [**Syncs** overview page](https://app.hightouch.com/syncs?from=docs) and click the **Add sync** button to begin. Then, select the relevant model and the Meta Custom Audiences destination you want to sync to.

### Syncing custom audiences

Hightouch lets you create and maintain custom audiences via the [Meta Custom Audience API](https://developers.facebook.com/docs/marketing-api/reference/custom-audience/).
Each sync adds new users and updates existing users' identifiers you include in [record matching](#record-matching).
You can remove users that leave your model's query result by selecting this option in the sync's [delete behavior](#delete-behavior).

#### Select an existing audience or create a new one

You can create a new audience or use an existing one. When creating a new audience, you can optionally enter a name; otherwise, Hightouch defaults to the name of the associated model. To use an existing audience, select the desired audience from the dropdown.

#### User identifiers

To identify which users to add or update in an audience, select model columns and the corresponding Meta Custom Audience fields.
You can match on default, custom, and Meta-specific fields.

Meta-specific fields include:

* [**External ID**](https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/external-id/): a custom identifier that you send to Meta via its APIs or tracking pixels
* **Page-scoped ID**: an ID used for Meta messenger apps and Meta pages

To increase the match rate for your records, include as many fields as possible.

> [!TIP]
>
> Increase match rates in Meta Custom Audiences by enabling [Match Booster](https://docs.hightouch.com/match-booster/overview.md).

> [!NOTE]
>
> If you map an identifier field that contains an array of values, Hightouch automatically fans out each element into a separate record when syncing to Meta Custom Audiences. Learn more about [array identifier fan-out](https://docs.hightouch.com/syncs/array-identifier-fan-out.md).

#### Value-based audiences

If you're creating a new Meta Audience, you can create a [value-based audience](https://www.facebook.com/business/help/917879191754763?id=401668390442328) by mapping a numerical model column containing lifetime values to the **Lookalike Value** field.

![Screenshot of Lookalike Value field mapping](https://mintcdn.com/hightouch-3c037897/L_vQfA0JQEpeGUUo/images/destinations/destination-meta-custom-audiences-lookalike.png?fit=max\&auto=format\&n=L_vQfA0JQEpeGUUo\&q=85\&s=313a5138101ccf804c29e87f4e8bd25a)

You can then create a lookalike audience in Meta that finds the people most similar to your highest value customers. For more information refer to [Meta's docs](https://www.facebook.com/business/help/458132024732845?id=401668390442328).

#### Handling PII and hashing

By default, Hightouch automatically hashes the following fields before sending
requests to Meta:

* **Email**
* **Phone**
* **Gender**
* **First Name**
* **Last Name**
* **First Initial**
* **State**
* **City**
* **Zip Code**
* **Country**

You can disable this behavior in the sync configuration. If disabled, the data from the model should be appropriately normalized and hashed according to [Meta's hashing requirements](https://developers.facebook.com/docs/marketing-api/audiences/guides/custom-audiences/#hash).

#### Share your audience

Optionally share this audience with another Meta advertising account.

#### Delete behavior

You can choose how to handle user records in Meta when the corresponding rows are deleted in your source.

| Behavior | Description |
| - | - |
| **Do nothing** | Keep the contact in your Meta Custom Audience |
| **Remove from list** | Remove the contact from your Meta Custom Audience |

#### Clear and fill

Where [clear and fill](https://docs.hightouch.com/syncs/resync-reset-clear.md#clear-and-fill) is enabled for your workspace, Hightouch empties and refills the audience inside a single Meta replace session. Meta then applies the new membership in the background, which can take several hours. During that time Meta discards any rows uploaded to the audience, and it reports no error when it does.

To protect the refilled audience, Hightouch holds the sync's runs after a clear and fill. Scheduled runs are skipped and manual runs are declined until the hold lifts, and the next run then picks up everything that changed in the meantime. Running another clear and fill during the hold is still allowed, since it replaces the audience again. The default hold is 24 hours. Under **Advanced**, you can set **How long should runs wait after a clear and fill?** to any value from 5 to 48 hours. A shorter hold risks losing the rows sent before Meta finishes; if you shorten it, compare the audience's matched count the following day before relying on it.

Two Meta limits apply. Meta can't replace an audience with more than 100 million members, so clear and fill fails on those. Clear and fill also isn't available for syncs that match on Page-scoped ID.

## Validate your setup

After you configure your sync, run a test to confirm data flows correctly:

1. Start with a small test audience or a single record.
2. Trigger a manual sync from the [Syncs overview](https://app.hightouch.com/syncs?from=docs) page.
3. After the sync completes, verify the audience in Meta Ads Manager:
   * Go to [Audiences](https://adsmanager.facebook.com/adsmanager/audiences) and search for the audience name you configured in Hightouch.
   * Confirm the audience size reflects the expected number of records. Meta may take up to 24 hours to fully process the audience.
4. If the sync shows errors, check the sync run log in Hightouch for specific API error messages.

## Tips and troubleshooting

To see the exact API requests and responses from each sync run, use the [live debugger](https://docs.hightouch.com/syncs/debugger.md). To get notified by Slack, PagerDuty, SMS, or email when a sync fails, set up [sync alerts](https://docs.hightouch.com/syncs/alerting.md). If you run into an issue this page doesn't cover, [contact support](#pylon-chat).

### Matched users count

Hightouch retrieves the audience metadata from Meta in real-time. The matched number displayed in Hightouch should reflect what you see in Meta. Note that the matched numbers are approximated to maintain privacy thresholds. Hightouch takes the matched count to calculate a match rate for your sync, where applicable. The calculation breakdown:

`matched_user_count / # of rows queried in the latest sync run`

The match rate is **not** calculated when:

* syncing to an existing segment because the total number of records to ever be uploaded to the segment is unknown
* removed users from your model is not removed in Meta because the matched user count would be inflated in the calculation

Common causes for low match rates:

* Your audience model is too small. Most ad platforms do not display the matched number unless there's at least one thousand matched users to maintain privacy thresholds.
* The upload is still processing. We recommend waiting at least **72 hours** from the first sync run for numbers to settle.
* Your data isn’t cleaned or hashed properly. Hightouch normalizes and hashes your data according to destination requirements, but it’s still good to make sure that the data is as clean as possible. Note that Hightouch cannot clean your data if you opt to hash it yourself. In that case, ensure you follow the data cleaning requirements for Meta.

> [!NOTE]
>
> Meta returns 1k as the default when there is no data or audience is too
> small

## Common errors

### Custom Audience Terms not yet accepted

The full error message is:

```txt theme={null}
An error occurred when creating the audience. Meta Custom Audiences API returned error with code 400: Custom Audience Terms not yet accepted: You'll need to agree to the Custom Audience terms before you can create or edit an audience or an ad set. See Meta, Custom Audience Terms.
```

To resolve this error, go to [Audiences](https://adsmanager.facebook.com/adsmanager/audiences) in your Meta Ads Manager account and click **Create a Custom Audience** to create a list manually. This prompts the Terms of Service to appear so you can agree to them.

You can also go to `https://business.facebook.com/ads/manage/customaudiences/tos/?{ACCOUNT_ID}` to accept the Terms of Service for each ad account that you want to use. Replace `{ACCOUNT_ID}` with the ad account ID in `act_xxxx` format.

Once you've accepted the Terms of Service, rerun your sync with the error.

### Error Code 400: Missing schema attribute in payloads

By default, Hightouch automatically [hashes certain fields](#handling-pii-and-hashing) before sending them to Meta.
The error occurs when Hightouch attempts to hash a `null` value or `null` values are being sent to Meta.

To resolve this, [remove rows containing `null` values](https://docs.hightouch.com/models/sql-editor#exclude-rows-with-null-values) from your model's query results or enable the [**Don't sync null values** option](https://docs.hightouch.com/syncs/mapping-data.md#dont-sync-null-values) in the [advanced mapper](https://docs.hightouch.com/syncs/mapping-data.md#advanced-mapper).

### Unsupported post request. Object with ID 'undefined' does not exist

This error occurs if you don't select an **Ad Account** on the destination configuration page.
Make sure to follow the destination setup procedure outlined in the [Connect to Meta Custom Audiences](#connect-to-meta-custom-audiences) section.

### 401 - Error validating access token

As explained in the [Connect to Meta Custom Audiences](#connect-to-meta-custom-audiences) section, authenticating with OAuth requires you to reauthorize your destination **every 60 days**. Otherwise, your syncs fail with this error message.

> [!TIP]
>
> Authenticate with a [system user
> token](#authenticate-with-a-system-user-token) to avoid this reauthorization
> requirement.

### 400 - OAuthException code 190: Token expired

The full error may look like: `400 - {"error":{"message":"The token has expired on...","type":"OAuthException","code":190}}`.

Meta access tokens expire periodically. Tokens also become invalid when the authorizing user changes their password or when Meta invalidates the session for security reasons. In the latter case, the error includes `error_subcode: 460`.

To resolve this error, go to your Meta Custom Audiences destination in Hightouch and click **Reconnect**. The authorizing user must have `ads_management` permission on the ad account. To avoid recurring token expiration issues, authenticate with a [system user token](#authenticate-with-a-system-user-token) instead of OAuth.

### 403 - Ad account permissions error (code 200)

The full error may look like: `(#200) Ad account owner has NOT grant ads_management or ads_read permission`.

This error occurs when the user who authorized the Meta connection doesn't have the required permissions on the ad account. To resolve it, in **Settings** at [business.facebook.com](https://business.facebook.com), go to **Users** → **System Users** and grant the user `ads_management` or `ads_read` permission on the relevant ad account. Then reconnect the destination in Hightouch.

### 400 - (#100) Requires business\_management permission

The full error may look like: `400 - {"error":{"message":"(#100) Requires business_management permission to access the field.","type":"OAuthException","code":100}}`.

This error occurs when your access token is missing the `business_management` permission. Hightouch needs this permission to list ad accounts, select existing audiences, and run the test connection.

If you authenticated with a [system user token](#authenticate-with-a-system-user-token), regenerate the token in **Settings** → **Users** → **System Users** at [business.facebook.com](https://business.facebook.com) with both `ads_management` and `business_management` selected, then reconnect the destination in Hightouch.

If you authenticated with OAuth, click **Reconnect** and approve all requested permissions when prompted.

### 400 - (#100) unsupported get request

The full error may look like: `400 - {"error":("message":"(#100) Unsupported get request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api {...}`.

This error usually happens when one or multiple Meta pages that were granted access to the [system user](#authenticate-with-a-system-user-token) have **age restrictions** or **country restrictions** enabled. To resolve the error, edit your system user to remove all pages that have these age or country restrictions. Otherwise, you can [edit the page settings](https://www.facebook.com/help/www/778445532225441) to remove the restrictions from these pages.

### Clear and fill

Upon request, [clear and fill](https://docs.hightouch.com/syncs/resync-reset-clear.md#clear-and-fill) can be enabled for Meta. After a clear and fill, the sync's runs are held while Meta applies the new membership. See [Clear and fill](#clear-and-fill) for how the hold works and how to adjust it.
