Suggest Google Ads campaigns

Changed on

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

Turns a plain description of a business into a complete Performance Max campaign you can preview and launch.

The suggestion carries a payload you can send to Create campaign. Nothing is saved.

You get one suggestion whatever suggestion_count says. Google stopped accepting new Smart campaigns on September 23, 2026, so the two Smart Search approaches this used to return are gone.

The Performance Max suggestion cannot launch as-is. payload.logo_url and payload.images come back empty because this endpoint does not generate images, and Google requires both. Fill both in before you send that payload, hosted where the images field of Create campaign says Base44 can fetch them.

Check source before presenting the copy as generated: fallback means the model did not run or returned nothing. title and subtitle are always English, even when the copy inside payload is in the app's language, so translate them yourself if you show them to someone.

This one call runs two language-model requests and debits the shared quota twice.

<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>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/campaigns/ai-suggestions

Request

  • Base URL: https://app.base44.com
  • URL: https://app.base44.com/api/apps/{app_id}/google-ads/campaigns/ai-suggestions
  • Auth: HTTP bearer

Path parameters

app_idstring required

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

Request body

business_namestring

Name of the business to build campaigns for.

business_descriptionstring

What the business sells, in a sentence or two. This is what the suggestions are built from.

landing_page_urlstring

Page the campaigns would send people to.

campaign_goalstring

What the campaigns are for: traffic, leads or sales.

daily_budget_microsinteger

Daily budget each suggestion is sized for, in micros (1,000,000 micros = 1 unit of the account's currency).

suggestion_countinteger

How many suggestions to return. Only one approach exists (Performance Max), so any value returns one.

geo_targetsstring[]

Locations the campaigns would target, as Google geo target constant IDs. Sharpens the click estimates.

Example request

{
  "business_name": "Nordwind Furniture",
  "business_description": "Handmade solid oak dining tables, built to order in San Francisco.",
  "landing_page_url": "https://nordwind-furniture.com",
  "campaign_goal": "traffic",
  "daily_budget_micros": 30000000,
  "suggestion_count": 3,
  "geo_targets": [
    "1023191"
  ]
}

Response

Campaigns you can preview and launch.

languagestring nullable

Two-letter code for the language the generated copy came back in, or null when the model did not report one.

sourcestring required

ai when a language model wrote the copy in these suggestions, fallback when it did not run or returned nothing.

Example response

{
  "suggestions": [
    {
      "campaign_type": "PERFORMANCE_MAX",
      "estimate_source": "heuristic",
      "estimated_daily_clicks": 30,
      "id": "pmax-leads",
      "payload": {
        "business_name": "Nordwind Furniture",
        "campaign_name": "Nordwind Furniture — PMax",
        "campaign_type": "PERFORMANCE_MAX",
        "daily_budget_micros": 30000000,
        "descriptions": [
          "Solid oak dining tables built to order."
        ],
        "headlines": [
          "Handmade Oak Tables"
        ],
        "images": [],
        "keyword_themes": [
          "handmade oak furniture"
        ],
        "landing_page": "https://nordwind-furniture.com",
        "logo_url": "",
        "settings": {
          "language_code": "en"
        }
      },
      "subtitle": "Best for cross-channel reach (search + display + YouTube)",
      "title": "Performance Max — Leads"
    }
  ],
  "language": "en",
  "source": "ai"
}

Changes