Update a responsive search ad
update_responsive_search_adUpdate an existing responsive search ad in place by changing final URLs, paths, headlines, or descriptions; preview changes before applying.
Instructions
Update mutable fields on an existing RSA in place — returns a PREVIEW.
Edits an existing RSA without creating a new ad; the ad keeps its ID.
Google Ads API v23 (AdService.MutateAds) permits in-place mutation of
final_urls, path1, path2, headlines, and descriptions.
At least one mutation must be requested.
IMPORTANT: replacing headlines or descriptions is NOT a free in-place
edit. Even though the ad ID is preserved, swapping the creative text
RESETS the ad's asset-combination learning and performance history and
sends the ad BACK THROUGH Google policy review — Google treats the
creative as new for optimization. URL-only and path-only edits do not
incur this. When headlines/descriptions change, the returned preview
includes a warnings entry stating this trade-off before anything
is applied.
Returns a preview with a plan_id; nothing changes until confirm_and_apply applies it.
Google Ads API: https://developers.google.com/google-ads/api/docs/start
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ad_id | Yes | Numeric ID of the existing responsive search ad. | |
| path1 | No | Empty means no change; non-empty sets the first display path (max 15 chars). | |
| path2 | No | Empty means no change; non-empty sets the second display path (max 15 chars). | |
| final_url | No | Empty means no change; non-empty replaces the final URL and is checked for reachability. | |
| headlines | No | LIST-REPLACE: None or [] means no change; a non-empty list fully swaps in for the existing headlines. Google's RSA constraints apply: 3-15 headlines, max 30 chars each, every pin position fillable. Each entry is a plain string (unpinned) or {"text": "...", "pinned_field": "HEADLINE_1"} (HEADLINE_1-3). Insertion tags such as {KeyWord:Clogged Drain Service} count as their default text, which is required. | |
| clear_path1 | No | True sets path1 to an empty string (overrides path1). | |
| clear_path2 | No | True sets path2 to an empty string (overrides path2). | |
| customer_id | No | Google Ads customer ID (digits, e.g. "1234567890"). Empty uses the configured default account. | |
| descriptions | No | LIST-REPLACE: None or [] means no change; a non-empty list fully swaps in. 2-4 descriptions, max 90 chars each, pins to DESCRIPTION_1 or DESCRIPTION_2 with every position fillable. Same entry format and insertion-tag counting as headlines. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||