# How askbowtie Works

> Plaintext version for LLMs. Canonical HTML: https://askbowtie.com/learn/tracker/how-it-works/

## The short version

You add one script tag to your site. It watches for errors, slowdowns, and conversion problems. When something goes wrong, you get a clear alert with business context — not a wall of stack traces.

That's it. No SDK, no build step, no configuration.

---

## What the script does

The tracker is a single JavaScript file — a 9.8 KB loader. It loads asynchronously, meaning it never blocks your page from rendering or slows anything down.

Once loaded, it quietly listens for:

| What it detects | How |
| --- | --- |
| **JavaScript errors** | Listens to `window.onerror` and `unhandledrejection` — the same way your browser console works |
| **Network failures** | Monitors `fetch` and `XMLHttpRequest` for failed API calls and broken resources |
| **Slow pages** | Reads the browser's built-in Performance API (the same data Chrome DevTools shows) |
| **Page visits** | Records which pages a visitor views and in what order — using the URL path only |
| **Conversions** | Detects form submissions, outbound link clicks, or visits to pages you mark as conversion pages |

The script sends this data to your askbowtie dashboard over HTTPS. It runs entirely in the browser — there's no server-side component, no proxy, and no middleware.

---

## What data it collects

**Collected:**

- Page URLs (path only — query parameters with potential personal data are stripped automatically)
- Referrer domain (e.g. "google.com", not the full search query)
- Browser name, OS, and device type (e.g. "Chrome, macOS, desktop")
- A random session ID — generated fresh, not linked to any identity
- Error messages, stack traces, and failed network URLs
- Performance metrics (page load time, Core Web Vitals)
- Conversion events (form submissions, specific page visits, outbound clicks)

**Never collected:**

- IP addresses (not stored, not logged)
- Cookies (the script sets none on your visitors' browsers)
- Form field values (what your visitors type is never captured)
- Names, emails, or any personally identifiable information
- Cross-site tracking or fingerprinting data

The script also automatically scrubs anything that looks like personal data from URLs — email addresses, tokens, and session IDs in query strings are stripped before data leaves the browser.

---

## How it affects your site's performance

It doesn't, measurably. Here's why:

- **9.8 KB loader** — smaller than most images on your page
- **Loads with `async`** — your page renders first, the script loads after
- **No DOM manipulation** — it listens to browser events, it doesn't change your page
- **No external dependencies** — no jQuery, no frameworks, no additional network requests beyond sending data to askbowtie
- **Beacon-based** — data is sent via `navigator.sendBeacon`, which runs in the background without blocking page unload or navigation

If you run a Lighthouse audit before and after installing the tracker, you won't see a difference in your performance score.

---

## What happens with your data

Your data goes to your askbowtie dashboard — nowhere else.

- Each domain's data is stored in its own isolated database. Other customers cannot see your data.
- Data is transmitted over HTTPS (TLS 1.2+).
- We don't sell data, share it with third parties, or use it for advertising.
- You can delete your data at any time by removing your domain from the dashboard.

---

## Bowtie: signal, not noise

Most monitoring tools show you everything that happens. askbowtie shows you what matters.

Bowtie is the intelligence layer that sits between your raw data and what you see. It evaluates every issue against five questions:

1. **Volume** — Is there enough data to be meaningful, or is this a one-off?
2. **Abnormality** — Is this unusual for your site, or just your baseline?
3. **Direction** — Is it getting worse, or already resolving?
4. **Page importance** — Does this affect pages where people convert?
5. **Confidence** — Is the signal statistically reliable?

Issues that pass these gates reach your dashboard and inbox. Everything else is filtered out. The result: you check your dashboard, see green, and move on with your day. When something actually needs your attention, you'll know — with context on what broke, who it affects, and whether it's hurting conversions.

---

## What you'll see in the dashboard

After installing the tracker, your dashboard shows:

- **A health pulse** — green when things are normal, with clear indicators when something needs attention
- **A daily briefing** — what happened in the last 24 hours, compared to your site's baseline
- **Incidents ranked by impact** — not by error count, but by how many conversion sessions they affected
- **Conversion tracking** — form submissions, checkout completions, or whatever you define as a conversion, tracked automatically
- **Uptime monitoring** — independent of the tracker, your site is checked regularly and you're alerted if it goes down

---

## Privacy and compliance

The tracker is designed to work without cookie consent banners:

- **[No cookies](/learn/tracker/cookieless-tracking/)** — we don't set any cookies on your visitors' browsers
- **No PII** — we don't collect personal data
- **No cross-site tracking** — sessions are scoped to your domain only
- **GDPR-friendly** — no consent mechanism needed for anonymous error and performance monitoring

If your site uses a Content Security Policy, you'll need to allow `script-src` and `connect-src` for `https://askbowtie.com`. See [CSP Integration](/learn/tracker/security-and-csp/) for details.

For a full technical breakdown of endpoints, authentication, and data handling, see [Security & Data Privacy](/learn/tracker/security-and-csp/).

---

## Installing and removing

**Install:** Add one line to your site's `` tag:

```
<script src="https://askbowtie.com/bowtie.js" async></script>
```

Works with any platform — WordPress, Shopify, custom HTML, React, or anything else that runs JavaScript. Full platform-specific instructions are in the [installation guide](/docs/install/).

**Remove:** Delete the script tag. Data stops flowing immediately. No cleanup needed, no residual cookies, no lingering scripts.

---

## Pricing

The free plan is free forever — one domain, all features, no credit card, no time limit. Paid plans add more domains, higher event limits, and longer data retention. See [Plans](/docs/) for details.

---

## Questions?

If something isn't clear or you have a specific concern about data handling, reach out to [support@askbowtie.com](mailto:support@askbowtie.com).
