Connect Claude, ChatGPT, Cursor or any MCP client to AxiTrace at https://axitrace.com/api/mcp: read-only tools for revenue, ROAS, traffic sources, campaigns, orders without buyer personal data, the visits and ad clicks behind each order, integration health, custom events and fraud detection, plus optional tools that set up custom events. Setup per client, consent, plans, rate limits and revoking.

Connect Claude, ChatGPT and Cursor

AxiTrace runs a remote MCP server. Connect it to Claude, ChatGPT, Cursor or any other MCP client and ask in plain language about your store: revenue and ROAS, where orders come from, which campaigns sell, which source or campaign brought the most add-to-carts that did not end in an order, whether every ad platform connection is healthy. The assistant reads the same numbers as your AxiTrace dashboard. If you allow it, it can also set up custom events for you; everything else is read-only.

Connector URL

https://axitrace.com/api/mcp

Paste exactly this address, without www. An address on www.axitrace.com is refused. Prefer code over chat? The same reports are available from the REST API v1.

AxiTrace is an official ChatGPT plugin

AxiTrace is an official plugin in ChatGPT, reviewed and approved by OpenAI: AxiTrace in the ChatGPT plugin directory. In ChatGPT you do not need developer mode or a token: open the listing, click Install plugin and sign in to AxiTrace. See the official ChatGPT plugin.

AxiTrace is in the Claude Connectors Directory

AxiTrace is listed in the official Claude Connectors Directory: claude.ai/directory/axitrace. In Claude you do not need to copy the URL: open the listing, click Connect and sign in to AxiTrace. See Claude.ai and Claude Desktop.

On this page

Before you start

  • A workspace on a paid plan (Pro, Business or Custom; existing legacy Starter also retains access). The Free plan does not include API access. The two fraud tools also need the Business or Custom plan.
  • Your own AxiTrace login with access to that workspace. The assistant can read only workspaces you can see yourself, and it loses access to a workspace when you do.
  • An assistant that supports remote MCP servers over HTTP, with OAuth sign-in or a custom Authorization header.

How connecting works

  1. You add https://axitrace.com/api/mcp to your assistant as a custom connector (or MCP server).
  2. The assistant finds the AxiTrace sign-in details on its own and opens an AxiTrace page in your browser. Sign in if you are not signed in yet.
  3. The consent page shows the name of the application, what it will be able to read, and the workspaces it may read. All eligible workspaces are selected; untick the ones you do not want to share. At least one must stay selected. Only workspaces on a paid plan are offered, and demo workspaces are marked Demo.
  4. Click Approve. You return to the assistant, which can now call the tools.

A few things to know about a connection:

  • Workspaces you create later are not included. Connect the application again to add them.
  • A connection lasts up to 180 days from your approval. The assistant renews its short-lived access token (one hour) in the background, so you do not notice it. After 180 days, connect again.
  • You receive a security e-mail for every new connection.
  • You can disconnect at any time: see Revoking access.
1

Claude.ai and Claude Desktop

Claude signs you in with OAuth, so you need no token. AxiTrace is listed in the Claude Connectors Directory, so the quickest way is to connect it from there.

From the Claude Connectors Directory (recommended)

  1. Open AxiTrace in the Claude Connectors Directory while signed in to claude.ai.
  2. Click Connect.
  3. The AxiTrace page Connect Claude to AxiTrace opens (sign in first if asked). Untick the workspaces you do not want to share, tick any write permission you want to allow and click Approve.
  4. Open a new chat and ask, for example, "List my AxiTrace workspaces". The first time Claude uses each AxiTrace tool it asks for permission: click Allow once or Always allow.

Once connected, the listing shows Connected and AxiTrace appears under Customize, Connectors on claude.ai.

As a custom connector

