Ask the Google Ads assistant

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

Answers a plain-language question about the app's Google Ads campaigns.

The answer is prose written for a person, three to five sentences with no markdown, so read it or show it to someone rather than parsing it. The assistant is a language model with no access to the account's numbers, so it gives general advice shaped by your question rather than findings from your data. Read the reporting endpoints such as Get Google Ads performance dashboard for the actual figures.

Pass earlier turns in history to ask a follow-up. Only the last ten turns reach the model, and anything before that is dropped with nothing in the response saying so, so keep a long conversation summarized on your side.

<Warning>An empty reply means the model returned nothing, and it comes back under a 200 exactly like a real answer. There is no field that distinguishes the two, so check for an empty string and retry rather than treating it as the assistant having nothing to say.</Warning>

This endpoint is limited to 20 requests a minute per app, shared with the other Google Ads endpoints that run a language model.

<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/troubleshoot/ask

Path parameters

app_idstring required

ID of the app whose Google Ads campaigns to manage.

ID of the app whose Google Ads campaigns to manage.

Request body

questionstring required

What you want to ask about the app's Google Ads campaigns, in plain language.

campaign_idstring

A campaign ID to mention in the question. It is passed to the model as text for context only, so the assistant does not read the campaign's data from it.

Example request

{
  "question": "Why is my Performance Max campaign spending its budget without converting?",
  "campaign_id": "68b1c0d4e7b91d003c45a1f2",
  "history": [
    {
      "role": "user",
      "content": "Which campaign is spending the most?"
    }
  ]
}

Response

The assistant's answer.

replystring required

The answer, as three to five sentences of plain prose with no markdown and no code blocks. It is written for a person to read, so do not parse it. An empty string means the model returned nothing, which you cannot tell apart from a genuinely empty answer, so treat it as a failed call and retry.

Example response

{
  "reply": "Your campaign is spending its full daily budget but converting below the account average, which usually points at the landing page rather than the targeting. Check that the page loads quickly on mobile and that the offer matches the ad copy. Narrowing the geo targets to your best-performing region would also concentrate the budget."
}

Changes

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