The Problem
Your DSP is probably
counting bots as customers
Standard IP attribution doesn't filter for non-human traffic. When we audited the conversion data behind a typical programmatic campaign, we found hundreds of IP addresses generating thousands of fake conversions — with no real people behind them.
in a single audit
found and blocked
the worst offenders
this was happening
| IP address | conversions credited | real users | conv per user | what it actually is |
|---|---|---|---|---|
| 198.190.245.71 | 7,817 | 2 | 3,908× | Bot IP |
| 47.219.40.235 | 8,829 | 4 | 2,207× | Bot IP |
| 12.169.16.82 | 10,715 | 20 | 536× | Bot IP |
| 3.223.83.178 | 6,796 | 0 | ∞ | AWS server — not a person |
| 172.225.18.100 | 11,254 | 212 | 53× | Shared egress — CDN proxy |
| 172.225.18.103 | 11,445 | 228 | 50× | Shared egress — CDN proxy |
| 209.184.113.143 | 8,628 | 114 | 76× | Shared egress — CDN proxy |
| 44.198.248.168 | 6,965 | 2,696 | 696× per day | AWS burst IP |
Bot IPs
Automated scripts firing your conversion pixel with near-zero real users. One server, thousands of fake conversions, zero humans.
Cloud infrastructure
AWS, GCP, and Azure server IPs — not people. Your ad spend is going to data centers that will never become customers.
Shared egress
CDN and proxy servers where hundreds of users share one IP. Attribution is statistically impossible — every credit is a guess.
The Solution
A cleaner number you
can actually trust
We built a custom attribution pipeline that strips out non-human traffic, filters known infrastructure IPs, and applies strict quality rules before crediting any conversion. Our numbers are often lower than a DSP reports. That’s the point.
Two steps, in priority order
Cookie match — deterministic
We match the unique identifier set when a user was served your ad to the identifier at conversion. A direct, person-level connection — not an estimate.
IP match — probabilistic backfill
For users without a cookie (Safari, Firefox, private browsing), we use the household IP — but only after passing every quality filter below.
Not all IPs are created equal
Every IP must pass all of the following before receiving attribution credit:
- WiFi / broadband only — no cellular carriers
- No shared CGNAT ranges
- No Apple Private Relay
- No internal, subnet, or loopback addresses
- No CDN / infrastructure egress ranges
- No known cloud provider IPs (AWS, GCP, Azure)
- No confirmed bot IPs
- Max 500 impressions per IP per day
No splitting. No double counting.
Every conversion receives credit for exactly one impression — the most recent ad exposure within a 7-day window. No giving credit to multiple line items for the same action.
lookback
conversion
per user/day
Site visits are deduplicated to once per user per day — multiple page views in a session count as one visit, not five.
| Methodology | Good Impression | Typical DSP |
|---|---|---|
| Cookie-level matching | ✓ Primary method | ✗ IP only |
| Bot IP filtering | ✓ Blocklisted | ✗ Not filtered |
| Cloud / CDN exclusion | ✓ Subnet blocklist | ✗ Not filtered |
| Cellular IP filtering | ✓ Always excluded | ✗ Often included |
| Site visit deduplication | ✓ Once per user/day | ✗ Every page view |
| Methodology transparency | ✓ Fully documented | ✗ Black box |
Our numbers will often be lower than your DSP reports. That’s intentional. A smaller, cleaner number you can trust is worth more than an inflated one you can’t act on.
When our numbers are higher, it’s because our cookie matching catches cross-device conversions that IP-only attribution missed entirely.