Skip to content
DocsSearch the docsEnglishBack to siteOpen console

Paid clicks and the evidence behind each one

The Clicks tab lists every paid click in the range, each with the verdict it got the moment it landed and the reasons behind it. From here you read the evidence behind any verdict — then block the address when the verdict is right, or allowlist the address or device when it is wrong.

What counts as a paid click#

On Fraud Protection (/integrity), the Clicks tab is the ledger AdPix keeps for your paid traffic: one row per paid landing. A paid landing is a page view that meets at least one of these conditions:

  • its URL carries an ad click ID with a value — gclid, gbraid, wbraid, msclkid, ttclid and the like;
  • its utm_source or its referrer is a paid ad network on the AdPix network list. Yektanet and Tapsell publish no click ID and are recognised this way;
  • its utm_medium is explicitly paid: cpc, ppc, display, cpm, banner, cpa, native_ad, or anything starting with paid.
fbclid alone is not a paid click

Meta appends fbclid to every outbound link, including links in organic posts. A visit carrying only fbclid does not enter this ledger unless its utm_medium declares it paid. If your Meta campaigns are missing here, the problem is how the links are tagged, not the detection.

Two things are not a new click: reloading the same landing page in the same session, and reopening the same ad link on the same device and the same network — a tab the browser restored, for example. Only page views sent by the browser tag enter the ledger; server-to-server events are never paid clicks.

When the selected range has paid clicks, the numbers on the Overview tab are counted in paid clicks too, and the Unit: paid clicks badge says so; otherwise the unit is the session. The details are in Overview and severity tiers.

The Paid clicks table#

The table follows the range selected at the top of the page, newest clicks first. AdPix loads at most the 500 newest clicks that match the filters and shows 25 per page. If you are after an older click, shorten the range or add a filter.

Column What it shows
Time the moment of landing. Select it to open the Click evidence drawer
Verdict one of the five tiers described in the next section
Reasons up to two reason labels; if there are more, the count of the rest follows a + sign. A red label is a fraud reason, a green one a shield
IP address the visitor's address; after 90 days, only the network prefix
Ad network the network AdPix recognised, otherwise the campaign source
Campaign the campaign name from the UTM parameters
Device device type and country
Click ID the ID type and its first few characters

Above the table are two filters, Verdict and Reason. The Reason list holds every reason and shield except those produced by approved detection rules.

The real-time verdict#

AdPix judges every paid click the moment it lands, in a fraction of a second. The judgement never holds up the page and never stops the visit; the page view is recorded as usual.

Counters are kept per IPv4 address, and per /64 range for IPv6, because IPv6 privacy addresses keep changing inside that range. Thresholds are allowances: a reason is raised only when the count, including this click, exceeds the threshold. The numbers below are the General preset's; picking another preset in Protection settings changes them.

Reason When it is raised
Repeat clicks (10 min) more than 3 paid clicks from one address in 10 minutes
Repeat clicks (7 days) more than 7 paid clicks from one address in 7 days
Repeat clicks (30 days) more than 10 paid clicks from one address in 30 days
IP rotation one device arriving from more than 8 networks in 7 days — never raised for mobiles, tablets or carrier addresses
Click burst more than 8 paid arrivals from one network (/24) within an hour — never raised for carrier addresses
Replayed click ID the same ad click ID arrived again, in another session and from another device or network
Datacenter IP the address belongs to a datacenter or hosting provider
VPN / proxy / Tor the address is a Tor exit, a VPN or an open proxy
Known fraud network the address's ASN is on the platform's known-fraud network list

The number and kind of reasons decide the tier:

Tier When
Confirmed a replayed click ID; or a datacenter IP plus at least one other reason; or three reasons or more. An automated browser, which arrives a little later, moves the click here too
Potential two reasons; or a datacenter IP on its own
Review one reason
Clean no reason, or one of the shields in the next section
Not assessed protection is Off, or the counter store was unavailable at that moment