You can also add the same server by hand. The steps below were checked on claude.ai on 24 September 2026.

  1. On claude.ai, click Customize in the left sidebar and open the Connectors tab.
  2. Click + Add (top right) and choose Add custom connector.
  3. Step 1 of the dialog: Name AxiTrace, MCP server URL https://axitrace.com/api/mcp. Click Continue.
  4. Step 2: Claude reads the AxiTrace sign-in details on its own and marks two options as Detected. Keep them exactly as they are:
    • Authentication: Sign in now;
    • OAuth client: Use Claude's published identity;
    • Request headers: add nothing. Do not paste a token or an Authorization header here: Claude gets its own token when you sign in, and a header of yours would get in its way.
    Click Add.
  5. The connector page says You're not connected to AxiTrace yet. Click Connect.
  6. The AxiTrace page Connect Claude to AxiTrace opens (sign in first if asked). It lists what Claude will be able to read and your workspaces, all ticked. Untick the ones you do not want to share and click Approve.
  7. You are back on claude.ai with the message Connected to AxiTrace.
  8. Open a new chat and ask, for example, "List my AxiTrace workspaces" or "AxiTrace overview for the last 7 days". The first time Claude uses each AxiTrace tool it asks Claude wants to use ... from AxiTrace: click Allow once, or Always allow to stop being asked for that tool.

A connector added on claude.ai is available in Claude Desktop and the Claude mobile apps under the same Claude account. If your organization manages connectors centrally, an owner may have to add the connector before members can connect it.

2

Claude Code

Option A: sign in with OAuth (recommended for your own machine).

claude mcp add --transport http axitrace https://axitrace.com/api/mcp

Then run /mcp inside Claude Code, pick axitrace and choose to authenticate. Your browser opens the AxiTrace consent page. The page notes that the authorization code goes to an application running on your own computer: that is Claude Code, which is expected.

Option B: a personal access token (for shared setups, CI or when a browser is not available). Create a token first (see Personal access tokens) and keep it in an environment variable:

export AXITRACE_TOKEN="paste the token here"
claude mcp add --transport http axitrace https://axitrace.com/api/mcp --header "Authorization: Bearer $AXITRACE_TOKEN"

Your shell expands $AXITRACE_TOKEN when you run the command, so the token ends up in the Claude Code configuration. For a project shared through git, use a .mcp.json file that references the variable instead, and never commit the token itself:

{
  "mcpServers": {
    "axitrace": {
      "type": "http",
      "url": "https://axitrace.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ${AXITRACE_TOKEN}"
      }
    }
  }
}
3

ChatGPT

AxiTrace is an official ChatGPT plugin, approved by OpenAI, so the quickest way is to install it from the ChatGPT plugin directory.

From the ChatGPT plugin directory (recommended)

  1. Open AxiTrace in the ChatGPT plugin directory while signed in to chatgpt.com.
  2. Click Install plugin.
  3. The AxiTrace page Connect ChatGPT to AxiTrace opens (sign in first if asked). Untick the workspaces you do not want to share, tick any write permission you want to allow and click Approve.
  4. Open a new chat and ask, for example, "Use AxiTrace: which traffic sources brought the most revenue last month?"

Adding the server by hand

You can also add the same server yourself. ChatGPT has two different places for that, and they do not look alike. Pick the one that matches where you use ChatGPT. Either way you need a Plus, Pro, Business, Enterprise or Education account.

Option A: the ChatGPT desktop app

The desktop app connects AxiTrace with a personal access token. Create the token first and keep it at hand: AxiTrace shows it only once.

  1. Click Plugins in the left sidebar.
  2. Click Add (the dark button, top right, next to Browse catalog) and choose the MCP server option. The page Connect to a custom MCP opens.
  3. Fill in the form exactly as in the table below. Leave every field that the table marks as empty untouched.
  4. Click Save. AxiTrace now appears under the MCP servers tab of the Plugins page.
  5. Open a new chat (an existing one does not see the new server) and ask "List my AxiTrace workspaces". The answer lists your workspaces with their plan, currency and timezone.
FieldWhat to enter
NameAxiTrace
TypeClick Streamable HTTP. The form starts on STDIO, which is wrong for AxiTrace. After you switch, the fields below appear.
URLhttps://axitrace.com/api/mcp, exactly this, with nothing after mcp (no slash, no full stop).
Bearer token environment variable (grey placeholder MCP_BEARER_TOKEN) Leave empty. It expects the name of a terminal variable, which the desktop app cannot see.
Headers, left box (Key)Authorization
Headers, right box (Value)The word Bearer, one space, then your whole token. For example Bearer eyJ0eXAiOiJKV1QiLCJhbGci... (the real token is about 900 characters long; paste all of it).
Headers from environment variablesLeave empty.

To change the URL or the token later, open AxiTrace under MCP servers: the page Update MCP AxiTrace shows the same fields. Never share a screenshot of it with the token visible.

Not the plus button

On the desktop app's Plugins page, the plus button next to the search box opens Add plugin marketplace, which asks for a Git repository. That is a different feature; close it with Cancel and use Add instead.

