See where people drop off
How many visitors did each step of a path in order, and how many dropped out at each one.
Free*
*Free up to 1,000,000 reads a month for the whole account, then $0.50 per 10,000 reads.
An example
Of the people who look at a bike, how many put it in the cart, and how many actually pay?
Your agent callsanalytics_funnelFree*
The example business is Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon. The reply is the one the tool really gives.
{
"site": "halversoncycle.example",
"steps": [
"/bikes/*",
"/cart",
"/checkout",
"Purchase"
],
"period": "30d"
}Use it when
Someone asks where visitors give up on the way to an order, a sign-up or a booking.
- For the pages people visit before and after one page, use
analytics_paths.
What it does
How many visitors did each step in order (pages and events, 2 to 8), the share kept at each step, how many dropped, and the median time between steps. Steps happen in order on the same day; anything may happen between them.
What comes back
Each step with the visitors who reached it, the share of the first step and of the step before, how many dropped and the median time from the step before, and the overall conversion rate. Every reply also carries cost_usd and balance_usd.
Inputs
| Name | Type | What it is |
|---|---|---|
siteRequired | string | The site's domain (e.g. halversoncycle.example) or its site_id. 4 to 253 characters. |
stepsRequired | array of strings or objects | Each a page ("/pricing", * for any part), an event name ("Signup"), or {"page"|"event", "props", "name"}. 2 to 8 items. |
steps[].name | string | Up to 60 characters. |
steps[].page | string | A page reached, like /thanks or /order/*/done. Up to 500 characters. |
steps[].event | string | A custom event, like Signup, or one analytics_define_events made. Up to 60 characters. |
steps[].props | object | Only events with these props, like {"plan": "pro"}. |
steps[].notify | boolean | Send analytics.goal_completed the moment a visitor reaches it, with where they came from and what they saw. |
period | string | One of: today,yesterday,7d,30d,90d,month,last_month,12mo,custom. Default: 30d. |
from | string | With period custom: the first day, 2026-10-01. Up to 10 characters. |
to | string | With period custom: the last day. Up to 10 characters. |
filters | object | Narrow the stats: page and entry_page ("/blog/*", * for any part), goal (a goal's name), event, channel (Direct, Organic search, Paid search, Organic social, Paid social, AI assistants, Email, Referral, Affiliates, Display, Paid other, Other campaigns), source ("Google", "Direct"), referrer, campaign, medium, term, content, country ("DE"), device (desktop, tablet, mobile), browser, os. Example: {"channel": "Organic search", "device": "mobile"}. |
The call
Over MCP, call analytics_funnel on https://api.conecto.chat/mcp/analytics. Over REST:
curl -X POST https://api.conecto.chat/v1/tools/analytics_funnel \
-H "Authorization: Bearer $CONECTO_KEY" \
-H "Content-Type: application/json" \
-d '{"site":"halversoncycle.example","steps":["/bikes/*","/cart","/checkout","Purchase"],"period":"30d"}'When it refuses
A refused call costs nothing and says what to do next.
| Code | When | What to do |
|---|---|---|
not_found404 | No site the business counts has that domain or site_id. | Call analytics_list_sites and use a domain from it. |
invalid_input400 | The funnel has fewer than 2 or more than 8 steps, a step is not a page or an event, or the period or a filter is not valid. | Send 2 to 8 steps, each a page like /cart or an event name like Purchase, and fix what the message names. |
rate_limited429 | The business ran more analytics reports this minute than its limit allows. | Wait a minute, then call again. |
More Website analytics tools
All 18 tools- Count a website's visits
analytics_add_siteStarts counting visits to a website, without cookies, and returns the snippet for its pages.$3.00 a call - Get install steps
analytics_installStep-by-step instructions to put the counting script on a site: any html, Shopify, WordPress, Webflow or Google Tag Manager.Free* - Read a site's stats
analytics_statsA site's visitors, pages, sources, countries, devices, events, goals and speed for a period, against the period before.Free* - Break an event or goal down
analytics_breakdownOne event or goal by a prop or by where its visits came from, with conversions, conversion rate and revenue.Free* - Who is on a site now
analytics_realtimeVisitors in the last 5 minutes, and the pages people looked at in the last 30.Free* - Set a site's goals
analytics_set_goalsSets the conversions a site counts: pages reached or events, replacing its goals; with notify, the agent hears of each one as it happens.Free - Define events without touching the site
analytics_define_eventsDefines events from what the script already sees (clicks, pages, scrolling, time on a page, props), with nobody editing the site.Free - Track events from outside the site
analytics_trackRecords events that happen away from the site, like orders, deals won or renewals, tied to the visit that led to them when it can be found.Free
Give this to your agent.
Set up Conecto from https://conecto.chat/SKILL.md