A datacenter address alone is not enough for Confirmed, because real users of services such as iCloud Private Relay or WARP also egress from datacenter ranges. Not assessed deliberately does not guess: if AdPix cannot read its counters, it records the click without a verdict and leaves the visit alone.

In the Overview numbers, "invalid" means Confirmed plus Potential. Review sits in the denominator only, because nobody has decided on it yet.

Shields: what is never flagged#

Shields decide before any counter does, and their green label appears in the Reasons column:

  • Converted (trusted) — an address or device that converted on this website in the last 30 days: a purchase, or one of the website's key events. Its clicks stay Clean, however many there are.
  • Allowlisted — an address, range or device you allowlisted yourself. Always Clean, never blocked.

Mobile-carrier and carrier-NAT addresses are not a full shield, but they get special protection: many real people share one address, so IP rotation and Click burst are never raised from a shared address, and such an address is never blocked. The evidence drawer says the same under the verdict.

After the landing#

The landing verdict is not the last word. Under the verdict in the evidence drawer, one of three labels says where the current verdict came from:

Label Means
Decided in real time the verdict from the moment of landing
Updated from browser signals the browser reported signs of automation a few seconds later
Updated by the nightly analysis the nightly analysis added a reason that needs history

Browser signals#

After the tag's first beacon, a separate module loads lazily — and only when the visitor granted consent for the Marketing category. It sends two things.

Automation probes. The evidence drawer lists them by these technical names:

Probe Means
webdriver the browser itself declares it is driven by an automation tool
headless_ua the user agent names a headless browser or an automation tool
no_plugins desktop Chrome with no plugins at all
no_langs the browser declares no language
screen_mismatch the window size is zero by zero
chrome_missing desktop Chrome without the window.chrome object
native_override a native browser function has been overwritten
swrender WebGL runs on a software renderer
perm_mismatch the notification permission contradicts itself

Either of the first two is enough on its own. The rest are weak — a privacy extension or a virtual machine can trip one — and need at least two together. The result is the Automated browser reason and the Confirmed tier, provided the session's paid click was recorded in the last 30 minutes. A click that earned a shield stays Clean.

Activity in the first 5 seconds. One summary about 5 seconds after load: how many pointer moves, scrolls, touches and key presses. Counts only — no coordinates, no elements, no which-key.

The absence of these signals is never held against a visit: without marketing consent they are never sent. No human activity is raised only for a desktop visit that did send the activity summary, with zero activity in it.

The nightly analysis#

Every night AdPix re-reads the click ledger together with the browser signals. It adds to individual clicks the reasons that need history — Automated browser, No human activity and Duplicate clicks (one network, one user agent and one campaign clicking several times inside a minute) — and recomputes the tier with the same table as above. It never changes a click that earned a shield.

The same pass also scores each campaign slice (source · medium · campaign · ad content · device) with the same precision-first logic: a campaign that converts is not flagged on weak signals, and a slice with fewer than 3 clicks never goes above Review.

These are the signals the nightly analysis reads at campaign level. The first two are strong; the rest are weak and need company:

Reason Raised for a campaign when
Automated browser at least 30% of the clicks that sent browser signals (5 or more) report automation
Replayed click ID at least 20% of its clicks carry a replayed click ID
Repeat clicks (10 min) at least 30% of its clicks carried a repeat-click reason at landing
No human activity at least 80% of its desktop visits that sent the activity summary (5 or more) show zero activity, and the campaign is mostly desktop
Duplicate clicks one network, one user agent and one campaign clicked more than 3 times inside one minute
New-device flood at least 90% of 50 or more clicks come from devices never seen before
Coordinated clicking at least half of its clicks come from devices that clicked 3 to 10 of your campaigns
Abnormal conversion timing at least half of 5 or more conversions happened within 10 seconds of the click
Datacenter IP at least half of its clicks come from datacenter, VPN, proxy or Tor addresses
Robotic timing the first interaction of 20 or more desktop visits lands at almost the same moment after load (spread under 10% of the average) — people vary by seconds, a script's fixed delay does not
Instant bounce at least 98% of 10 or more visits that sent the activity summary left within 2 seconds without touching anything
Outside target countries at least 70% (the Off-target share threshold) of 10 or more clicks with a known country come from outside the target countries you declared in Settings; with no target countries declared, geography is not checked