Option B: ChatGPT in a browser (chatgpt.com)

On the web, ChatGPT connects AxiTrace in developer mode and signs you in with OAuth, so no token is needed. The steps below were checked on chatgpt.com on 24 September 2026. Button names are given as in the English interface; in another language they sit in the same places.

  1. Turn on developer mode (once). On chatgpt.com, click your name in the bottom left corner, open Settings and choose Security and login. In the Developer mode section, turn on the Developer mode switch (ChatGPT marks it as elevated risk; every AxiTrace tool is read-only except custom event and survey authoring tools, which work only if you allow them). Close the settings and reload the page (Cmd+Shift+R on a Mac, Ctrl+Shift+R on Windows).
  2. Click Plugins in the left sidebar, then the plus button next to the Search plugins box. From its menu choose Create app.
  3. The New plugin dialog opens with a drop zone for plugin files. Ignore it and click Create MCP app in its bottom left corner.
  4. Fill in the form:
    FieldWhat to enter
    Icon (optional)Leave empty.
    NameAxiTrace
    Description (optional)Leave empty.
    ConnectionKeep Server URL (not Tunnel) and enter https://axitrace.com/api/mcp.
    AuthenticationOAuth (preselected).
    Advanced OAuth settingsLeave as they are: ChatGPT reads them from AxiTrace.
    I understand and want to continueTick it (it is ChatGPT's general warning about custom servers).
    Click Create.
  5. ChatGPT shows Add AxiTrace to ChatGPT. Click Sign in with AxiTrace. A new browser tab opens the AxiTrace page Connect ChatGPT to AxiTrace: choose the workspaces and click Approve. The tab closes and ChatGPT confirms AxiTrace account connected.
  6. Load the tools (easy to miss). Right after connecting, the app's settings page says there are no tools yet. Scroll to Information and click Refresh; ChatGPT confirms Tools refreshed and lists the AxiTrace tools. Without this step ChatGPT answers without AxiTrace.
  7. Open a new chat and name the app in your question, for example "Use the AxiTrace app: list my workspaces, then show the 3 top campaigns by revenue in the last 30 days".

To find the app again later: Plugins → the Personal tab → Created by me → AxiTrace; the ... menu → Manage opens its settings (connected account, tools, Refresh). If the plus button does nothing, reload the page: ChatGPT shows it only once developer mode is on.

No Developer mode switch under Security and login? On a Business, Enterprise or Education workspace an admin has to allow it first (Workspace settings → Permissions & roles → Developer mode). OpenAI renames these menus from time to time; its developer mode guide has the current path.

The server marks report tools as read-only and authoring tools as writes. Grant custom_events:write or surveys:write explicitly to enable those operations. Your assistant controls how it presents tool confirmations.

4

Cursor

Add AxiTrace to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project) with a personal access token read from an environment variable:

{
  "mcpServers": {
    "axitrace": {
      "url": "https://axitrace.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ${env:AXITRACE_TOKEN}"
      }
    }
  }
}

Set AXITRACE_TOKEN in the environment Cursor starts from, then check that the axitrace server and its tools are listed in Cursor's MCP settings. Pasting the token directly into mcp.json also works, but then the file itself is a secret and must never be committed.

Other MCP clients

Any client that speaks the MCP Streamable HTTP transport can connect:

  • Endpoint: POST https://axitrace.com/api/mcp (Streamable HTTP; GET is not offered, the server does not stream on its own).
  • OAuth 2.1: the first unauthenticated request answers 401 with a WWW-Authenticate header pointing to https://axitrace.com/.well-known/oauth-protected-resource/api/mcp. Authorization code with PKCE (S256), client registration through a Client ID Metadata Document or dynamic client registration, and resource=https://axitrace.com/api/mcp.
  • Or a personal access token as Authorization: Bearer <token>.

The OAuth details are the same as for the REST API: see REST API v1, Authentication.

Personal access tokens

A personal access token is a credential you create yourself, for Claude Code, Cursor, the ChatGPT desktop app, scripts and anything else that cannot sign in with OAuth. It works for both the MCP server and the REST API.

  1. Open the account menu and choose AI assistants and API (/admin/account/api-access).
  2. Under Create a personal access token, give it a label you will recognise later (for example Cursor on my laptop), keep the scopes and workspaces it needs, and pick how long it lives: 30, 90, 180 or 365 days (90 by default). Click Create token.
  3. Copy the token right away. It is shown only once. It is a long string (about 900 characters).
