Website analytics

Find what is broken for visitors

analytics_problems · Reads only · Markdown

Pages that answered an error to visitors, JavaScript errors, and where people rage-click or click with nothing happening.

Free*

*Free up to 1,000,000 reads a month for the whole account, then $0.50 per 10,000 reads.

An example

Is anything broken on the website? Dead links, errors, buttons people keep clicking?

Your agent callsanalytics_problemsFree*

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.

With these arguments
{
  "site": "halversoncycle.example",
  "period": "7d"
}
What comes back
{
  "site": "halversoncycle.example",
  "period": {
    "from": "2026-10-08",
    "to": "2026-10-14"
  },
  "broken_pages": [
    {
      "page": "/bikes/tabor-2019",
      "status": 404,
      "views": 1,
      "visitors": 1,
      "linked_from": [
        {
          "from": "/cart",
          "views": 1
        }
      ]
    }
  ],
  "javascript_errors": [
    {
      "message": "TypeError: Cannot read properties of null (reading 'price')",
      "source": "/assets/cart.js",
      "line": 88,
      "count": 1,
      "visitors": 1,
      "pages": [
        "/cart"
      ]
    }
  ],
  "frustrated_clicks": [
    {
      "page": "/cart",
      "rage_clicks": 1,
      "dead_clicks": 1,
      "element": "#checkout",
      "text": "Go to checkout"
    }
  ]
}

Use it when

To find what is broken on the website before customers complain, or after a redesign.

What it does

Pages that answered 404 or another error to real visitors, with the page that links there; JavaScript errors (when the site keeps them: analytics_update_site track_errors); and the elements people rage-click or click with nothing happening, by page.

What comes back

broken_pages with their status, views, visitors and the pages that link there; javascript_errors with message, source, line, count and pages; frustrated_clicks by page with the element clicked most. Every reply also carries cost_usd and balance_usd.

Inputs

NameTypeWhat it is
siteRequiredstringThe site's domain (e.g. halversoncycle.example) or its site_id. 4 to 253 characters.
periodstringOne of: today,yesterday,7d,30d,90d,month,last_month,12mo,custom. Default: 7d.
fromstringWith period custom: the first day, 2026-10-01. Up to 10 characters.
tostringWith period custom: the last day. Up to 10 characters.
limitinteger1 to 50. Default: 10.

The call

Over MCP, call analytics_problems on https://api.conecto.chat/mcp/analytics. Over REST:

Terminal
curl -X POST https://api.conecto.chat/v1/tools/analytics_problems \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"site":"halversoncycle.example","period":"7d"}'

When it refuses

A refused call costs nothing and says what to do next.

CodeWhenWhat to do
not_found404No site the business counts has that domain or site_id.Call analytics_list_sites and use a domain from it.
invalid_input400The period, the from and to dates, a page pattern or a filter is not valid.Fix the argument the message names. A custom period needs from and to as dates, like 2026-10-01.
rate_limited429The business ran more analytics reports this minute than its limit allows.Wait a minute, then call again.

Give this to your agent.

Set up Conecto from https://conecto.chat/SKILL.md