Skip to developer documentation
Browse developer documentation
MCP documentation / Reports

Read-only tool

get_journeys

Read the complete routes visitors took, page by page, with visits, buyers and linked purchase value for each route.

Access: OAuth analytics:read or a privately configured workspace key.

Arguments

get_journeys arguments
FieldTypeDescription
comparestringComparison range.

Values: previous_period, mom, qoq, yoy, none.

Default: previous_period.

cursorstringOpaque next_cursor from the previous result. Keep the same website, dates, report, model, visitor filters and funnel selector.
filtersarrayJSON array 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.
fromstringInclusive website-local start date. Supply to as well.
include_goalsbooleanAdd recorded goals as steps.

Default: false.

journey_channelstringOnly visits whose first recorded entry came from this channel, for example AI Referral.
journey_sourcestringOnly visits from this source, for example ChatGPT.
limitintegerMaximum rows on this page.

Default: 50.

lookbackstringHow far back before each sale visits can get credit. Older visits get no credit; if none fall inside the window, the latest recorded visit keeps it. Larger-site database reports, visitor filters and cursors only accept all.

Values: all, 90d, 30d, 7d.

Default: all.

modelstringWhich visit gets credit for a sale, the same six rules as the dashboard's Credit menu.

Values: first_touch, last_touch, last_non_direct, u_shaped, linear, time_decay.

Default: first_touch.

outcomestringKeep visits with a new purchase, a goal, an outbound click, or without a purchase.

Values: all, purchased, goal, outbound, no-purchase.

Default: all.

periodstringSaved website timezone calendar selection. from and to override period.

Values: realtime, today, yesterday, 7d, 30d, 90d, 12m, wtd, mtd, qtd, ytd, all.

Default: 30d.

rankstringOrder paths by visits or by linked purchase value.

Values: visits, purchase_value.

Default: visits.

sitestringWebsite ID or domain. Required when the workspace has more than one website.
start_pagestringOnly visits that started on this path, for example /pricing.
tostringInclusive website-local end date. Supply from as well.

filters[] fields

filters nested fields
FieldTypeDescription
dimstring

Values: source, channel, campaign, entry_page, page, hostname, country, device, browser, os, goal.

opstring

Values: is, is_not.

valuestring

Read journeys

Use this JSON-RPC call through an initialized MCP client. Replace example values with your actual website, dates or confirmed setup details.

MCP tools/call request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_journeys",
    "arguments": {
      "site": "site_example",
      "from": "2026-10-01",
      "to": "2026-10-07",
      "compare": "none"
    }
  }
}

Decoded result

Illustrative JSON parsed from the result’s text block.

Decoded JSON result
{
  "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",
    "timezone": "UTC"
  },
  "totals": {
    "visits": 40,
    "visitors": 31,
    "buyers": 2,
    "new_purchases": 2,
    "linked_value": 39800
  },
  "unlinked_purchases": 0,
  "paths": [
    {
      "steps": [
        {
          "kind": "page",
          "label": "/pricing"
        },
        {
          "kind": "page",
          "label": "/checkout"
        },
        {
          "kind": "purchase",
          "label": "Purchase"
        }
      ],
      "step_count": 3,
      "visits": 4,
      "visitors": 4,
      "buyers": 2,
      "new_purchases": 2,
      "linked_value": 39800
    }
  ],
  "notes": "A visit ends after 30 minutes without activity."
}

Result fields

get_journeys result fields
FieldTypeDescription
siteobjectWebsite ID, domain and currency.
periodobjectSelected dates as UTC timestamps; to is exclusive.
totalsobjectvisits, visitors, buyers, new_purchases and linked_value across every matching route.
unlinked_purchasesintegerNew purchases with no recorded visit to link to.
pathsarrayMatching routes, ranked by rank.
next_cursorstring | nullWhen provided, pass this value to continue; null means the last page. Some small-site reports omit this field.
coverageobjectWhen provided, describes completeness, snapshot time and row coverage. Row limits apply to this page, not to headline totals.
notesstringHow journeys are counted.

site fields

site nested fields
FieldTypeDescription
idstringWebsite ID.
domainstringWebsite domain.
currencystringThree-letter currency.

period fields

period nested fields
FieldTypeDescription
fromstringInclusive UTC start.
tostringExclusive UTC end.
labelstringHuman-readable date selection.
timezonestringSaved website timezone.

paths[] fields

paths nested fields
FieldTypeDescription
stepsarrayThe route in order: kind (page, goal, outbound, purchase, end or more) and label.
step_countintegerSteps in the full route; steps can be shorter for very long routes.
visitsintegerVisits that took this route.
visitorsintegerDistinct visitors.
buyersintegerVisitors with a linked new purchase.
new_purchasesintegerLinked new purchases.
linked_valueintegerValue of linked new purchases, cents. Excludes refunds and renewals.

The decoded data follows the journeys response contract, without the REST envelope.

Full MCP result wrapper
MCP result object
{
  "content": [
    {
      "type": "text",
      "text": "{\n  \"site\": {\n    \"id\": \"site_example\",\n    \"domain\": \"shop.example.com\",\n    \"currency\": \"USD\"\n  },\n  \"period\": {\n    \"from\": \"2026-10-01T00:00:00.000Z\",\n    \"to\": \"2026-10-08T00:00:00.000Z\",\n    \"label\": \"Custom\",\n    \"timezone\": \"UTC\"\n  },\n  \"totals\": {\n    \"visits\": 40,\n    \"visitors\": 31,\n    \"buyers\": 2,\n    \"new_purchases\": 2,\n    \"linked_value\": 39800\n  },\n  \"unlinked_purchases\": 0,\n  \"paths\": [\n    {\n      \"steps\": [\n        {\n          \"kind\": \"page\",\n          \"label\": \"/pricing\"\n        },\n        {\n          \"kind\": \"page\",\n          \"label\": \"/checkout\"\n        },\n        {\n          \"kind\": \"purchase\",\n          \"label\": \"Purchase\"\n        }\n      ],\n      \"step_count\": 3,\n      \"visits\": 4,\n      \"visitors\": 4,\n      \"buyers\": 2,\n      \"new_purchases\": 2,\n      \"linked_value\": 39800\n    }\n  ],\n  \"notes\": \"A visit ends after 30 minutes without activity.\"\n}"
    }
  ]
}

Behavior and limits

Money is integer cents in site.currency. Percentages use a 0–100 scale.

Matches Journeys & Funnels → Recorded paths. A visit ends after 30 minutes without activity.

Journeys follow visits, not revenue credit, so model and lookback do not change them. linked_value is not source revenue credit.

Larger sites use the database journey calculation and return next_cursor; keep the same website, dates and journey filters when continuing.

Report tools return the report data directly inside MCP text content. They do not add the REST status/data envelope.

With multiple websites and no site argument, this report tool returns needs_site: true and the available websites. Choose a real website and call it again.

Related documentation