> ## 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 Audience Signals

> Add or remove audience signals on Performance Max and Demand Gen campaigns

Add or remove audience signals on Performance Max and Demand Gen campaigns. PMax uses AssetGroupSignal (one audience and optional search themes per asset group). Demand Gen uses ad-group audience criteria (one audience per ad group). Use the `gads_list_audience_segments` node with segment\_type='AUDIENCE' to find reusable audience signal IDs.

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

## Inputs

| Field           | Type                                                              | Required | Default | Description                                                                                                                                                                                                                                                                         |
| --------------- | ----------------------------------------------------------------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `account`       | GadsAccountItem or object or array of object or string or integer | Yes      | -       | Select the Google Ads account, ask user for it if not provided                                                                                                                                                                                                                      |
| `campaign_type` | string or SelectableOption                                        | Yes      | -       | Type of campaign to attach signals to. 'PERFORMANCE\_MAX' uses asset group signals; 'DEMAND\_GEN' uses ad group audience criteria.                                                                                                                                                  |
| `target_id`     | string or SelectableOption                                        | Yes      | -       | For PERFORMANCE\_MAX: the asset\_group ID to attach signals to. For DEMAND\_GEN: the ad\_group ID.                                                                                                                                                                                  |
| `action`        | string or SelectableOption                                        | Yes      | -       | 'ADD' attaches the selected audiences (and search themes for PMax) as signals. 'REMOVE' detaches them.                                                                                                                                                                              |
| `audience_id`   | string or SelectableOption                                        | No       | -       | Reusable Audience ID or full resource name (e.g. 'customers/\{customer\_id}/audiences/\{audience\_id}'). Google Ads only allows ONE audience per asset group (PMax) or ad group (Demand Gen). Use the `gads_list_audience_segments` node with segment\_type='AUDIENCE' to find IDs. |
| `search_themes` | array of string or SelectableOption                               | No       | -       | Search theme strings (PERFORMANCE\_MAX only). Each is a free-form text describing what users may search for.                                                                                                                                                                        |

### GadsAccountItem

| Field       | Type   | Required | Default | Description                                                                                                                                                    |
| ----------- | ------ | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `value`     | string | Yes      | -       |                                                                                                                                                                |
| `label`     | string | Yes      | -       |                                                                                                                                                                |
| `managerId` | string | Yes      | -       | The manager ID for the Google Ads account. Ask  user to use the dropdown to select accounts, this manager id is selected background and not shown to the user. |

### SelectableOption

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

## Output

**Type**: `Dict`

Returns audience signal operation results.

**Fields**: `signals_modified`, `campaign_type`, `action`, `target_id`
