API reference / Analytics
Get a breakdown of visitors
A period's visitors in groups by one dimension, most visitors first. The dimensions are sources (channels, referrers, campaigns, utm_*, ref, source, via), pages (pages, entry_pages, exit_pages, exit_links, hostnames), location (countries, regions, cities, languages), devices (browsers, os, devices, screens), goals, properties and weekday_hours. Sources, location and device come from the first page of each session. An exit page is the last page of a session. A screen is mobile, tablet, laptop or desktop, by its width. A language is a code such as en. Pages also give the average time in view and the depth of reading. properties gives the names of the properties of goals, and with property, the values of one. weekday_hours groups the sessions by the time they started, in the time zone of the workspace: 1-09 is Monday from 9:00 to 10:00, and 7-23 is Sunday from 23:00.
/api/v1/analytics/breakdown/{dimension}Other ways to call it
troopy analytics breakdowntroopy_get_analytics_breakdownPath parameters
dimension*enum<string>channelsreferrerscampaignsutm_sourceutm_mediumutm_termutm_contentrefsourceviapagesentry_pagesexit_pagesexit_linkshostnamescountriesand 10 more
Query parameters
periodenum<string>now is the last 10 minutes. 7d and 30d end today. 3m, 6m and 12m are whole months that end with this month. week starts on Monday. custom needs from and to
nowtodayyesterday24h7d30d3m6m12mweekmonthyearallcustom
Default "30d"
fromstringYYYY-MM-DD, in the workspace's time zone
date
tostringYYYY-MM-DD. The period includes this day
date
compareenum<string>Also gives another window: previous is the window just before, with the same length. year is the same days a year before. custom is compare_from to compare_to
previousyearcustom
compare_fromstringWith compare custom: the first day of the other window
date
compare_tostringWith compare custom: the last day of the other window
date
filter_channelstringchannel: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_referrerstringreferrer: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_utm_sourcestringutm source: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_utm_mediumstringutm medium: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_utm_campaignstringutm campaign: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_utm_termstringutm term: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_utm_contentstringutm content: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_refstringref: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_sourcestringsource: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_viastringvia: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_pagestringpage: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_entry_pagestringentry page: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_exit_pagestringexit page: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_hostnamestringhostname: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_countrystringcountry: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_regionstringregion: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_citystringcity: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_languagestringlanguage: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_browserstringbrowser: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_osstringos: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_devicestringdevice: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_screenstringscreen: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_goalstringgoal: op:value[,value]. The op is is, is_not, contains, does_not_contain, matches (a regular expression) or does_not_match. No op means is. More values mean any of them. (none) matches an empty value, as for direct traffic
At most 500 characters
filter_propertystringVisitors who sent a goal with a property: op:name=value[,name=value], such as is:plan=pro. The op is one of is, is_not, contains, does_not_contain, matches and does_not_match
At most 500 characters
filter_visit_countstringSessions by the visitor's visit number: is:1 (new), gte:2 (returning), lte, is_not
At most 500 characters
propertystringWith dimension properties: the property whose values to give, such as plan
attributionenum<string>Sources only. last credits the source of each visit. first credits the source of the first visit of each visitor
lastfirst
Default "last"
pageinteger1-based page number
Default 1 · At least 1
limitintegerRows per page, at most 1,000
Default 100 · At least 1 · At most 1000
Response
200 · application/jsondata*array<object>7 properties
value*string | nullnull when there is no value, for example no referrer (direct traffic) or an unknown country
visitors*integercount*integerPageviews. For goals, completions. For exit links, clicks
revenue*numberAttributed revenue, in minor units
conversionRate*numberShare of the row's visitors who paid, 0 to 1
timeOnPageinteger | nullPages only: the average time in view of a visitor, in seconds
scrollDepthinteger | nullPages only: how far down a visitor read the page on average, 0 to 100
pagination*object4 properties
page*integerlimit*integertotal*integerpages*integer