Skip to main content

List ads

GET /v1/marketing/ads

Scope marketing:read. The shop's Google, Meta and TikTok ads, grouped by ad account: each campaign, ad set or ad with its state, daily budget, what it spent and the bookings it brought.

ParameterTypeRequiredDescription
levelstringnocampaign (default), ad_set or ad
periodstringno7, 30 (default) or 90 days back
channelstringnogoogle_ads, meta_ads, facebook or tiktok
searchstringnoWords in the name
{
"data": {
"level": "campaign",
"accounts": [
{
"account": "Google Ads - Main account",
"channel": "google_ads",
"run_by_someone_else": false,
"can_change": true,
"ads": [
{
"connection_id": 7,
"level": "campaign",
"external_id": "1849302",
"name": "Weekend search",
"status": "running",
"daily_budget": 20,
"spent": 210,
"bookings": 6
}
]
}
]
}
}

Money is in the shop's currency. paused_for_you appears when the Marketing suite paused an ad by itself (at the monthly limit, on a closed day, or after 7 days of spend with no bookings), with the reason. An account marked as run by an agency is run_by_someone_else and cannot be changed.

An empty accounts list means no ad account is connected, not that the shop runs no ads.

Ads are paused, run again or given a new budget from the Marketing suite, Dash, the phone app or MCP. The REST API reads only.