Treat the token like a password

Anyone who has the token can read the workspaces it covers until it expires or you revoke it. Keep it in an environment variable or a password manager, never in a repository, a screenshot or a support ticket. If it leaks, revoke it and create a new one.

The MCP tools

Reports read data. Custom event tools require the opt-in custom_events:write scope (see Setting up custom events); survey authoring tools require surveys:write; settings and Product Labels changes require settings:write Fraud Detection actions fraud:write and excluding orders from the statistics transactions:write (see Settings API and MCP and Fraud Actions API and MCP). No tool changes your tracked data, orders, connections or campaigns (set_order_exclusion only takes orders out of the statistics and keeps them): the one change AxiTrace can make in an ad account is the Google Ads IP exclusion of an address you block while Fraud Detection Auto Exclusion is on. Call list_workspaces first; the other tools take a workspace_id from it, which may be left out when the connection covers exactly one workspace.

ToolWhat it returnsScopePlan
list_workspaces The workspaces this connection may read, with id, name, primary domain, timezone, reporting currency, plan and data retention. workspaces:readAny paid
get_overview Revenue, orders, average order value, ad spend, ROAS, sessions and conversion rate, an optional comparison with the previous period, and a revenue and spend series. With profit:read, also profit, POAS and cost coverage. reports:read; profit fields need profit:readAny paid
get_traffic_sources Revenue, orders and sessions per traffic source, each order credited to one source by the workspace attribution model (as in Orders & journeys), with spend and ROAS where known, and per source the visitors who added to cart (carts) and those of them who did not order afterwards (carts_without_order), counted per source and not summable across rows. Sort by revenue, orders, sessions, carts or carts without order. With profit:read, also profit, POAS and cost coverage per source. reports:read; profit fields need profit:readAny paid
query_analytics Any analytics question in one call: metrics such as visitors, orders, revenue, ad spend, ROAS, clicks, units or leads, per day, week, month, channel group, source, medium, campaign, device, country, landing page, ad platform, product or lead status, organic search per search engine, new and returning customers, or who closed the orders organic search opened, with filters, thresholds and the change against a compared period. It answers from the same reports as the dashboard and says which report it used; a combination no report has is refused with what is supported. reports:read; lead metrics need leads:readAny paid
describe_analytics_schema The metrics, dimensions, filters and reports query_analytics answers, with their definitions. reports:readAny paid
get_traffic The Overview → Traffic page: unique visitors, pageviews, purchases and revenue with a daily, hourly or weekly series and the change against the compared period, for all traffic or only some channel groups, sources, mediums, campaigns, devices or countries. Answers questions such as "how did Facebook traffic change over the last 14 days?". reports:readAny paid
list_traffic_filter_values The values each filter of get_traffic can take in a period (channel groups, sources, mediums, campaigns), with their sessions, searchable by name. reports:readAny paid
get_traffic_breakdown The same figures and their change per channel group, source, medium or campaign, to find which part of the traffic grew or dropped; for example the Facebook campaigns, with sources set to facebook. reports:readAny paid
get_channel_overview The Overview → Organic search page: sessions, orders and revenue from search engines with the change against the compared period, the split by Google, Bing and DuckDuckGo, organic revenue under the three attribution models, which channel closed the orders search opened, the days to purchase, new and returning customers, countries and devices, top products and landing pages. Product profit needs profit:read and the organic lead count leads:read. See Organic search. reports:readAny paid
get_store_health The Store health section of Overview for the whole store: conversion rate, average order value, revenue per session, add to cart rate, engaged session rate, average engagement time, visits before an order, returning customer share, pages per session and sessions, each with the change against the compared period, a series and a state. See Store health. reports:readAny paid
list_campaigns Facebook, Google Ads and TikTok campaigns: platform spend, impressions and clicks next to the orders, revenue, ROAS and CPA AxiTrace attributed, on the same basis for every period so two ranges compare directly, plus the visitors who added to cart after the campaign's ad click (carts) and those of them who did not order afterwards (carts_without_order), counted per campaign and not summable across rows. Sort by spend, revenue, ROAS, orders, carts or carts without order; up to 200 per page and 2,000 per range. With profit:read, also profit, POAS and cost coverage per campaign, and sorting by profit or POAS. reports:read; profit fields need profit:readAny paid
list_products Products ranked by revenue, units, growth or conversion rate: orders, units, revenue (each product's share of the order revenue after discounts), product views, add-to-carts, view to order rate and the channel that brought most of the revenue, with the change against the compared period or another attribution model. Filter by channel group (for example AI assistants) or search by name or SKU; up to 50 per page. Ad spend is not split by product. With profit:read, also revenue net of refunds. reports:read; net revenue needs profit:readAny paid; another attribution model: Business, Custom
get_product_performance One product from list_products: KPIs with unique viewers, the daily series, the view to cart to order funnel per landing channel, the channels and campaigns that sold it (each campaign's whole spend shown for context only) and, on the Business and Custom plans, the same product under the three attribution models. reports:read; net revenue needs profit:readAny paid; three models: Business, Custom
list_transactions Orders, newest first: order id, time, value, attributed source, medium and campaign. Up to 100 per page and 1,000 per range. With profit:read, also each order's profit and cost quality. touched_channel_groups, touched_sources, touched_mediums and touched_campaigns keep the orders those values took part in, the orders get_campaign_participation counts. excluded is include (default, excluded orders flagged), exclude (only the orders that count in reports) or only (only the excluded orders). transactions:read; profit fields need profit:readAny paid
set_order_exclusion Exclude orders (test orders, duplicates, internal or fraudulent purchases) from every report, or restore them: up to 500 order ids from list_transactions per call. Excluded orders stay in list_transactions marked as excluded; nothing is deleted. When the statistics storage cannot record the change, the call changes nothing and returns a retry-in-a-minute error. See Excluding orders. transactions:writeAny paid
get_campaign_participation Which orders a channel group, source, medium or campaign took part in, credited or not: the orders whose visits in the 365 days before the order it touched as the only, first, middle or last touch, with their full revenue and the split by role, beside the orders and revenue the attribution model credits to it, per day and in total. Visits linked to the buyer only by IP address do not count. Take the values from list_traffic_filter_values. reports:readAny paid
get_integrations_health Status of each ad platform connection, events sent and failed, the last error and the last sync, whether consent signals arrive, and the tracking check of every connected ad platform that imports spend: the template AxiTrace needs on every ad click, campaigns without it and whether paid visits can be tied to a campaign. integrations:readAny paid
get_tracking_setup_status The tracking template of one ad platform, where to paste it, and its tracking check: campaigns without the template and whether paid visits can be tied to a campaign. Changes nothing: you paste the template yourself. integrations:readAny paid
list_custom_events Your custom event definitions and how often each fired in the last 30 days. custom_events:readAny paid
get_custom_event One custom event with its whole configuration: throttle, declared properties, no-code triggers, destinations and conversion defaults. custom_events:readAny paid
create_custom_event Creates a custom event: its key and name, no-code triggers (CSS selectors that are clicked, hovered or become visible), declared properties and the connected platforms it is forwarded to. Changes your workspace. custom_events:write (opt-in)Pro, Business, Custom
update_custom_event Changes a custom event or switches it on or off. Changes your workspace. custom_events:write (opt-in)Pro, Business, Custom
get_fraud_summary Suspicious addresses on paid traffic, the paid sessions they caused, blocked and whitelisted addresses, and the state of automatic exclusion. fraud:readBusiness, Custom
list_fraud_verdicts Flagged addresses (masked) with risk level, score, rules fired and status. Up to 100 per page. fraud:readBusiness, Custom
get_fraud_timeline Google Ads clicks and the invalid clicks Google filtered out, per day, per campaign and in total, beside the IP exclusions AxiTrace added and removed per day, for any range with a compared period. fraud:readBusiness, Custom
list_refund_claims The Google Ads refund claims of the workspace with status, period, clicks, estimated cost, case number and credit. Filter by status and period. Read only. fraud:readBusiness, Custom
get_refund_claim One refund claim: its history, the evidence summary with the top addresses (masked) and the texts for Google's invalid clicks form (addresses masked). Read only. fraud:readBusiness, Custom
get_click_tracker_status The Google Ads tracking template of the click tracker for your workspace and which campaigns already use it. Read only. Listed once the click tracker setup is switched on. fraud:readAny paid
get_click_economics Google Ads click economics: how many paid clicks your buyers need before their first purchase, the click limit AxiTrace recommends and what every limit would save and cost, plus the buyers who clicked at least a given number of ads before buying, against the rest, with their orders. Read only. fraud:readAny paid
get_order_journey The visits and ad clicks that led to one order, oldest first: time, channel, UTM source, medium, campaign and id, Google Ads and Meta campaign ids, click ids with their values (gclid, fbclid, ttclid, msclkid and others), landing URL and referrer, and which visit first click, last click and data-driven attribution credited. Up to the 100 most recent visits before the order. journeys:readAny paid
get_conversion_paths The most common sequences of channels before a purchase (for example Meta ad, then Google search, then purchase) with orders, share, revenue, days to convert and visits per path, plus a first-to-last touch matrix. Each order counts the buyer's visits in the 365 days before it. journeys:readAny paid
get_ai_credits The AI credit balance of your account: available, reserved and owed credits, credits by source, credits expiring within 14 days, credits used this billing period, the monthly allowance, the next grant date and the newest 20 credit activity rows. Read only; credits are bought in the admin panel. See AI credits. ai_credits:readAny paid
get_workspace_settings The workspace settings by section: general, tracking, privacy, collection, attribution, fraud, leads and Product Labels. See Settings API and MCP. settings:readAny paid
update_collection_settings, update_attribution_settings, update_general_settings, update_lead_source_settings Change dataLayer tracking, Do Not Track and cookie consent; the attribution model and IP fallback attribution; the reporting timezone; the sources that count as leads. Each answer shows the setting before and after. settings:writeAny paid
save_product_label_rules, apply_product_label_template, refresh_product_labels Save a Product Labels rule set, set one up from a starter template, or recalculate every label now. settings:writeAny paid with Product Labels
update_fraud_settings, block_ip, unblock_ip, whitelist_ip, remove_ip_whitelist Change the Fraud Detection settings and block, unblock or whitelist an IP address. See Fraud Actions API and MCP. fraud:writeBusiness, Custom
list_custom_channels, list_custom_channel_imports The custom paid channels (comparison sites and affiliate networks whose costs you import) and the cost imports of one channel. See Custom paid channels. settings:readAny paid
get_custom_channel_report, preview_custom_channel_rules One custom channel's sessions, orders, revenue, imported spend and ROAS of the days with costs; what draft rules would match, without saving anything. reports:readAny paid
create_custom_channel, update_custom_channel, import_custom_channel_spend, undo_custom_channel_import Set up or change a custom channel, import its costs (an amount for a date range or cost rows; previews first and writes only with preview false) and undo an import. settings:writeAny paid
query_ads_live A live, read-only query of your connected Meta, Google Ads or TikTok account: any fields, breakdowns, levels and ranges the platform API allows. See Live Ad Queries API and MCP. ads_live:readAny paid
get_assistant_memory, set_assistant_memory The notes the Axi assistant keeps about the workspace; setting one needs settings:write. See Axi Memory API and MCP. settings:readAny paid
list_advisor_reports, get_advisor_report, get_advisor_schedule, update_advisor_schedule, request_advisor_analysis, submit_advisor_feedback The AI Advisor reports your team sees, how often they arrive, a new analysis (paid in AI credits) and your verdict on a report; changing the schedule, starting an analysis and feedback need settings:write. See AI Advisor API and MCP. reports:readAny paid
get_click_cohorts The orders that followed the clicks of one campaign (or the visits of one source) on each day, counted by click date: every order of the visitors who clicked, and the orders your attribution model credits to that day. Shows delayed sales after a spend spike; days still maturing are marked provisional. Read only. reports:readAny paid
list_recommendations The recommendations Axi and the AI Advisor gave your workspace, newest first: what was advised, on which campaign or entity, how firmly, with what budget change, and whether it is still open. No conversation content. Read only. reports:readAny paid
search_docs Searches this documentation, the API reference and the developer guide. Reads no workspace data. See Docs Search API and MCP. noneAny

Date ranges. Reports take a preset (last_7_days, last_14_days, last_30_days, last_90_days, last_180_days; the default is last_30_days) or a custom from and to date at most 180 days apart. The fraud tools accept only last_7_days or last_30_days. A preset works like the same preset on the dashboard: last_7_days runs from the same weekday one week ago up to and including today, so today's figures are still partial. Dates follow the workspace's reporting timezone, and money is always an amount with its currency.

Profit and POAS. The profit:read scope is never granted by default. On the consent page it is an extra box you must tick, and on the personal access token form it starts unticked; a connection or token made before it existed does not have it, so reconnect or create a new token to add it. Even with the scope, the profit fields appear only when profit tracking is on for the workspace and the workspace owner has not hidden profit from your account; otherwise they are left out of the answer entirely. Product and line costs are never sent to an assistant.

Add-to-cart figures. If carts and carts_without_order cannot be read for a request, the traffic source or campaign report still answers: both fields are empty (null) and carts_unavailable_reason says why: the workspace is busy, the read failed, the period has too many ad tracking parameter combinations (pick a shorter period), or, for campaigns, the figures of the period are still being prepared in the background (ask again later) or the period starts more than 180 days ago (campaign add-to-carts cover the last 180 days; pick a later period).

When a tool cannot answer (a missing scope, a Free workspace, a range that is too long), the assistant receives one sentence that says what to do next, for example to reconnect or to pick another range.

Setting up custom events

An assistant can create custom events for you, for example "Track clicks on the size guide button as a custom event and send it to GA4". It uses the same rules as the Custom Events page of the dashboard and shows up there like any other event.

  • You have to allow it. The custom_events:write scope is an extra box on the consent page that starts unticked, and on the personal access token form it starts unticked too. A connection made without it, or before it existed, stays read-only: reconnect and tick it to add it.
  • Your role must allow editing the workspace settings (the owner, or a team member with edit rights). Demo workspaces cannot be changed.
  • Your plan sets the limit. Custom events are included in the Pro, Business and Custom plans, each with a limit of active custom events.
  • Only connected platforms can be destinations. Connect a platform in AxiTrace first.
  • Deleting stays in the dashboard. An assistant can switch an event off, but not delete it, because a deleted key can never be used again.

Assistants ask you before they call a tool that changes something. Check the key, the CSS selector and the destinations before you confirm, then try the trigger on your store with the selector tester.

Surveys from your AI assistant

With the opt-in surveys:read scope, use list_surveys, get_survey, list_survey_templates, get_survey_template and get_survey_results. Results include visitor-written text, so review what you share. With surveys:write, create/edit drafts and templates, add/edit/remove questions, set every builder field, preview and activate/pause/end surveys, configure rewards and import coupon pools.

Start with: Use AxiTrace to create a draft survey for all product pages, asking what information would help visitors decide. Show me the questions and a preview before activating it. The Survey API and MCP reference lists all 23 survey tools, fields and examples. After the first response the content is locked; duplicate the survey to revise it. Both survey scopes start unticked. Reconnect, grant them and refresh tools to enable an existing assistant.

Leads from your AI assistant

With the opt-in leads:read scope, use list_leads (every filter of the Leads page), get_lead (one lead with its products, attribution, conversion and notes), get_lead_kpis, list_lead_statuses and get_lead_sources. Contact details, the inquiry message and the text of the team's notes need the separate opt-in lead_contacts:read scope and a role that may see personal data. With leads:write, the assistant can add notes, change a lead's status, exclude or restore a lead, create an order from a lead and link an existing order.

Start with: Which leads from Facebook this week have not converted yet? or Draft an e-mail to this lead based on their inquiry and the products they asked about. The Leads API and MCP reference lists all 10 lead tools, filters and examples. The three lead scopes start unticked. Reconnect, grant them and refresh tools to enable an existing assistant.

What data is and is not exposed

An assistant can read:

  • Only the workspaces you selected when connecting, and only with the scopes shown on the consent page.
  • Report figures: KPIs, traffic sources, campaigns, orders with their value and attributed source, integration health, custom event definitions and, on Business and Custom plans, fraud results.
  • With the profit:read scope, profit, POAS (Profit on Ad Spend) and cost coverage per report, source, campaign and order, if profit tracking is on and the owner has not hidden it from you.
  • With the journeys:read scope, the visits and ad clicks behind each order: times, channels, UTM parameters, click ids with their values, landing URLs and referrers.

An assistant never receives:

  • Structured buyer contact details are not exposed. With surveys:read, visitor-written answers are shared as entered and may contain personal information. The one exception you choose yourself: with lead_contacts:read, the contact details your leads entered (e-mail, phone, name, inquiry message) and the text of your team's lead notes, for a role that may see personal data.
  • Visitor IP addresses, visitor or session identifiers, except those of a lead under lead_contacts:read. Fraud results show addresses masked to their network (IPv4 /24, IPv6 /48).
  • Product costs, line costs or the cost settings of profit tracking.
  • Stored credentials: no ad platform tokens, API keys or endpoint secrets. Explicit reward-secret rotation returns the newly generated secret once to its authorized caller.
  • Any way to change your tracked data, existing orders, connections or campaigns. Write tools manage custom events, surveys, leads, workspace settings, Product Labels rules and Fraud Detection only with the scopes you tick yourself; create_lead_order records a new order for a lead and forwards it to ad platforms only if you ask for it, and a blocked IP address reaches your Google Ads account as an IP exclusion only while Fraud Detection Auto Exclusion is on.

Every text value that comes from your store or ad accounts (source, campaign and event names, click ids, landing URLs, workspace names, order ids) can contain any text; AxiTrace tells the assistant to treat it as data, never as instructions. E-mail addresses found in these report texts, for example in a landing URL, are removed before the answer leaves AxiTrace. Survey content and visitor-written answers are returned as entered.

When you connect an assistant, the reports it fetches are handled by that AI provider under your own agreement with them. AxiTrace does not send your data to any AI provider on its own initiative.

Plans

  • Pro, Business and Custom (plus existing legacy Starter): report tools other than the fraud tools. Custom event and survey authoring and survey results require Pro, Business or Custom.
  • Business and Custom: also the fraud tools get_fraud_summary, list_fraud_verdicts, get_fraud_timeline, list_refund_claims and get_refund_claim.
  • Free: no API access. A Free workspace still appears in list_workspaces of an existing connection with plan_required set, and its reports are refused until the plan is upgraded.

Rate limits

LimitApplies toAllowance
Per connection or tokenEvery call with one credential120 per minute and 5,000 per day
Per workspaceAll calls for one workspace, from every connection together120 per minute
Live reports per workspaceReports read live from the analytics database rather than from a prepared snapshot, for example custom ranges, orders and fraud20 per minute

When a limit is reached, the assistant is told how many seconds to wait. Normal conversations stay far below these numbers. See REST API v1, Rate limits for the headers.

Security e-mails

AxiTrace e-mails you every time:

  • a new application is connected to your account, and
  • a new personal access token is created.

The e-mail names the application or token, the workspaces it can read, when it happened and from which IP address and browser, and links to the AI assistants and API page. If it was not you, revoke the access there right away and change your password.

Revoking access

Open AI assistants and API in the account menu (/admin/account/api-access). It lists your connected applications and personal access tokens, with the workspaces and scopes of each, when it was last used and its recent calls. Click Revoke next to one: it stops working immediately, and the application gets an authentication error on its next call.

Removing the connector inside Claude, ChatGPT or Cursor does not necessarily revoke it on the AxiTrace side, so revoke it in AxiTrace too.

Troubleshooting

SymptomCause and fix
The assistant cannot reach the server, or gets a plain "403 Forbidden" The URL is not exactly https://axitrace.com/api/mcp, for example it uses www.. Remove the connector and add it again with the exact URL.
ChatGPT says the account is connected, but answers without AxiTrace or lists no tools ChatGPT has not loaded the tools yet. Open Plugins → Personal → AxiTrace → ... → Manage, click Refresh under Information, then ask again in a new chat and name the AxiTrace app.
In the ChatGPT desktop app, the plus button on the Plugins page asks for a Git repository That is Add plugin marketplace, a different feature. Use Add (top right) as in Option A, or set it up on chatgpt.com as in Option B.
Claude or ChatGPT stays on "not connected" after you approved Open the connector again and click Connect (Claude) or Connect another account (ChatGPT). If the AxiTrace page says the application is not allowed to connect, write to info@axitrace.com with the time it happened.
The AxiTrace page says the API is included in paid plans None of your workspaces is on a paid plan. Upgrade in Billing, then connect again.
A workspace is missing from list_workspaces It was created after you connected, or you did not select it. Connect again and select it.
A tool answers that the plan does not include the data The workspace is on the Free plan, or it is a fraud tool on legacy Starter or Pro.
A tool answers that a scope is missing The connection or token was created without that scope. Reconnect, or create a new token with it.
It worked before and now asks to sign in again The connection reached 180 days, the token expired, or it was revoked. Connect again or create a new token.
A tool answers to retry in a few seconds A rate limit was reached or the workspace is busy with other live reports. Wait and ask again.

Still stuck? Write to info@axitrace.com with the name of your assistant and the time of the failing call. Never include your token.