Get Google Ads performance dashboard
<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 spend, clicks, impressions, conversions and return on ad spend for a date window, each with its change against the previous window of the same length, plus a per-campaign breakdown.
Base44 reads these numbers from Google Ads on every call. When Google is unavailable it falls back to its own nightly copy, which is the same shape minus trend and conversion_goals: write your client to treat both as optional rather than assuming the live shape.
Archived campaigns stay in both the totals and the breakdown, so the rows always sum to the figures above them.
conversions and conversions_trend are null for an account that records no conversions and has no conversion tracking configured, so a real zero stays distinguishable from an untracked account. List conversion actions shows whether the account has any goals at all.
Set include_campaign_trend to false to drop the per-campaign daily sparkline. It costs one Google Ads row per campaign per day, so leaving it on is noticeably slower on an account with many campaigns and a long window.
<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>
Path parameters
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
First day of the window, as YYYY-MM-DD. Inclusive.
First day of the window, as YYYY-MM-DD. Inclusive.
Last day of the window, as YYYY-MM-DD. Inclusive.
Last day of the window, as YYYY-MM-DD. Inclusive.
Include each campaign's daily series in campaign_breakdown[].trend. Set it to false to leave the series out, which is significantly faster on an account with many campaigns or a long window.
Include each campaign's daily series in campaign_breakdown[].trend. Set it to false to leave the series out, which is significantly faster on an account with many campaigns or a long window.
Response
The account's totals for the window, plus a row per campaign.
Example response
{
"spend": 1240.75,
"spend_trend": 12.4,
"impressions": 52100,
"impressions_trend": -3.2,
"clicks": 1830,
"clicks_trend": 8.1,
"conversions": 64,
"conversions_trend": 15,
"roas": 2.35,
"roas_trend": 4.7,
"campaign_breakdown": [
{
"campaign_type": "SEARCH",
"clicks": 612,
"conversions": 24,
"conversions_value": 1830,
"ctr": 3.33,
"id": "21458812345",
"impressions": 18400,
"name": "Spring sale - Search",
"spend": 412.5,
"status": "ENABLED"
}
],
"top_search_terms": [
{
"clicks": 17,
"term": "oak dining table"
}
],
"monthly_spend_cap_micros": 50000000,
"trend": [
{
"clicks": 48,
"conversions": 3,
"date": "2026-08-14"
}
],
"conversion_goals": [
{
"category": "PURCHASE",
"conversions": 12,
"name": "Purchase"
}
]
}Changes
Changed in 1 of the 10 revisions of this API.1
- ○
endpoint added
endpoint-added
- ○