Ad Verification with Proxies
Checking that campaigns render in the intended geo, device and placement, detecting fraud signals, and capturing evidence that holds up in a dispute.
- ad-verification
Ad verification answers a blunt question: what did a user in this place, on this device, actually see? Everything else, including fraud detection, follows from being able to answer that reliably.
The four checks
Geo. Did the ad serve in the intended market, and did the landing page match the market: language, currency, availability and shipping.
Device and placement. Did it render on the intended device type and in the intended placement, and does the placement comply with the campaign's parameters.
Competitive separation. Did your ad appear alongside the placements you excluded, or on inventory you did not buy.
Landing integrity. Does the landing page load, in the intended language and currency, with the offer intact. A creative that serves with a dead or redirected landing page converts nothing.
What proxies actually do here
The verification request must come from the environment being verified. That is the whole function: a check run from your own network or a datacenter tells you what your office sees, which is not what a user in the target market sees.
Residential addresses match the user's network type and receive the consumer version of the page. For most verification this is the correct choice.
Mobile addresses matter where the campaign targets mobile inventory, because carriers and mobile networks receive a different mix. The case is covered in Mobile Proxies for Ad Verification.
Datacenter addresses are the wrong tool. Many ad systems and landing pages serve differently to hosting ranges, and some block them, so the result is not the user's experience. The general reasoning is in Why Residential IPs Are Trusted.
Verification that holds up
A verification result is only useful if it can be relied on later, which means capturing enough context to reconstruct the observation.
Per check, record:
- Timestamp, in UTC, with the local time of the market.
- Target market and the exit address that produced the observation.
- Device profile: user agent, viewport, and whether mobile emulation or a real mobile stack was used.
- Rendered screenshot of the placement in context, not a cropped creative.
- Landing page capture at the same moment, including the URL after redirects.
- Ad identifier where the platform exposes one.
The screenshot and the landing capture at the same timestamp are the two that carry the most weight in a dispute, because they establish what was shown and where it led.
Fraud signals worth detecting
Verification doubles as detection, because the same checks reveal anomalies.
Geo mismatch. A placement claiming to be a market while delivering from unrelated infrastructure.
Phantom inventory. Impressions reported on placements that do not render to a real user in that geography.
Redirect chains. A landing page that redirects to a different offer, market or content than the campaign specifies. Capture the full chain, not the final URL.
Creative substitution. Different creative served than the one submitted, which is common on low-quality inventory.
Device mismatch. Desktop inventory delivered where mobile was bought, or the reverse.
Frequency anomalies. The same creative to the same environment far more often than the campaign's caps allow.
For each, the evidence requirement is the same: a timestamped capture from a geo-correct environment, with the full redirect chain and the placement context.
Cadence
Verification is sampling, and the sampling strategy determines what it catches.
| What you are checking | Cadence | Coverage |
|---|---|---|
| Geo delivery | Daily | Each bought market |
| Placement compliance | Daily | Each placement type |
| Landing integrity | Daily, more often during a launch | Each campaign |
| Device rendering | Weekly | Mobile and desktop |
| Competitive separation | Weekly | Priority placements |
| Frequency and caps | Weekly | Aggregate analysis |
Priority campaigns warrant daily checks in every bought market, because a geo error that runs for a week consumes the campaign budget in the wrong place. Long-running campaigns on stable inventory can be checked weekly.
Infrastructure for a verification programme
Two structural requirements, and both are about keeping the checks isolated.
Separate the verification pool from account infrastructure. Verification is read-only and rotates freely. It must not share addresses with anything that logs in, or the research traffic becomes associated with a monetised account. This is the mistake described in A Proxy Strategy for E-Commerce Teams.
One address per market per run. Rotating within a market changes the vantage point mid-comparison, and the resulting differences are not attributable to the market. Hold an address for the duration of a market's sweep, then move on.
Practical starting point
- List the markets and placements you actually bought.
- For each market, obtain an address in the target geography.
- Fix the device profile and the language, so geography is the variable.
- Capture the placement, the full redirect chain and the landing page, with timestamps.
- Flag anomalies by rule, not by eye: geo mismatch, redirect count above one, missing element, language mismatch.
- Keep the captures, because the value is retrospective.
For the solution context, see Ad Verification, and for the products, Residential and Mobile.