A strong reason makes the campaign Confirmed from 5 clicks (Potential from 3); two weak reasons make it Potential from 10 clicks; a single weak reason stays at Review.

The Click evidence drawer#

Select the time on any row. The drawer has four sections:

Section What it holds
Verdict the tier, who decided it, the full list of reasons, and — if an active block covers this click — on which value and until when
The click Click ID, Ad network with source and medium, Campaign, Landing page, IP address with its prefix and address class, Network (ASN), Device with browser, OS and country, and User agent
Counters at the time of the click Clicks from this address in 10 min, Clicks from this address in 7 days, Clicks from this address in 30 days, Networks this device used (7 days), Paid arrivals from this network this hour, and beside them Clicks from this network (30 days) with the invalid count and Clicks from this device (30 days)
Browser signals Automation probes and Activity in the first 5 seconds, or a message that no signals arrived for this visit

The counters are the very numbers the real-time verdict was taken on. If Clicks from this address in 10 min shows 4 and the threshold is 3, that is exactly where Repeat clicks (10 min) came from.

Three actions on a click#

The buttons sit at the top of the drawer, and a click shows only the ones that make sense for it:

Button What it does When it is hidden
Block this address creates a manual block with Confirmed severity on this address (the /64 range for IPv6), with the expiry from your settings when an active block already covers it, when the address is a carrier or shared one, or when no address is left to block
Not fraud: allowlist this IP adds the address to the website's allowlist once the raw address is no longer kept
Not fraud: allowlist this device adds the device to the allowlist when the click has no device fingerprint

The new block appears on the Blocks tab with Created by set to Manual; its lifecycle is covered in Blocks and exclusion pushes. All three buttons need the Editor role or higher on the website.

Allowlisting does not erase the past verdict

The verdict already recorded for this click does not change. The allowlist applies to new clicks from about a minute later, and it takes the address or device off the list pushed to your ad platforms. For your office, testers and partners, use the allowlist rather than loosening the thresholds for everyone.

IP retention#

A click's raw address is kept for 90 days. After that the drawer shows IP removed (90-day retention) instead of the address, and the table shows only the network prefix. The click row itself, with its prefix and ASN, stays for 13 months.

That has two practical consequences. First, Not fraud: allowlist this IP no longer appears for clicks older than 90 days. Second, if you intend to build a click-quality case for Google, do it while the addresses still exist; the Click quality report file carries an address only for clicks inside those 90 days. The procedure is in Blocking networks and refund evidence.

Frequently asked questions#

Why aren't clicks from my Facebook and Instagram posts in this list?

Because fbclid alone does not make a click paid. Meta appends it to every outbound link, organic posts included. If you want your paid Meta campaigns here, tag their links with a paid utm_medium such as cpc or paid_social.

Why do some clicks show only a network prefix instead of the full IP address?

Because the raw address is kept for 90 days. After that the evidence drawer shows IP removed (90-day retention) and the table falls back to the network prefix. The prefix and the ASN stay for 13 months.

If I allowlist an IP, does the verdict of its earlier clicks change?

No. The verdict recorded for those clicks stays. The allowlist applies to new clicks from about a minute later, and it takes the address off the list pushed to your ad platforms straight away.

Does Not assessed mean the click is suspicious?

No. It means AdPix issued no verdict for it: either protection is Off, or the counter store was unavailable at that moment. AdPix does not guess in that case, and these clicks are never counted as invalid.

Build with the APIUnderstand where revenue comes from.
Was this page helpful?