71 High is not your best channel. It is the one quietly sending masked, VPN’d, anti-detect, and Tor traffic that inflates your click count and raises your real cost per visitor. This view points straight at it.
Every number here is computed server-side and read-only. The dashboard renders results. It never blocks, challenges, or decides anything. Your own code owns the allow / challenge / review / block decision using the Risk Score and signals you receive over webhooks and the Management API.
Cost per real visitor, not per click. Read each source’s score alongside its volume. Two channels with identical request counts are not equal if one runs Clean and the other runs High. That delta is the difference between paying for real visitors and paying for masked traffic.
Where you find it
Traffic Sources appears in two places, both fed by the same data:- A Traffic Sources card on the Overview tab, summarizing channels and source details for the selected project and date range.
- The per-request rows behind it on the Data tab, where Channel, Referrer Domain, and the five UTM columns are filterable, sortable, and exportable.
The Channels table
The Channels table groups every request into one acquisition channel and scores the channel as a whole. Its columns:| Column | What it shows |
|---|---|
| Channel | The channel name with its icon. |
| Requests / Share | The request count on top, the channel’s percent of total requests below it. |
| Traffic Risk | A risk badge for the channel: <score> <level>, for example 71 High. Sortable. |
| Channel | Notes |
|---|---|
| Google Ads | Paid Google traffic. There is no separate plain “Google” channel. |
| Meta | Facebook and Instagram paid traffic. It is Meta, not “Meta Ads”. |
| TikTok | TikTok paid and organic. |
| LinkedIn paid and organic. | |
| X | The channel is X, not “Twitter”. |
| Organic Search | Unpaid search referrals. It is Organic Search, not bare “Organic”. |
| Referral | Inbound links from other sites. |
| Direct | No referrer (typed URL, bookmark, app, stripped referrer). |
| Other | Anything that does not map to the channels above. |
The Source details table
Where Channels answers “which channel?”, Source details answers “which specific source inside it?”. A toggle at the top of the table switches between two views:- Referrers
- UTM Parameters
Each row is a referring host (for example
news.ycombinator.com or partner-blog.example.com), with its Requests / Share and a risk badge. This is how you find the one inbound link, partner site, or affiliate that is sending masked traffic while the channel-level number still looks fine. The column header reads Referrer. When there is no data for the window, the table shows “No referrer data for the selected period.”42 Medium. UTM Campaign tells you the medium score is one clean campaign averaged with one campaign running 81 High. UTM Content tells you it is a single ad creative in that campaign. Now you know exactly which creative to pause, and you did it by risk, not by guessing.
The risk badge
Both tables render the source’s risk as a single badge: the score and its band label, side by side.| Level | Score range | Badge color | What it means for the source |
|---|---|---|---|
| Clean | 0–9 | green | No meaningful anonymity or abuse signals. Real traffic. |
| Low | 10–29 | yellow | One minor signal on average. Mostly fine, worth a glance. |
| Medium | 30–59 | orange | Overlapping or moderate signals. A meaningful slice is masked. |
| High | 60–100 | red | Strong anonymity or abuse signals. This source skews toward VPN, proxy, anti-detect, or Tor traffic. |
Attribution fields captured per request
Every identification call carries its own attribution, captured at request time and stored on the request record. These are the fields the Channels and Source details tables aggregate, and the same fields are columns on the Data tab:| Field | What it holds |
|---|---|
channel | The resolved acquisition channel (Google Ads, Meta, TikTok, LinkedIn, X, Organic Search, Referral, Direct, or Other). |
referrer_domain | The referring host for the request. |
utm_source | The utm_source query parameter on the landing URL. |
utm_medium | The utm_medium query parameter. |
utm_campaign | The utm_campaign query parameter. |
utm_content | The utm_content query parameter. |
utm_term | The utm_term query parameter. |
Details array naming the signals that fired. So when a source reads High, you can drop into the Data tab, filter to that channel or referrer, and read the exact signals (VPN, Anti-detect Browser, Tor, Datacenter IP, and the rest) that pushed the average up.
How to read it
A short workflow that turns the view into a decision:Scan channels by risk, not volume
Sort the Channels table by Traffic Risk descending. The top rows are where masked traffic concentrates. Note each one’s request share so you know whether it is a large or a small slice of spend.
Drill into the worst channel
A high-risk paid channel is usually not uniformly bad. Open Source details, switch to UTM Parameters, and break the channel down by Campaign, then Content. The risk is almost always concentrated in a few campaigns or creatives, not spread evenly.
Confirm with referrers
For affiliate, partner, and referral traffic, switch Source details to Referrers. One affiliate sending
High traffic while the rest run Clean is the affiliate to question.Verify the signals
Open the Data tab, filter to the suspect source, set the Score range to the High band, and read the per-request signals. This is the evidence: which requests were VPN, anti-detect, datacenter, or Tor.
Worked example
Suppose Organic Search and Google Ads sent roughly the same volume this period:| Channel | Requests / Share | Traffic Risk |
|---|---|---|
| Organic Search | 41,200 / 38% | 8 Clean |
| Google Ads | 39,800 / 36% | 54 Medium |
| Meta | 18,400 / 17% | 71 High |
| X | 6,100 / 6% | 22 Low |
| Other | 3,300 / 3% | 61 High |
Clean. Google Ads runs Medium, so a real slice of those clicks is masked. Meta runs High, meaning a large share is anonymous traffic that will never convert. Open Source details on Meta, break it down by UTM Content, and the High average usually resolves to one or two creatives. Pause those in Meta, and the channel’s effective cost per real visitor drops without touching the creatives that work.
The same data powers the cookbook
Traffic Sources is the dashboard read of two recipes you can wire into your own stack:Affiliate and ad fraud
Score traffic per affiliate and per campaign, find the partner sending masked clicks, and reconcile payouts against real visitors.
Traffic quality
Measure traffic quality per source over time and turn cost per real visitor into a metric you can act on.
channel, referrer_domain, and utm_* fields over webhooks and the Management API. The dashboard view is for a human investigating a source. The cookbook recipes are for your code reconciling spend automatically.
Where to go next
Data tab
The per-request rows behind every badge, with Channel, Referrer Domain, and UTM columns to filter, sort, and export.
Visitor Insights
Estimated unique and new visitors, counted by identity rather than cookie.
Risk Score
How the 0–100 score and its Clean / Low / Medium / High bands work, with the explainable Details array.
Signals
The signal catalog behind a source’s score: VPN, anti-detect, datacenter, Tor, and the rest.