Campaign performance over time
How the campaign is doing over time: flyers distributed, scans and conversions bucketed into periods, alongside your own revenue, ROI, CPA, spend and conversion value.
Authorization
ClientBearer Client-scoped key as a Bearer JWT; always pinned to your own client.
In: header
Path Parameters
Numeric campaign id (must belong to the calling key’s client).
Response Body
application/json
curl -X GET "https://example.com/client/campaigns/string/performance"{ "success": true, "data": { "xAxis": { "label": "Week", "data": [ "2026-W20", "2026-W21" ] }, "yAxis": { "scans": { "label": "Scans", "data": [ 120, 145 ] }, "conversions": { "label": "Conversions", "data": [ 18, 22 ] }, "flyersDistributed": { "label": "Flyers Distributed", "data": [ 20000, 25000 ] } } }}Turn an address into coordinates GET
Resolves a street address to a latitude and longitude, so route targeting starts from a real point rather than a guess. `confidence` tells you how exact the match is — `high` is a rooftop match, `low` means the result is approximate (often just the town). Check `confidence` and `partialMatch` before you spend money on routes around the result.
Analytics views GET
A focused analytics view of the campaign. `slug` picks which one: - `overview` — volume over time - `by-week`, `by-city` — results per period or per area - `ab-test` — how each flyer variant performed - `timeline` — distribution progress - `creative` — performance by artwork Your own revenue, ROI, CPA and spend figures are included where they are available.