# Sites

> Add a site, switch between sites, change its tracking mode, replay and excluded-path settings, and understand what deleting one removes.

Section: Configure. Canonical page: https://mrkr.app/docs/configure/sites. Last updated: 2026-09-02.

A site is one tracked domain. Everything in mrkr (rollups, sessions, replays, goals) is scoped to a site, and a site belongs to exactly one workspace.

## Adding a site

From the workspace switcher or `/sites/new`, enter the bare domain: no `https://`, no trailing slash, no `www.` prefix (it's stripped automatically). mrkr validates the format client-side and again on the server before creating the site.

> **Site limits are enforced at creation:** Every plan has a hard site limit: Starter 3, Pro 10, Business unlimited. Adding a site past your plan's limit is refused outright with an error naming your current count and limit. See [Plans](https://mrkr.app/docs/billing/plans) for the table.

You can optionally set a display name at creation. If you skip it, the dashboard falls back to showing the domain everywhere a name would appear.

## The active-site switcher

The dashboard always shows one site at a time. Switching sites calls an endpoint that verifies you actually own the target site, then stores your choice in an HttpOnly cookie for 30 days. That cookie is re-verified against your sites on every page load: a stale or tampered cookie can never grant access to a site you don't own.

Switching sites also switches your active workspace if the new site lives in a different one, so the sidebar, team roster, and billing panel all follow what you're currently viewing.

## Site settings

Everything below lives under **Settings** for the active site. Owners and admins can edit; members see site details and the team roster.

- `Tracking mode`: Cookieless (default) or cookie-based. Switching to cookie mode also adds `data-cookies="on"` to your install snippet and you have to re-paste it, because the cookie is written in the browser before any request reaches mrkr. Every other tracking setting takes effect on the next pageview with no snippet edit. See [Cookieless and cookie mode](https://mrkr.app/docs/configure/cookieless-and-cookie-mode).
- `Session replay`: Off by default. Toggling it on starts recording new page loads immediately; tabs already open won't pick it up until they reload. A sample-rate slider (0–100%) controls what fraction of page loads are recorded. See [Session replay](https://mrkr.app/docs/tracking/session-replay).
- `Excluded paths`: Glob patterns that drop every event carrying a matching path at ingest, before they touch rollups, sessions, or replay. See [Excluding traffic](https://mrkr.app/docs/configure/excluding-traffic).
- `Timezone`: A per-account preference (not per-site) applied to every date and time display across the dashboard: chart tooltips, the day-and-hour activity grid, and so on. Set it from **Account → Preferences**.

## Deleting a site

From **Settings → Site → Delete site**, type the site's exact domain to confirm, then delete. This permanently removes everything scoped to the site:

- All rollups (every metric, every day)
- Sessions and the per-event mirror table
- Replay session index rows (the R2 recordings themselves are swept by the nightly cleanup job, not deleted instantly)
- Goals, funnels, and funnel steps
- Annotations
- Per-site Stripe revenue-tracking configuration

> **No undo:** Site deletion is immediate and irreversible. There is no recovery path, no soft-delete window, and no export offered at delete time: export anything you need first (see [Data and exports](https://mrkr.app/docs/configure/data-and-exports)).

The demo site can never be deleted, and site deletion is unavailable entirely when the deployment has no auth configured (demo mode).
