# Real User Monitoring shows where your visitors come from

> RUM records the traffic source of every page view (the referring domain and the link's campaign tags, never the referring page), with a Sources breakdown in the dashboard and by=source in the API, ctl and rum_report.

[Real User Monitoring](https://developers.openwaf.dev/analytics/real-user-monitoring/) now answers «where do my visitors come from?» next to «how fast is the site for them?».

- **Traffic sources.** Every page view gets a [source](https://developers.openwaf.dev/analytics/real-user-monitoring/#sources): a known site or app by name (Google, ChatGPT, X, Reddit, Hacker News, Gmail…), an unknown referrer by its domain, a campaign by its `utm_source`, **Direct / None** without referrer or campaign, and **Internal** for navigation within your own site (shown apart: it is not a way in). Page views measured before the change show as **(not recorded)**.
- **Breakdowns and filters.** **Analytics › Real performance** has a **Traffic sources** breakdown, with page views, visitors and Core Web Vitals per source, and a source filter. The API, `ctl rum report` and `rum_report` take `by=source`, `source_domain`, `utm_source`, `utm_medium` and `utm_campaign`, and the filters `source` and `source_domain`.
- **Privacy.** Only the referrer's host is sent and stored, never its path, query or full address, and only the campaign tags `utm_source`, `utm_medium` and `utm_campaign` of the landing address; a `?ref=` counts only when it names a site (`hn`, `news.example.com`), since it is often an affiliate or user id. See [RUM privacy](https://developers.openwaf.dev/analytics/rum-privacy/#sources). Sources come from the browser and can be forged, as with any web analytics.

Sources start with the measurements received after the edge update.
