Skip to main content

Marketing

Pro plan

The /marketing endpoints need the Pro plan, the plan that includes the Marketing suite. Other plans get 403 plan_feature_required.

Read what marketing booked, the posts and the ads, the same numbers the Marketing suite page shows. Every endpoint is read only and needs the marketing:read scope.

EndpointWhat it returns
GET /v1/marketing/overviewBookings from marketing by channel, against the same days last year
GET /v1/marketing/postsSocial posts and website articles, with what each did
GET /v1/marketing/adsGoogle, Meta and TikTok ads from the connected ad accounts

What counts as a booking from marketingโ€‹

A booking made in the period that carries any attribution: an ad click id (gclid, fbclid, ttclid), a utm tag, a tagged link (?ref=) or the page it arrived on. Cancelled bookings, quotes nobody accepted and unsent drafts are left out.

Get the overviewโ€‹

GET /v1/marketing/overview?days=30
ParameterTypeRequiredDescription
daysintegerno7, 30 (default), 90 or 365, ending today in the shop's time zone
{
"data": {
"days": 30,
"compared_with": "the same days last year",
"totals": {
"bookings": 12,
"revenue": 1840.5,
"previous_bookings": 9,
"previous_revenue": 1290,
"revenue_change_pct": 43,
"spend": 210,
"cost_per_booking": 35
},
"channels": [
{ "key": "google_ads", "label": "Google Ads", "bookings": 6, "revenue": 980, "spend": 210, "cost_per_booking": 35, "previous_bookings": 4 }
],
"posts_waiting": 3,
"bots": [
{ "key": "fill_spots", "name": "Fill empty spots", "on": true, "does": "Drafts a post for a spot still to sell in the next 10 days, for your OK." }
]
}
}

A channel the shop never used is not listed. spend and cost_per_booking are null until an ad account is connected, never 0.

An API key sees every figure. The phone app, signed in as a person, gets money only when that person can see revenue; otherwise the money fields are left out and money_hidden says so.