What Is a Verdict?
When a visitor hits your flow URL, the cloaking engine runs a series of checks and assigns a single verdict to that click. The verdict is stored in click_logs.verdict and determines what page the visitor sees. Understanding the distribution of verdicts in your logs is the fastest way to debug a failing campaign.
Verdict Reference Table
| Verdict | Meaning | Page Shown |
|---|---|---|
safe | Passed all filters — genuine human visitor | Offer |
bot | Matched a known bot IP or bot user-agent string | White |
vpn | ASN is a known VPN provider | White |
proxy | ASN is a datacenter or open proxy | White |
geo_block | Country not in allowed_countries list | White |
device_block | Device/OS/browser not in allowed list | White |
browser_block | Browser specifically excluded | White |
lang_block | Accept-Language header not in allowed_languages | White |
tz_block | Resolved timezone not in allowed_timezones | White |
click_limit | This IP has exceeded the per-flow click cap | White |
warmup | Flow is still in warm-up window | White |
Common Patterns and What They Mean
High bot rate from Facebook traffic: Facebook sends link-preview bots before any human sees your ad. Ensure filter_bot_ua is enabled and your bot UA list is up to date in the Filter Lists panel.
High vpn + proxy rate on native traffic: Native ad networks often have low-quality publisher inventory from shared ISPs that overlap with datacenter ASN ranges. Cross-reference the ASN column in your logs against your VPN ASN list in /data/vpn_asn.txt.
Unexpected geo_block on targeted GEOs: Some CDN exit nodes resolve to a different country than the actual user. If you see this for a small percentage of your target GEO traffic, adding those specific IPs to the white_ips field on the flow will override geo blocking for them.