Skip to main content
POST
Regenerate Google Ads asset group creative

Authorizations

api_key
string
header
required

Personal API key.

Path Parameters

app_id
string
required

ID of the app whose Google Ads creative you want to generate or read.

asset_group_id
string
required

Google Ads' own numeric ID for the asset group, as reported in asset_group_id by List Google Ads asset performance.

Body

application/json
channel_type
string
default:PERFORMANCE_MAX

Campaign type to generate for, which decides the slots that get filled. One of PERFORMANCE_MAX, DEMAND_GEN, SEARCH or DISPLAY. Asset groups belong to Performance Max campaigns, so the default is the value you almost always want.

Example:

"PERFORMANCE_MAX"

final_url
string

Page the new pictures should be based on. Send this or freeform_prompt, not both, or omit both to ground the creative in the app's own home page.

Example:

"https://example.com/spring"

freeform_prompt
string

What the new creative should show, in your own words, up to 1500 characters. Send this or final_url, not both.

Example:

"Brighter lifestyle shots with the product in use"

Response

The replacement creative that was generated.

The creative one generation produced.

session_id
string
required

ID of this generation. Pass it as session_id to List Google Ads generated assets to poll for the images that are still coming.

Example:

"9c1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f"

text
GeneratedAssetSummary · object[]
required

The copy that was generated. Empty when the text engine produced nothing and when a generation for this app was already running.

Example:
images
GeneratedAssetSummary · object[]
required

The pictures that finished in time to be returned inline. The rest are counted in background_image_count.

Example:
background_image_count
integer | null

How many more pictures are still being generated for this session. The response comes back as soon as the copy is done, so poll List Google Ads generated assets with session_id for these. The field is absent when a generation for this app was already running, which is how you tell that case apart.

Example:

3

language
string | null

Language the copy was written in, as a lowercase two-letter code. It comes from the app's own site rather than from anything you send. The field is absent when a generation for this app was already running.

Example:

"de"