# Website Analytics Dashboard

> First-party website analytics for every client site - click heatmaps, scroll and attention maps, campaign tracking, and bot detection you own.

Every site on your platform can run a small, consent-gated, first-party analytics collector, with the results shown in the portal's per-site **Analytics** tab. No third-party tag, no data shipped to someone else's product: the data lands in your own database, where you can actually use it.

Position it for what it is: a **Website Analytics Dashboard** built into the platform. It is not a Google Analytics replacement, and it does not try to be - a client who wants GA4 can still have it (see below).

---

## What Gets Collected

With analytics enabled, the published site records, per visit and page:

- **Clicks** - where on the page visitors clicked, plus which element they clicked
- **Scroll depth** - how far down the page each visitor reached
- **Attention** - real time-in-view per vertical slice of the page: where visitors actually lingered, not just where they scrolled past
- **Dwell** - total engaged time, paused while the tab is hidden
- **Campaign** - the UTM parameters the visitor arrived with

Collection is consent-gated and first-party. Visitor IP handling happens server-side; the browser never sends it.

---

## The Analytics Tab

Open a site in the portal and pick **Analytics** (right under Dashboard):

### Page Engagement

Pick a page and see its maps overlaid on a real full-page screenshot of that page, with a Desktop / Mobile switch:

| Map | What It Shows |
|-----|---------------|
| **Clicks** | A density heatmap of every click |
| **Scroll** | A fade showing how many visitors reached each depth, with an average-fold line |
| **Attention** | A fade showing real time-in-view - where people actually stopped and read |

Beside the maps: per-page sessions, average scroll, average time, the scroll-depth distribution, a **most-clicked elements** table, and **Top campaigns**.

### Bot Watch

A full-width table ranking visiting IPs by a bot score: repeat hits with little or no scrolling, zero clicks, and short dwell get flagged as likely scrapers. Use it to discount junk traffic when reading the engagement numbers.

---

## Turning It On

Two independent toggles live in the site's **Settings**, under Analytics:

1. **First-party analytics** - the collector and the Analytics tab data
2. **UTM tracking** - campaign persistence and form decoration (see [Forms](/docs/help/forms))

Both are off by default. After enabling either one, **redeploy the site** - the collector ships inside the published static output, so a settings change alone does not start collection. See [Deploying](/docs/help/deploying).

### Page Screenshots

The click/scroll/attention maps draw on a full-page screenshot of each page. Screenshots are captured on demand (not automatically on every deploy), so after a major redesign, recapture them so the maps line up with the new layout.

---

## Campaigns and Attribution

With UTM tracking on, the campaign a visitor arrived with persists across their visit and is stamped onto their analytics session. The **Top campaigns** table then shows which sources drive engaged traffic per page. The same campaign values are handed to embedded CRM forms, so the lead that reaches your CRM carries the campaign that produced it - the two views join up.

---

## A/B Tests

The per-site sidebar includes an **A/B Tests** tab. Treat it as experimental: it is off by default behind an instance-level feature flag, and while an enabled experiment does split traffic between page variants and record impressions, there is no conversion-goal tracking yet, so it measures the split rather than picking a winner. Leave it off unless you have a specific reason.

---

## Using Google Analytics Alongside It

If a client insists on GA4 (or any other third-party tag), add it under the site's **Tracking** tab as a tracking script; the platform even defers the heavy tag loaders so they do not hurt page speed. The first-party dashboard and a third-party tag coexist fine - one is yours, the other is theirs.

---

## Summary

| Piece | Where |
|-------|-------|
| Enable | Site **Settings**, Analytics toggles, then redeploy the site |
| View | The site's **Analytics** tab |
| Maps | Clicks, Scroll, Attention over a page screenshot, Desktop/Mobile |
| Campaigns | Top campaigns per page, joined to form attribution |
| Bots | Bot Watch table, scored per IP |
| Third-party tags | The site's **Tracking** tab |

---
Source: https://seedlysites.com/docs/help/analytics
