Get traffic by rep
Returns the traffic a store’s field of reps drove for a named reporting period — the leaderboard behind the Reps tab and the two traffic tiles above it.
A visit is credited to a rep by identity rather than by channel: it carries the rep’s attribution_member_id, or a share_id whose share belongs to them, or both. Where both are present and disagree, the stamped member wins. Identity has been recorded since long before the channel column existed, so this reaches back further than the channel-keyed figures on the Sources tab, and the two will not agree over a long window.
visitor_share and the ranked rows come from that one filter, so the tile and the leaderboard beneath it cannot disagree. Its denominator is every visitor the store saw over the requested window and is deliberately not narrowed to the first rep-driven visit: months before the field drove anything held no rep traffic, and dilution is the answer rather than a distortion.
Rows are ranked by distinct visitors descending, ties broken on the rep’s name, and cut to a top N. Because one visitor can be sent by two reps, the rows’ visitors need not sum to total_visitors and must not be rendered as a share of a whole. Reps the merchant hid from leaderboards are omitted from the rows while their traffic still counts toward active_reps and visitor_share, and a rep whose member record has since been deleted still ranks and is still named.
Each row also names the resource that drew the most of that rep’s traffic, or null when none did. That column is read from the per-resource rollups rather than from the events, so it answers only for traffic that landed on a tracked resource — about half of rep traffic, and a different half per store. A null there is a rep whose traffic never touched one, not a gap in their numbers.
unattributed is not a rep. It folds the rep-classified traffic that names nobody — an admin-owned share has no member — so the rows plus the remainder reconcile with visitor_share. It carries no member_id and no name, and is served beside the rows rather than among them.
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
The traffic a store's field of reps drove over a period — the resolved window, how many reps were active, the field's share of every visitor, the ranked leaderboard, and the remainder that names nobody, wrapped in the standard API response envelope.
How many reps drove traffic, with the comparison every other headline figure carries.
Distinct visitors who arrived on a rep-carrying visit over every distinct visitor in the window, rounded to four decimals, and 0 when the store saw none. Computed from the same identity filter as the rows, and its denominator is not narrowed to the first rep-driven visit.
0 <= x <= 1Total distinct bot-free visitors over the window — the denominator visitor_share is taken against.
Reps ranked by distinct visitors descending, ties broken on name, cut to a top N. Reps hidden from leaderboards are absent.
The rep-classified traffic that names nobody, folded into one remainder — chiefly visits arriving through an admin-owned share, which carries no member. It is not a rep row, and carries neither a member_id nor a name.
The HTTP status code echoed in the response envelope.