Create a responsive search ad
create_responsive_search_adCreate a responsive search ad in an ad group. Google requires 3 to 15 headlines (max 30 chars each) and 2 to 4 descriptions (max 90 chars each); those limits are enforced here before the call so a bad draft fails fast rather than as an opaque API error. Created PAUSED by default.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path1 | No | First display-URL path segment. | |
| path2 | No | Second display-URL path segment. | |
| status | No | PAUSED | |
| finalUrl | Yes | Landing page URL, including https://. | |
| adGroupId | Yes | ||
| headlines | Yes | 3-15 headlines, max 30 characters each. | |
| customerId | No | 10-digit Google Ads customer id. Omit only if this connection has exactly one reachable account - with more than one, omitting it errors and lists the available ids to pick from. | |
| extraFields | No | Escape hatch for a field Google requires that this tool doesn't set yet - use it when a prior call to this same tool failed naming a required field and its valid values (e.g. after adding `contains_eu_political_advertising`, retry with { contains_eu_political_advertising: "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING" }). Keys are the Ads API's own snake_case field names; nest an object to add a field under one this tool already sets (e.g. a new network_settings sub-field). Only ADDS fields not already set by this tool's own arguments - it can never override `status` or any other field already set here, so it cannot be used to bypass validation or a safety default like a campaign's PAUSED-by-default status. | |
| descriptions | Yes | 2-4 descriptions, max 90 characters each. | |
| validateOnly | No | Dry run. When true the Google Ads API validates the change and reports any errors but applies nothing. Use this first whenever you are unsure - it is free and cannot affect spend. |