Skip to main content
GET
Get traffic overview

Authorizations

Authorization
string
header
required

Bearer token authentication

Query Parameters

period
string

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.

period
object
required
page_views
object
required
unique_visitors
object | null
required

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.

device_mix
object
required

Bot-free page views by device type, always carrying all four keys, zero-filled, so a client can render a stable set of segments.

series
object[]
required

Gross page views per day over the window, gap-filled so every day in the window has a point, oldest first.

content_mix
object
required

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.

top_content
object[]
required

The highest-viewed individual resources over the window, ranked by gross page views across every content type and cut to a top-N.

status
integer
required

The HTTP status code echoed in the response envelope.

meta
object
required