---
name: "analytics_problems"
area: "analytics"
title: "Find what is broken for visitors"
price: "free"
method: "POST"
url: "https://api.conecto.chat/v1/tools/analytics_problems"
mcp_server: "https://api.conecto.chat/mcp/analytics"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/analytics/analytics_problems"
---

# Find what is broken for visitors (`analytics_problems`)

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

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.

Price: Free up to 1,000,000 reads a month for the whole account, then $0.50 per 10,000 reads. A call that fails costs nothing.

## Use it when

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

- For how fast the pages load for visitors, use [analytics_web_vitals](https://conecto.chat/tools/analytics/analytics_web_vitals.md).

## Say this to your agent

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

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `site` | string | yes | The site's domain (e.g. halversoncycle.example) or its site_id. 4 to 253 characters. |  |  |
| `period` | string | no |  | `"today"`, `"yesterday"`, `"7d"`, `"30d"`, `"90d"`, `"month"`, `"last_month"`, `"12mo"`, `"custom"` | `"7d"` |
| `from` | string | no | With period custom: the first day, 2026-10-01. Up to 10 characters. |  |  |
| `to` | string | no | With period custom: the last day. Up to 10 characters. |  |  |
| `limit` | integer | no | 1 to 50. |  | `10` |

## Example

Written for Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon.

MCP: call `analytics_problems` on the MCP server `https://api.conecto.chat/mcp/analytics` with these arguments:

```json
{
  "site": "halversoncycle.example",
  "period": "7d"
}
```

REST:

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

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "analytics_problems",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.00",
  "balance_usd": "$19.75",
  "result": {
    "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"
      }
    ]
  }
}
```

`result`: 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.

## Errors

| Code | Status | When | Fix |
|---|---|---|---|
| `not_found` | 404 | No site the business counts has that domain or site_id. | Call analytics_list_sites and use a domain from it. |
| `invalid_input` | 400 | The 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_limited` | 429 | The business ran more analytics reports this minute than its limit allows. | Wait a minute, then call again. |

The refusals every tool can give (401 key, 402 balance, 429 limits) are on the errors page: https://conecto.chat/docs/errors.md

## Related

- [analytics_add_site](https://conecto.chat/tools/analytics/analytics_add_site.md): Starts counting visits to a website, without cookies, and returns the snippet for its pages. $3.00 a call.
- [analytics_install](https://conecto.chat/tools/analytics/analytics_install.md): Step-by-step instructions to put the counting script on a site: any html, Shopify, WordPress, Webflow or Google Tag Manager. Free up to 1,000,000 reads a month.
- [analytics_stats](https://conecto.chat/tools/analytics/analytics_stats.md): A site's visitors, pages, sources, countries, devices, events, goals and speed for a period, against the period before. Free up to 1,000,000 reads a month.
- [analytics_breakdown](https://conecto.chat/tools/analytics/analytics_breakdown.md): One event or goal by a prop or by where its visits came from, with conversions, conversion rate and revenue. Free up to 1,000,000 reads a month.
- [analytics_realtime](https://conecto.chat/tools/analytics/analytics_realtime.md): Visitors in the last 5 minutes, and the pages people looked at in the last 30. Free up to 1,000,000 reads a month.
- [analytics_set_goals](https://conecto.chat/tools/analytics/analytics_set_goals.md): Sets the conversions a site counts: pages reached or events, replacing its goals; with notify, the agent hears of each one as it happens. Free.
- [analytics_define_events](https://conecto.chat/tools/analytics/analytics_define_events.md): Defines events from what the script already sees (clicks, pages, scrolling, time on a page, props), with nobody editing the site. Free.
- [analytics_track](https://conecto.chat/tools/analytics/analytics_track.md): Records 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.
- [analytics_funnel](https://conecto.chat/tools/analytics/analytics_funnel.md): How many visitors did each step of a path in order, and how many dropped out at each one. Free up to 1,000,000 reads a month.
- [analytics_paths](https://conecto.chat/tools/analytics/analytics_paths.md): Where visits went after a page and where they came from, or the commonest journeys through the site. Free up to 1,000,000 reads a month.
- [analytics_heatmap](https://conecto.chat/tools/analytics/analytics_heatmap.md): A page's heatmap: the most clicked elements, rage and dead clicks, scroll depth and time on page, with a link that draws it. Free up to 1,000,000 reads a month.
- [analytics_web_vitals](https://conecto.chat/tools/analytics/analytics_web_vitals.md): How fast the site's pages are for real visitors: Core Web Vitals at the 75th percentile, rated the way Google rates them. Free up to 1,000,000 reads a month.
- [analytics_view_link](https://conecto.chat/tools/analytics/analytics_view_link.md): A one-time link to a page that shows a site's stats to a person. Free.
- [analytics_update_site](https://conecto.chat/tools/analytics/analytics_update_site.md): Changes a site's name, time zone, traffic alert, weekly summary, JavaScript errors and whether where leads came from is kept with them. Free.
- [analytics_list_sites](https://conecto.chat/tools/analytics/analytics_list_sites.md): Every site this account counts, with this month's events and its snippet. Free up to 1,000,000 reads a month.
- [analytics_add_events](https://conecto.chat/tools/analytics/analytics_add_events.md): Raises a site's monthly event allowance by blocks of a million events. $5.00 per block of a million events a month.
- [analytics_remove_site](https://conecto.chat/tools/analytics/analytics_remove_site.md): Stops counting a site, ends its rent and deletes its stats for good. Free.
