# Website

> Page loads, Core Web Vitals, JavaScript errors and where visitors come from, sent by your visitors' browsers.

Telopi can show how your website behaves for the people who visit it: how
fast pages load, the Core Web Vitals, JavaScript errors, and where visitors
come from, including from AI assistants. A short snippet on your pages sends
it from each visitor's browser to your Grafana. There is nothing to install
or run.

## Turn it on

The portal's **Website** page lists the sites that may send. Owners and
admins **Add a site**: the address your visitors open, without a path, such
as `https://www.example.com`. `https://www.example.com` and
`https://example.com` are two sites; add both if both are used. You can add
up to ten.

Adding the first site turns website telemetry on. Within a few minutes your
Grafana gets its **Website** dashboard, and the page shows your snippet.
Members and viewers see the list and the snippet. If Telopi set up website
telemetry for you, Telopi keeps your list of sites: ask your contact at
Telopi to change it.

## Add the snippet

Copy the snippet from the **Website** page and paste it before `</head>` on
every page of the site. With several sites, choose the site first: its name
is how the dashboard tells them apart.

The snippet holds no password, on purpose: anything in a web page can be read
by every visitor. What it sends to is your own address, which takes data only
from the sites on your list.

If your site has a Content-Security-Policy, it must allow three things:

- In `script-src`, `https://unpkg.com`, where the snippet loads Grafana's
  Faro SDK from.
- In `script-src`, the snippet's second, inline `<script>`: by its SHA-256
  hash, or by your policy's nonce. Its hash changes with the site you chose,
  so take it from the snippet you paste.
- In `connect-src`, `https://ingest.telopi.com`, the host of the address the
  snippet sends to.

## What you see

**Open the Website dashboard** from the **Website** page, or find it in your
Grafana. The button shows once signing in to your Grafana is turned on for
you; until then the page offers to ask Telopi to turn it on. It shows page loads and visits, the Core Web Vitals, the slowest and
the most visited pages, where visitors come from, browsers and devices, and
JavaScript errors. Visits are counted per browser tab, so they run higher than
the number of people.

Visitors who block scripts, or whose ad blocker stops the SDK loading, are
not counted, and neither are search and AI crawlers, which do not run a
page's JavaScript.

## Your visitors' data

The snippet sets no cookie. It keeps a random session id in the tab's
`sessionStorage`, which goes when the tab closes. It sends that id, the pages
visited, the browser and device, the timings, errors, and the host name of
the site a visitor came from, never the full address. Your Grafana keeps it as long as the portal's
**Data policy** page says it keeps logs and traces, and it counts toward your
usage. You decide what your website collects, so say so in your own privacy
policy.

## Turn it off

Remove every site from the list. Pages stop being accepted within a few
minutes, and the dashboard goes. What was already stored stays until your
retention ends.
