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

# Update Adset Audiences

> Update audience targeting on a Meta Ads ad set: custom audiences, lookalike audiences, interests, behaviors, education, work, income, excluded audiences

Update audience targeting on a Meta Ads ad set: custom audiences, lookalike audiences, interests, behaviors, education, work, income, excluded audiences. You can also turn on/off Advantage+ audience. Each field you fill in replaces that category on the ad set. Fields left empty are not changed.

| | |
| - | - |
| **App** | Meta Ads |
| **Operation ID** | `meta_ads_update_adset_audiences` |
| **Type** | Action |
| **Connection** | `meta_ads` (required) |
| **Credits per run** | 1 |
| **Agent / MCP tool** | Yes |
| **Requires approval** | Yes (write operation) |

## Inputs

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `account` | DynamicAccount | Yes | - | Select Meta Ads account, ask the user for it if not provided |
| `adset_id` | string or SelectItem | Yes | - | The ad set to update audience targeting for |
| `custom_audience_ids` | array of string (also accepts a comma-separated string) | No | - | Custom or lookalike audience IDs to target. Replaces all currently included audiences on the ad set. Leave empty to keep current included audiences unchanged. Use 'meta\_ads\_list\_custom\_audiences' node to find audience IDs. Can be list of strings or comma-separated string. |
| `interest_ids` | array of string (also accepts a comma-separated string) | No | - | Interest targeting IDs. Replaces all current interests on the ad set. Leave empty to keep current interests unchanged. Use 'meta\_ads\_search\_targeting' node (type: adinterest) to find interest IDs. |
| `behavior_ids` | array of string (also accepts a comma-separated string) | No | - | Behavior targeting IDs. Replaces all current behaviors on the ad set. Leave empty to keep current behaviors unchanged. Use 'meta\_ads\_search\_targeting' node (type: adbehavior) to find behavior IDs. |
| `education_school_ids` | array of string (also accepts a comma-separated string) | No | - | Education school targeting IDs. Replaces all current schools on the ad set. Leave empty to keep current schools unchanged. Use 'meta\_ads\_search\_targeting' node (type: adeducationschool) to find IDs. |
| `education_major_ids` | array of string (also accepts a comma-separated string) | No | - | Education major targeting IDs. Replaces all current majors on the ad set. Leave empty to keep current majors unchanged. Use 'meta\_ads\_search\_targeting' node (type: adeducationmajor) to find IDs. |
| `work_employer_ids` | array of string (also accepts a comma-separated string) | No | - | Work employer targeting IDs. Replaces all current employers on the ad set. Leave empty to keep current employers unchanged. Use 'meta\_ads\_search\_targeting' node (type: adworkemployer) to find IDs. |
| `work_position_ids` | array of string (also accepts a comma-separated string) | No | - | Work position (job title) targeting IDs. Replaces all current job titles on the ad set. Leave empty to keep current job titles unchanged. Use 'meta\_ads\_search\_targeting' node (type: adworkposition) to find IDs. |
| `income_ids` | array of string (also accepts a comma-separated string) | No | - | Income targeting IDs. Replaces all current income targeting on the ad set. Leave empty to keep current income targeting unchanged. Use 'meta\_ads\_search\_targeting' node (type: adincome) to find IDs. |
| `excluded_audience_ids` | array of string (also accepts a comma-separated string) | No | - | Custom or lookalike audience IDs to exclude. Replaces all currently excluded audiences on the ad set. Leave empty to keep current excluded audiences unchanged. Use 'meta\_ads\_list\_custom\_audiences' node to find audience IDs. |
| `age_min` | integer | No | - | Minimum age for targeting (18-65). Replaces the current minimum age on the ad set. Leave empty to keep current age targeting unchanged. Meta default is 18. If Advantage+ is on and you set a custom age, it will be automatically configured to respect your exact range. |
| `age_max` | integer | No | - | Maximum age for targeting (18-65). Replaces the current maximum age on the ad set. Leave empty to keep current age targeting unchanged. Meta default is 65. |
| `genders` | string or SelectableOption | No | - | Gender targeting. 'all', 'male', 'female'. Replaces current gender targeting on the ad set. Leave empty to keep current gender unchanged. If Advantage+ is on and you set a specific gender, it will be automatically configured to respect your choice. |
| `advantage_audience` | string or SelectableOption | No | - | Control Advantage+ audience expansion. 'enabled' allows Meta to expand beyond your targeting. 'disabled' restricts delivery to only your defined audiences. Commonly used for retargeting/remarketing ad sets where you want to strictly control the audience. 'dont\_change' leaves the current setting as-is. Default: dont\_change. |

### SelectItem

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `value` | string | Yes | - | The value of the selectable item. |
| `label` | string | Yes | - | The label of the selectable item, used for display purposes. If not provided, defaults to the value. |

### SelectableOption

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `value` | string | Yes | - | |
| `label` | string | Yes | - | |

## Output

**Type**: `str`

Returns success message confirming audience targeting update.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.