Suggest Google Ads text assets

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Suggests text assets for a Performance Max campaign, one group per asset type you ask for.

Send asset_types with any of HEADLINE, LONG_HEADLINE, DESCRIPTION, BUSINESS_NAME and CALL_TO_ACTION_SELECTION. Only the types you ask for come back, so read the response by key rather than assuming all five are present. BUSINESS_NAME is a single string; the rest are arrays. CALL_TO_ACTION_SELECTION is a fixed set of values Google accepts rather than generated copy.

Nothing is saved. An asset type can come back as an empty array when the model returns nothing usable for it, under a 200.

<Note>This endpoint runs a language model and draws on a shared quota of 20 requests per minute per app, which every Google Ads AI endpoint debits. Enterprise workspaces get a higher quota. A 429 means the quota is spent, not that this endpoint has its own limit.</Note>

<Note>The copy is written in the language you send in the Accept-Language header. Omit the header and you get English — the app's own language is not consulted — so send it explicitly for a non-English app.</Note>

<Note>This endpoint accepts a personal API key. Workspace API keys are not authorized for it and are rejected with a 403.</Note>

post/api/apps/{app_id}/google-ads/suggestions/text-assets

Path parameters

app_idstring required

ID of the app you are planning a Google Ads campaign for.

ID of the app you are planning a Google Ads campaign for.

Headers

Accept-Languagestring nullable

Language to return generated text in, as a standard Accept-Language value. An unsupported language falls back to English.

Language to return generated text in, as a standard Accept-Language value. An unsupported language falls back to English.

Request body

business_namestring

Name of the business the assets are for.

business_descriptionstring

What the business sells, in a sentence or two.

asset_typesstring[]

Which asset types to generate: HEADLINE, LONG_HEADLINE, DESCRIPTION, BUSINESS_NAME, CALL_TO_ACTION_SELECTION. Only the types you list come back.

keywordsstring[]

Words the copy should lean on.

search_themesstring[]

Search themes the campaign already uses, so the copy matches them.

user_promptstring

Extra direction for the copy, in the caller's own words.

Example request

{
  "business_name": "Nordwind Furniture",
  "business_description": "Handmade solid oak dining tables, built to order in San Francisco.",
  "asset_types": [
    "HEADLINE",
    "DESCRIPTION"
  ],
  "keywords": [
    "oak dining table"
  ],
  "search_themes": [
    "handmade oak furniture"
  ],
  "user_prompt": "Emphasise the free delivery."
}

Response

One group per asset type you asked for.

HEADLINEstring[] nullable

Short headlines, each within Google's 30-character limit. Present only when you asked for HEADLINE.

LONG_HEADLINEstring[] nullable

Long headlines, each within Google's 90-character limit. Present only when you asked for LONG_HEADLINE.

DESCRIPTIONstring[] nullable

Description lines, each within Google's 90-character limit. Present only when you asked for DESCRIPTION.

BUSINESS_NAMEstring nullable

A single business name, trimmed to Google's 25-character limit. This one is a string rather than an array, unlike every other asset type here. Present only when you asked for BUSINESS_NAME.

CALL_TO_ACTION_SELECTIONstring[] nullable

Call-to-action values Google accepts. This is a fixed list, not a generated one. Present only when you asked for CALL_TO_ACTION_SELECTION.

Example response

{
  "HEADLINE": [
    "Handmade Oak Tables",
    "Built To Order"
  ],
  "LONG_HEADLINE": [
    "Solid oak dining tables, built to order in San Francisco"
  ],
  "DESCRIPTION": [
    "Free statewide delivery on every table we build."
  ],
  "BUSINESS_NAME": "Nordwind Furniture",
  "CALL_TO_ACTION_SELECTION": [
    "LEARN_MORE",
    "SHOP_NOW",
    "SIGN_UP",
    "CONTACT_US"
  ]
}

Changes

Changed in 1 of the 14 revisions of this API.1