Browse developer documentation
Sources
attriboo reports sources
Compare recorded marketing sources and their attributed revenue.
Access: OAuth analytics:read or workspace key
Options
| Field | Type | Description |
|---|---|---|
--site | string | Website ID or domain. Required when the workspace has more than one website. |
--period | string | UTC date selection. from and to override period. Values: realtime, today, yesterday, 7d, 30d, 90d, 12m, wtd, mtd, qtd, ytd, all. Default: |
--from | string | Inclusive start date. Supply to as well. |
--to | string | Inclusive end date. Supply from as well. |
--compare | string | Comparison range. Values: previous_period, mom, qoq, yoy, none. Default: |
--model | string | How recorded sources share revenue credit. Values: first_touch, last_touch, linear, time_decay. Default: |
--filters | string | JSON array string of up to twenty visitor filters, for example [{"dim":"country","op":"is","value":"US"}]. Dimensions: source, channel, campaign, entry_page, page, hostname, country, device, browser, os, goal. Operators: is, is_not. Values are exact strings up to 500 characters. All filters must match the visitor across available history; report dates then select activity for that cohort. Unmatched payments are excluded. Crawler counts remain website-wide; spend requires every filter to be source/channel/campaign. Preserve filters when paging. |
--limit | integer | Maximum rows where supported. Default: |
--cursor | string | A returned next_cursor. Keep the same website, report, dates, model, visitor filters and funnel selection. |
--json | boolean | Compact JSON instead of formatted JSON. |
--csv | boolean | CSV for the main row collection; nested values remain JSON cells. Cannot be combined with --json. |
Read sources
Replace example websites, dates and cursor values with your own. Running these commands makes real requests or changes the local session.
attriboo reports sources --site shop.example.com --from 2026-10-01 --to 2026-10-07 --compare none --jsonExample output
{"site":{"id":"site_example","domain":"shop.example.com","currency":"USD"},"period":{"from":"2026-10-01T00:00:00.000Z","to":"2026-10-08T00:00:00.000Z","label":"Custom","compare":"none","attribution_model":"first_touch"},"report":"sources","rows":[{"source":"Google Organic","channel":"Organic Search","visitors":100,"conversions":4,"revenue":20000,"conversion_rate":4,"revenue_per_visitor":200}]}Save the returned source rows as CSV
Replace example websites, dates and cursor values with your own. Running these commands makes real requests or changes the local session.
attriboo reports sources --site shop.example.com --period 30d --csv > sources.csvThis is the example content saved in sources.csv; stdout is redirected into the file. CSV exports do not automatically fetch continuation pages.
Example output
"source","channel","visitors","conversions","revenue","conversion_rate","revenue_per_visitor"
"Google Organic","Organic Search","100","4","20000","4","200"Output fields
| Field | Type | Description |
|---|---|---|
site | object | Website ID, domain and currency. |
period | object | Resolved UTC boundaries; to is the exclusive timestamp after the selected end date. |
rows | array | Report records. See the fields below. |
next_cursor | string | null | When provided, pass this value to continue; null means the last page. Some small-site reports omit this field. |
coverage | object | When provided, describes completeness, snapshot time and row coverage. Row limits apply to this page, not to headline totals. |
site fields
| Field | Type | Description |
|---|---|---|
id | string | Website ID. |
domain | string | Website domain. |
currency | string | Three-letter currency. |
period fields
| Field | Type | Description |
|---|---|---|
from | string | Inclusive UTC start. |
to | string | Exclusive UTC end. |
label | string | Human-readable date selection. |
compare | string | Comparison selection. |
attribution_model | string | Revenue-credit model. |
rows[] fields
| Field | Type | Description |
|---|---|---|
source | string | Source name. |
channel | string | Channel group. |
visitors | integer | Visitors. |
conversions | number | Attributed conversion credit; can be fractional. |
revenue | integer | Attributed revenue in cents. |
conversion_rate | number | Percentage. |
revenue_per_visitor | integer | Cents per visitor. |
The data follows the sources API contract. CLI JSON omits the REST envelope.
Behavior and limits
Money is integer cents in site.currency. Percentages use a 0–100 scale.
The selected attribution model changes conversion credit and revenue. Linear credit can split a sale across sources.
CLI JSON output is the API data object directly, without the REST status/data envelope. Default output is formatted JSON; --json is compact JSON.
CSV contains only the returned page's main row collection. Continue using returned next_cursor values rather than assuming a single CSV is a complete export.