| App | Google Ads |
| Operation ID | gads_update_listing_groups |
| 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 |
ad_group | string or SelectItem | Yes | - | The Shopping ad group to attach the listing group tree to. Must be a SHOPPING_PRODUCT_ADS ad group. |
nodes | string or array of ListingNode | Yes | - | The full listing group tree as a flat list of nodes. Provide exactly one root (SUBDIVISION with no parent_temp_id and no case_value). Each SUBDIVISION must have at least one biddable child plus an ‘Other’ sibling (a node whose case_value has type matching its siblings but no value). All sibling nodes must share the same dimension type. Accepts either a JSON string or a list. |
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. |
ListingNode
A single node in the listing group tree.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
temp_id | integer | Yes | - | Negative integer that uniquely identifies this node within the request (e.g. -1, -2, …). Used to wire children to parents. |
parent_temp_id | integer | No | - | temp_id of the parent SUBDIVISION node. Null for the root. |
type | enum (SUBDIVISION, UNIT) | Yes | - | SUBDIVISION (parent / non-leaf) or UNIT (biddable leaf). |
case_value | ListingDimension | No | - | Dimension that places this node inside its parent’s partition. Required for every non-root node. Omit on the root node. |
cpc_bid | number | No | - | CPC bid in account currency (e.g. 0.20 for $0.20). Only valid on UNIT nodes. Required on non-negative UNITs when the campaign uses Manual CPC; ignored for automated bidding. |
negative | boolean | No | False | If true, exclude products matching this UNIT from serving. Only valid on UNIT nodes; bids are not applied to negative units. |
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. |
ListingDimension
Describes the case_value dimension of a listing group node.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
type | enum (BRAND, CONDITION, ITEM_ID, CUSTOM_LABEL, PRODUCT_TYPE, CATEGORY, CHANNEL, CHANNEL_EXCLUSIVITY) | Yes | - | Dimension type. One of: BRAND, CONDITION, ITEM_ID, CUSTOM_LABEL, PRODUCT_TYPE, CATEGORY, CHANNEL, CHANNEL_EXCLUSIVITY. |
value | string | No | - | Value for the dimension. Used by BRAND (e.g. ‘Nike’), ITEM_ID (merchant offer id), CUSTOM_LABEL (label string), PRODUCT_TYPE (type name). Leave null for the ‘Other’ node. |
condition | string | No | - | Condition enum: NEW, USED, REFURBISHED. Used when type=CONDITION. |
channel | string | No | - | Channel enum: ONLINE, LOCAL. Used when type=CHANNEL. |
channel_exclusivity | string | No | - | Channel exclusivity enum: SINGLE_CHANNEL, MULTI_CHANNEL. Used when type=CHANNEL_EXCLUSIVITY. |
index | integer | No | - | Index 0-4 for CUSTOM_LABEL (which custom_label_0..4 is used) or for PRODUCT_TYPE (which product type level 1-5 is used, 1-indexed). |
category_id | integer | No | - | Numeric Google product category id. Used when type=CATEGORY. |
category_level | integer | No | - | Product category level (1-5). Used when type=CATEGORY or PRODUCT_TYPE if index is not provided. |
Output
Type:Dict
Returns counts and resource names for the created criteria.
Fields: ad_group_id, criteria_count, resource_names, temp_id_to_resource_name
