Manage Google Ads extensions (adsap_google_manage_extension)
Platform: Google Ads · Read or write: Write · Plan: Early Access · Consumes a task: Yes · Preview supported: Yes
What it does
Manages Google Ads extensions: sitelinks, callouts, structured snippets, call, promotion and price. It creates and links new extensions to a campaign in one call, links or unlinks existing ones, or edits an existing asset. Links live at campaign level by default or at account level for every eligible campaign. Ask for a preview before creating.
Parameters
Descriptions are shortened from the tool schema. Your assistant sees the full text.
| Name | Type | Required | Description |
|---|---|---|---|
ad_account_id | string | Yes | Bare 10-digit Google Ads customer ID (from adsap_google_list_ad_accounts). No dashes, no act_ prefix. |
op | one of create_and_link, link, unlink, update_asset | Yes | |
dry_run | boolean | No | Preview only: the request is validated and the resolved payload returned, nothing is created or changed. |
level | one of campaign, account | No | Where the link lives: ‘campaign’ (default, requires campaign_id) or ‘account’ (no campaign_id: the extension serves with all eligible campaigns; unlink at the same level to stop it). Ignored for update_asset. |
campaign_id | string | No | Numeric Google Ads campaign id. Required for create_and_link / link / unlink at level ‘campaign’; must be OMITTED at level ‘account’; ignored for update_asset. |
extensions | array of object | No | create_and_link only: 1-20 new extensions to create and link to the campaign, discriminated on type. |
links | array of object | No | link / unlink only: 1-20 existing (asset_id, field_type) pairs to attach to / detach from the campaign. |
links[].asset_id | string | Yes | Existing asset id (from adsap_google_list_extensions or adsap_google_upload_asset). |
links[].field_type | one of SITELINK, CALLOUT, STRUCTURED_SNIPPET, CALL, PROMOTION, PRICE, AD_IMAGE | Yes | The asset’s field type: must match the asset. AD_IMAGE is allowlist-gated by Google (expect UNSUPPORTED_FIELD_TYPE on most accounts). |
asset_id | string | No | update_asset only: the existing asset to edit (from adsap_google_list_extensions). |
type | one of sitelink, callout, structured_snippet, call, promotion, price | No | update_asset only: the asset’s extension type: selects which of the flat per-type fields below apply. Image assets are NOT updatable. |
link_text | string | No | update_asset (sitelink): new display text (1-25 chars). |
final_url | string | No | update_asset (sitelink/promotion): new destination URL. |
final_mobile_url | string | No | update_asset (sitelink/promotion): new mobile destination URL. |
description1 | string | No | update_asset (sitelink): new first description (set BOTH descriptions or NEITHER). |
description2 | string | No | update_asset (sitelink): new second description (set BOTH descriptions or NEITHER). |
callout_text | string | No | update_asset (callout): new callout text (1-25 chars). |
header | one of Brands, Amenities, Styles, Types, Destinations, Services, Courses, Neighborhoods and 5 more | No | update_asset (structured_snippet): new header (fixed Google vocabulary). |
values | array of string | No | update_asset (structured_snippet): new full set of 3-10 values (replaces the existing set). |
phone_number | string | No | update_asset (call): new phone number. |
country_code | string | No | update_asset (call): new 2-letter country code. |
promotion_target | string | No | update_asset (promotion): new promotion target. |
percent_off | number | No | update_asset (promotion): new percent discount (20 = 20% off). Mutually exclusive with money_amount_off. |
money_amount_off | any | No | update_asset (promotion): new fixed discount. Mutually exclusive with percent_off. |
promotion_code | string | No | update_asset (promotion): new promo code. Mutually exclusive with orders_over_amount. |
orders_over_amount | any | No | update_asset (promotion): new minimum order value. Mutually exclusive with promotion_code. |
occasion | one of BACK_TO_SCHOOL, BLACK_FRIDAY, BOXING_DAY, CARNIVAL, CHINESE_NEW_YEAR, CHRISTMAS, CYBER_MONDAY, DIWALI and 29 more | No | update_asset (promotion): new occasion. |
language_code | any | No | update_asset (promotion/price): new BCP 47 language tag. |
start_date | string | No | update_asset (promotion): new serving start date. |
end_date | string | No | update_asset (promotion): new serving end date. |
redemption_start_date | string | No | update_asset (promotion): new redemption window start. |
redemption_end_date | string | No | update_asset (promotion): new redemption window end. |
price_type | one of BRANDS, EVENTS, LOCATIONS, NEIGHBORHOODS, PRODUCT_CATEGORIES, PRODUCT_TIERS, SERVICES, SERVICE_CATEGORIES and 1 more | No | update_asset (price): new price table type. |
price_qualifier | one of FROM, UP_TO, AVERAGE | No | update_asset (price): new qualifier (FROM / UP_TO / AVERAGE). |
price_offerings | array | No | update_asset (price): new FULL set of 3-8 rows (replaces the existing set). |
Example prompts
- “Add four sitelinks to my Search campaign Summer Sale: Shop Men, Shop Women, Sale, Contact.”
- “Add the callouts ‘Free shipping’ and ‘30-day returns’ to every campaign in the account.”
- “Change the promotion extension to 25 percent off and end it on October 31.”
- “Stop the sitelink ‘Sale’ from showing on the Brand campaign.”
Notes
Google Ads assets cannot be deleted, so unlink is how you stop one serving. Assets are account-scoped: editing one changes it everywhere it is linked. Image extension links through the API are gated by Google and fail on most accounts.
Related tools
adsap_google_create_ad_group: Add an ad group to an EXISTING Google Ads campaign (Search, Display or Demand Gen) in ONE atomic request: the ad group, optional keywords…adsap_google_list_extensions: List the extensions (sitelinks, callouts, structured snippets, call, promotion, price, image/AD_IMAGE) linked to Google Ads campaigns AND…adsap_google_list_feed_labels: List the distinct Merchant Center feed labels visible to a Google Ads account (from the products synced via its Merchant Center link).
Guide
Read Extensions for the workflow around this tool, and the Tool reference for every tool.