# Real User Monitoring groups visits by channel and lists the 404s your visitors hit

> RUM classifies every page view into a channel (Organic Search, Organic Social, AI Assistants, Email, Paid, Referral, Direct), credits page views to the source of their visit, lists the missing pages real people visit, samples whole visits and drops referrer spam.

[Real User Monitoring](https://developers.openwaf.dev/analytics/real-user-monitoring/) now answers «which kind of traffic brings my visitors?» and «which missing pages do they hit?».

- **Channels.** Every page view gets a [channel](https://developers.openwaf.dev/analytics/real-user-monitoring/#channels) from its source, its campaign medium and its ad click id, by our own rules in a fixed order: **Paid**, **Email**, **AI Assistants**, **Organic Search**, **Organic Social**, **Direct**, **Referral**, plus **Internal** and **(not recorded)**. **Analytics › Real performance** has a **Channels** breakdown (select a row to filter the page by it); the API, `ctl rum report` and `rum_report` take `by=channel` and the filter `channel`.
- **Per visit.** `by=visit_source` and `by=visit_channel` credit every page view to the first external source of its [visit](https://developers.openwaf.dev/analytics/real-user-monitoring/#visit-attribution) (the same daily visitor), so the pages read after landing count for Google, a newsletter or an AI assistant instead of Internal.
- **404s seen by humans.** HTML 404 pages get the script too. Their page views are left out of every Core Web Vitals figure and listed apart: the dashboard's **404s seen by humans** table, `not_found` in the report, `ctl rum report` and `rum_report`, with page views, visitors, top source and its channel for each [missing path](https://developers.openwaf.dev/analytics/real-user-monitoring/#not-found).
- **Whole visits sampled.** With a sample rate below 1, the edge now picks visitors (by the daily visitor id) instead of single page views, so a sampled visit is measured on every page.
- **Referrer spam dropped.** Measurements from referrers on Matomo's public referrer spam list are dropped at the edge and never stored.
- **Privacy.** Of an ad click id (`gclid`, `fbclid`, `msclkid`…) only the parameter's name is sent and stored, never its value. See [RUM privacy](https://developers.openwaf.dev/analytics/rum-privacy/).

Channels, click ids and 404s start with the measurements received after the edge update; earlier page views fall into Direct, Referral or the channel their `utm_medium` names.
