Get traffic overview
Returns the store’s traffic overview for a named reporting period.
The payload carries the resolved period window, the gross page-view headline with its period-over-period change, the distinct-visitor split into new and returning, the bot-free device mix, a gap-free daily page-view series, the content mix by resource type, and the highest-viewed individual resources — each with its own image, per-day view series, the channel that sent it the most traffic, and the orders and revenue it earned.
Two fields carry readings a client must not coerce. unique_visitors is null, rather than zero, for a window visitor state cannot answer. A resource’s top_channel is null, rather than “direct”, when no channel-stamped visit to it fell in the window.
A resource’s orders and revenue credit exactly the one resource each order’s attributing visit landed on, so they do not decompose store totals and must not be presented as doing so.
Authorizations
Bearer token authentication
Query Parameters
Named reporting period (default last_30_days). Supported names: today, last_7_days, last_30_days, last_90_days, last_12_months, this_month, last_month. An unsupported name returns 422.
Response
Success
Store-traffic overview for a period — the resolved window, the page-view headline with its period-over-period change, the visitor split, the bot-free device mix, the gap-free daily series, the content mix by resource type, and the highest-viewed individual resources, wrapped in the standard API response envelope.
The distinct-visitor split over the window, or null for a window visitor state cannot answer — one that has already closed, or one reaching back before this store began capturing visitors.
Null means "not knowable" and is deliberately distinct from a zero, which means "nobody came". A client must not coerce one into the other. It carries no change_pct, unlike page_views: the numbers come from session state, which records a visitor's most recent activity and so cannot describe the previous window.
Bot-free page views by device type, always carrying all four keys, zero-filled, so a client can render a stable set of segments.
Gross page views per day over the window, gap-filled so every day in the window has a point, oldest first.
Gross page views by content type, always carrying all six types plus "other", zero-filled, in a stable order. "other" is the views that resolved to no resource — a storefront root, a cart, a checkout URL.
"promotions" was a seventh key until 2026-07-31. It was removed because it was always zero: no storefront visit has ever resolved to a promotion, and the rollup behind it has never held a row.
The values sum to page_views.total with one exception: for windows predating the store rollup's backfill the per-resource rollups can over-count, and the mix then exceeds the headline. Every value is a real rollup total either way, so a client deriving shares should divide by the mix's own sum rather than by page_views.total — the two agree in the normal case, and dividing by the mix keeps a share at or below 100% in both.
The highest-viewed individual resources over the window, ranked by gross page views across every content type and cut to a top-N.
The HTTP status code echoed in the response envelope.