Documentation

Troubleshooting

Ordered by how often each cause turns out to be the real one. The first section covers more cases than all the others combined.

A tool returned nothing

Check the date window before anything else

Concluding that tracking is broken when the real cause is a date window is the most common mistake made against this server. Ask your assistant to show _meta.dataCoverage and compare it to the window you asked for.

Show me the dataCoverage block from that last call.

Work down this list:

  1. The window is past aggregatesThrough. Rollup-backed tools — funnel, anomalies, correlations, opportunity sizing, top issues, journey patterns — are complete only through the last completed nightly run. Asking for today returns zeros by construction. See Data freshness.
  2. The window is before firstEvent. Raw events expire on a plan-based schedule, so firstEvent moves forward over time even while older aggregates survive.
  3. The dimension did not exist yet. Country starts 31 July 2026, Core Web Vitals 23 July 2026, theme id 7 August 2026. Split by one of these over an earlier window and everything lands in an unknown bucket.
  4. The filter is too narrow. Device plus UTM source plus visitor type can cut a small store to a handful of sessions. Remove filters one at a time.
  5. The plan does not produce that data. Custom events and session summaries are empty on Free by design, not by failure. See Plans and limits.

No data at all, from any tool

Now it is worth suspecting collection. In order:

  1. The theme app embed is off, or on the wrong theme. Check Online Store → Themes → Customize → App embeds on your published theme. Click Context Tracker must be on and the theme saved. Enabling it on an unpublished theme records nothing.
  2. You are on Free and past the hard cap. A Free store sitting at or above 10,000 sessions a month for 14 consecutive days stops ingesting. The dashboard shows a banner throughout. This looks exactly like broken tracking.
  3. A consent banner is blocking everything.Click Context honours Shopify's Customer Privacy API. If your banner denies analytics by default and most visitors never accept, very little is recorded — correctly.
  4. The store is genuinely new. Events appear within seconds, but the first rollup only runs after midnight UTC.

The MCP connection fails

Almost always the wrong URL for the client.

Claude
https://app.clickcontext.com/api/mcp/sse
ChatGPT
https://app.clickcontext.com/api/mcp/mcp
Cursor, Claude Code, VS Code, Windsurf
https://app.clickcontext.com/api/mcp/mcp

Claude's connector negotiates the transport for itself, which is why it gets a different path. Every client that reads a URL literally needs /api/mcp/mcp — pointing one at /api/mcp/sse leaves it hanging on a handshake this deployment does not serve.

Other causes, in order:

  • The connection code expired. Codes are single-use and last ten minutes. Generate a fresh one.
  • The API key was rotated. There is one key per store, so generating a new one disconnects every client still holding the old value.
  • ChatGPT developer mode is off, or the account is not on a paid plan.
  • The app was uninstalled. That ends access regardless of what is still in a config file.

Connected, but the assistant does not use it

Some clients — ChatGPT especially — need a nudge before they reach for a connector. Name it in the prompt.

Using Click Context, where is my biggest conversion leak?

If the tool list shows fewer than 37 tools, the client truncated it. That is a client-side limit, not a server one, and disabling other connectors usually restores the full set.

The numbers disagree with Shopify or GA4

Expected, in both directions, for known reasons.

Fewer sessions than GA4
Declared crawlers are excluded at ingest, before any rate is computed. GA4's default filtering is weaker.
Better conversion than GA4
Same cause. A smaller, cleaner denominator raises the rate. This is the correction working.
Higher revenue than Shopify
Pixel revenue is gross. Returns, cancellations and post-purchase edits are invisible to it. One store with a 32% return rate read 1.47× Shopify's net figure.
Fewer orders than Shopify
Consent refusals and ad blockers hide some checkouts entirely, so the order count is a lower bound.
Two different conversion rates here
get_funnel_analysis measures over product-viewing sessions; get_session_insights over all sessions. See Metrics and money.

A finding looks wrong

  • Rage clicks on a stepper or carousel arrow. Those controls are clicked rapidly by design, and the burst heuristic cannot tell eager from angry. Ask for corroboration — a JavaScript error on the page, a conversion gap, dead clicks nearby.
  • A page with impossible metrics — hundreds of views at zero seconds — is probably residual bot or internal traffic rather than a UX problem.
  • An average that no individual session resembles.Ask for the median. One abandoned tab can carry most of a page's total engaged time.
  • A confident claim over a tiny sample.Ask “what is the sample behind that, and is it distinguishable from noise?”

A theme A/B test disagrees with the data here

It should win. Segmenting by theme is observational — it reports which theme each session happened to receive. Your A/B app randomises the assignment and owns the verdict.

What Click Context adds is the diagnosis the A/B app cannot give: which funnel step the losing variant breaks at, and which element on that page is responsible. Also check that the app embed is enabled in both themes — a test theme without it records no sessions, which reads as a traffic drop.

Still stuck

The setup wizard in your Shopify admin has a support link that includes which step you were on. Include the _meta block from a failing call — it carries the server date, the authenticated store, and the coverage envelope, which is usually enough to identify the cause immediately.