Opus Growth

Add Extension Assets

Adds extension assets to a campaign — or to ONE AD GROUP when ad_group_id is given.

Type
Makes changes
Credits
5
Platform
Google Ads
Approval
Preview first, applied after you approve

What it does

Adds extension assets to a campaign — or to ONE AD GROUP when ad_group_id is given. AD GROUP LEVEL: pass ad_group_id (campaign_id may then be left empty; it is resolved from the ad group) and every asset created or linked here is attached as an AdGroupAsset to that ad group only. Google serves ad-group assets INSTEAD of the campaign's assets of the same type for that ad group's ads, so a branch ad group can show its own phone number, WhatsApp chat, sitelinks and callouts while the rest of the campaign keeps the campaign-level ones. Assets created for one ad group are reused on a second ad group with link_asset_ids and the other ad_group_id (no duplicates are created). callouts: a list of short highlights. sitelinks: lines in 'text|url' or 'text|url|description1|description2' format. phone_number (+phone_country) adds a call extension. snippet_header + snippet_values add a structured snippet (the header comes from Google's fixed list, such as Services or Brands). whatsapp_number (+whatsapp_country, whatsapp_greeting, whatsapp_cta, whatsapp_cta_text) adds a MESSAGE extension (BUSINESS_MESSAGE) that opens a WhatsApp chat; Google requires all five: greeting is the pre-filled first message, whatsapp_cta is one of APPLY_NOW, BOOK_NOW, CONTACT_US, GET_INFO, GET_OFFER, GET_QUOTE, GET_STARTED, LEARN_MORE, and whatsapp_cta_text is the button description (max 30 chars). Only WhatsApp is supported (Facebook Messenger and Zalo need provider data Google does not expose here). prices: PRICE extensions, one line per offering in 'Header|Description|<amount> <currency>|https://url' format (optional extra '|unit:PER_MONTH'); 3 to 8 offerings are required, headers must be unique and max 25 chars, descriptions max 25 chars. price_type groups them (SERVICES, BRANDS, PRODUCT_CATEGORIES, NEIGHBORHOODS, EVENTS, LOCATIONS, PRODUCT_TIERS, SERVICE_CATEGORIES, SERVICE_TIERS), price_qualifier is optional (FROM, UP_TO, AVERAGE) and price_language must be one of de, en, es, fr, it, ja, nl, pl, pt_BR, ru, sv. Measured against the live API: Google does NOT support Turkish (tr) or the Turkish lira (TRY) for price extensions, so a TRY account cannot use them; the tool says so. promotions: PROMOTION extensions in 'Target text|discount|https://url' format; discount is '%<n>' (percent) or '<amount> <currency>'; optional extra '|key:value' segments: code:<code>, min:<amount> (minimum order amount, mutually exclusive with code), start:YYYY-MM-DD, end:YYYY-MM-DD, occasion:<OCCASION>, lang:<code>, modifier:UP_TO. link_asset_ids: comma-separated asset IDs ALREADY in the account's asset library (from list_assets): links them to the campaign INSTEAD of creating duplicates; the field type is derived from the asset's own type (PROMOTION, SITELINK, CALLOUT, CALL, STRUCTURED_SNIPPET, PRICE, MOBILE_APP, HOTEL_CALLOUT, LEAD_FORM, IMAGE). IMAGE assets (from upload_image_asset) are linked as the Search IMAGE EXTENSION (field type AD_IMAGE) — Google requires at least 300x300 px and accepts 1.91:1 and 1:1 crops. At least one extension type is required. confirm=false → dry-run. To VIEW or REMOVE existing extensions, use list_extension_assets and remove_extension_assets. LOCATION (business address, map pin, "Get directions") is NOT an extension type here: location assets are generated automatically from the Google Business Profile link and serve account-wide — inspect or pin them with add_location_assets.

MCP: manage_extension_assets

How to use it

You don't call tools by name. Write what you want in ChatGPT, Claude or another assistant connected to Opus Growth, in your own words; it picks this tool when it fits.

Because this tool changes your account, your assistant first shows a preview of exactly what will change. Nothing is applied until you say yes, and every applied change is written to your audit log.

Parameters

NameTypeRequiredDefault
customer_idstringRequired·Google Ads customer account ID to query or change. Use the numeric ID returned by list_accounts; omit separators unless this tool explicitly says otherwise.
campaign_idstringOptional·Exact campaign identifier to target. Use the ID returned by an Opus Growth list or create operation, not a display name.
calloutsarrayOptional·Callouts value for manage extension assets. Follow the documented provider format and use values returned by Opus Growth discovery tools where possible.
sitelinksarrayOptional·Sitelinks value for manage extension assets. Follow the documented provider format and use values returned by Opus Growth discovery tools where possible.
phone_numberstringOptional·Exact phone number value for manage extension assets. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation.
phone_countrystringOptionalTRExact phone country value for manage extension assets. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation.
snippet_headerstringOptional·Exact snippet header value for manage extension assets. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation.
snippet_valuesarrayOptional·Snippet values value for manage extension assets. Follow the documented provider format and use values returned by Opus Growth discovery tools where possible.
promotionsarrayOptional·Promotions value for manage extension assets. Follow the documented provider format and use values returned by Opus Growth discovery tools where possible.
whatsapp_numberstringOptional·Exact whatsapp number value for manage extension assets. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation.
whatsapp_countrystringOptionalTRExact whatsapp country value for manage extension assets. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation.
whatsapp_greetingstringOptional·Exact whatsapp greeting value for manage extension assets. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation.
whatsapp_ctastringOptionalGET_QUOTEExact whatsapp cta value for manage extension assets. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation.
whatsapp_cta_textstringOptional·Exact whatsapp cta text value for manage extension assets. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation.
pricesarrayOptional·Prices value for manage extension assets. Follow the documented provider format and use values returned by Opus Growth discovery tools where possible.
price_typestringOptionalSERVICESProvider-specific price type accepted by this operation. Use a supported value from the tool documentation or returned provider data.
price_qualifierstringOptional·Exact price qualifier value for manage extension assets. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation.
price_languagestringOptionalenExact price language value for manage extension assets. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation.
link_asset_idsstringOptional·One or more exact link asset identifiers to target. Use identifiers returned by an Opus Growth list or create operation, not display names.
link_field_typestringOptional·Provider-specific link field type accepted by this operation. Use a supported value from the tool documentation or returned provider data.
ad_group_idstringOptional·Exact ad group identifier to target. Use the ID returned by an Opus Growth list or create operation, not a display name.
confirmbooleanOptionalfalseSafety confirmation for a state-changing operation. Leave false to preview or validate; set true only after the user explicitly approves the shown change.