List Google Ads insights

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

Returns the account's suggestion feed for a date window: what to change, on which campaigns, and how urgent it is.

The feed merges Base44's own suggestions with Google Ads' budget recommendations and ad-strength findings. Base44 removes the overlaps, so a campaign that both sides flag for the same reason appears once. Suggestions you dismissed are left out.

action_payload.campaign_ids holds Base44 campaign IDs on Base44's own suggestions, and Google Ads campaign IDs on ad-strength ones (recommendation_type AD_STRENGTH_DROP). Check recommendation_type before passing an ID to another endpoint.

Google's half of the feed is best-effort: when Google Ads is unavailable you get Base44's suggestions alone, under a 200 and with nothing in the response to say so.

An account with no synced campaigns returns an empty list.

<Note>start_date and end_date are inclusive and must both be YYYY-MM-DD. Anything else is rejected with a 400.</Note>

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

<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>

get/api/apps/{app_id}/google-ads/analytics/insights

Path parameters

app_idstring required

ID of the app whose Google Ads reporting you want to read.

ID of the app whose Google Ads reporting you want to read.

Query parameters

start_datestring required

First day of the window, as YYYY-MM-DD. Inclusive.

First day of the window, as YYYY-MM-DD. Inclusive.

end_datestring required

Last day of the window, as YYYY-MM-DD. Inclusive.

Last day of the window, as YYYY-MM-DD. Inclusive.

Response

The account's suggestions, most urgent first.

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

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