google_ads_asset_group_assets_replace
Swap a Performance Max asset group's headline, long headline, or description atomically, preserving the minimum asset count by linking a new asset before removing the old link.
Instructions
Swaps one headline, long headline or description of a Performance Max asset group for new text. Mutating. A Google Ads text Asset is immutable, so this creates a new Asset, links it to the asset group under the same field_type, and removes the old link — all three in ONE atomic GoogleAdsService.mutate, so the asset group's asset count for that field type never dips below the Performance Max minimum (a removal issued on its own is refused with AssetGroupError.NOT_ENOUGH_*). The old Asset itself is not deleted; only its link to this asset group is. Returns {asset_group_id, field_type, added: {asset_id, asset_resource_name, text, asset_group_asset}, removed: {asset_id, text, asset_group_asset}, note}. Not automatically reversible — to swap back, call this tool again with the old text; record before-state with mureo_state_action_log_append if you may need to roll back. Call google_ads_asset_group_assets_list first to get old_asset_id.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| new_text | Yes | Replacement copy. Display-width limits (a full-width character counts as two): HEADLINE 30, LONG_HEADLINE 90, DESCRIPTION 90. Text already linked under the same field_type is rejected — Google Ads refuses a duplicate link. | |
| field_type | Yes | Which slot to swap. Must match the field_type the old asset is linked under — the same text asset can be linked as more than one field type. | |
| customer_id | No | Google Ads customer ID as a 10-digit string without dashes (e.g. '1234567890'). Optional — falls back to GOOGLE_ADS_CUSTOMER_ID / GOOGLE_ADS_LOGIN_CUSTOMER_ID from the configured credentials when omitted. | |
| old_asset_id | Yes | asset_id of the entry being replaced, from google_ads_asset_group_assets_list. Rejected before any write if it is not linked to this asset group under this field_type. | |
| asset_group_id | Yes | Asset group whose copy is being changed, as reported by google_ads_asset_group_assets_list. |