List Google Ads campaign optimization suggestions

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

Returns what to change on one campaign: budget, tracking and policy problems Base44 spotted, plus Google Ads' own recommendations for that campaign.

Base44's own suggestions are computed from its stored metrics for the last 14 days, so they cost no Google call. Google's recommendations for this campaign are merged in on top and carry source set to google along with recommendation_type; Base44's own suggestions have neither field, which is how you tell them apart.

When Google cannot be reached you still get a 200 with Base44's own suggestions only, and nothing in the response says the Google half is missing. An empty array means nothing needs attention.

A suggestion with recommendation_type CAMPAIGN_BUDGET can be applied with Apply budget recommendation.

<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time.</Warning>

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

get/api/apps/{app_id}/google-ads/campaigns/{campaign_id}/optimization-suggestions

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.

campaign_idstring required

Base44's ID for the campaign, as returned in id by List campaigns. This is not the Google Ads campaign ID, which is reported separately as google_campaign_id.

Base44's ID for the campaign, as returned in id by List campaigns. This is not the Google Ads campaign ID, which is reported separately as google_campaign_id.

Response

What to change on this campaign.

idstring required

Stable ID for the suggestion. Pass it as insight_id to Dismiss insight to stop it coming back.

severitystring required

How urgent the suggestion is: high, medium, or low.

titlestring required

One-line summary of the suggestion.

descriptionstring required

The suggestion in full, written for an app owner to read as-is.

actionstring nullable

What resolving the suggestion involves: edit_budget, edit_sitelinks, improve_assets, or open_campaign. null when Base44 could not resolve a campaign to act on.

action_payloadobject

The values the suggestion proposes. campaign_ids names the campaigns it applies to, field and value carry a proposed budget in micros where there is one.

sourcestring nullable

google when the suggestion is Google Ads' own recommendation rather than Base44's. Absent on Base44's own suggestions.

recommendation_typestring nullable

Present with source. CAMPAIGN_BUDGET for a Google budget recommendation, AD_STRENGTH_DROP for an ad-strength one.

Example response

[
  {
    "id": "increase_budget:21458812345",
    "severity": "medium",
    "title": "Increase budget for Spring sale - Search",
    "description": "This campaign is consistently spending its full daily budget. Raising it could capture more clicks and conversions.",
    "action": "edit_budget",
    "action_payload": {
      "campaign_ids": [
        "68b1c0d4e7b91d003c45a1f2"
      ],
      "field": "budget",
      "value": 30000000
    },
    "source": "google",
    "recommendation_type": "CAMPAIGN_BUDGET"
  }
]

Changes

No recorded changes to this endpoint across all 1 revision of this API.