Ad Verification Proxies: See Your Ads Exactly as Each Audience Does
Quick answer
Ad verification needs residential proxies with country, city and OS targeting, because ad servers decide what to show from the viewer's IP and device. Geonode residential proxies give you 2.5M IPs online in 195+ countries, OS targeting to emulate a mobile or desktop audience, sticky sessions up to 24 hours for click-through checks, and pricing from $0.27/GB at volume.
Why ad verification breaks without the right proxies
Ad serving is personalised at the network edge. The creative, the landing page and whether an impression is served at all depend on the IP's country, city, carrier and the inferred device type. A tool that runs from your office or a cloud region sees one slice of the campaign and reports it as the whole.
Datacenter IPs make it worse: exchanges and fraud filters classify hosting ranges as non-human, so they suppress ads, serve house ads or return an empty slot. Your report then shows missing placements that real users saw, and misses the misplacements they were exposed to.
Affiliate and compliance checks add a session problem. A cloaked affiliate shows a compliant page to a reviewer and a different page to a real visitor from the target geo, using redirect chains that depend on a consistent IP. To follow the chain you need to look like the audience and keep one IP from click to landing page.
Which Geonode proxy type fits
Residential proxies are the recommended product for ad verification. The IPs belong to real household connections, so exchanges and ad servers treat the request as a viewer and serve the campaign as targeted. Country, state or city targeting lets you check a geo-fenced campaign from inside the fence, and ASN targeting tests network-targeted campaigns.
Many verification tools default to carrier IPs for app and in-feed ad checks. Geonode does not sell mobile proxies; residential IPs with OS targeting are the substitute. Ad servers choose a mobile creative mainly from user agent, OS and screen signals, so a residential IP with an Android or iOS target and a matching device profile receives the same mobile campaign.
ISP proxies from $1.25/IP suit scheduled checks of fixed publisher pages from a stable address; rotating datacenter proxies from $0.14/GB only fit fetching your own tags from a CDN.
- Residential — Best for: Geo and device-targeted creative checks, affiliate compliance, malvertising; IP source: Real home connections, 2.5M online; Session: Rotating or sticky up to 24h; Price from: $0.27/GB at volume
- ISP (static residential) — Best for: Scheduled checks of fixed publisher pages from a stable IP; IP source: Static IPs from real ISPs; Session: Unlimited sessions, unlimited bandwidth per IP; Price from: $1.25/IP
- Datacenter — Best for: Fetching your own tags and creatives from a CDN; IP source: Datacenter ranges; Session: Rotating; Price from: $0.14/GB
How to set it up
- Create an account and open the residential product. The endpoint is premium-residential.geonode.com:9000 over HTTP, HTTPS or SOCKS5, so it plugs into Playwright, Puppeteer or any crawler.
- Build one username per audience segment:
-country-de-city-berlinfor a city-targeted campaign,-country-us-os-androidfor a mobile audience, with a matching browser profile. - Use a sticky session for each click-through. Append
-session-<id>and keep it from the publisher page through every redirect to the final landing page so cloaking logic sees one visitor. - Render pages in a headless browser and capture a screenshot of the slot, the creative URL, the redirect chain and the final landing page.
- Compare results against the campaign's targeting and the affiliate's approved landing pages. Flag unexpected geos, off-brand placements, mismatched creatives and redirects that leave the expected domain.
// verify endpoint against docs.geonode.com before publishing
const { chromium } = require("playwright");
(async () => {
const browser = await chromium.launch({
proxy: { server: "http://premium-residential.geonode.com:9000",
username: "USERNAME-country-us-os-android-session-adv9k2", password: "PASSWORD" },
});
const page = await (await browser.newContext({ userAgent: "Mozilla/5.0 (Linux; Android 14) Mobile Safari/537.36" })).newPage();
page.on("response", (r) => { if (r.status() >= 300 && r.status() < 400) console.log("redirect", r.url()); });
await page.goto("https://www.example-publisher.com/article", { waitUntil: "networkidle" });
await page.screenshot({ path: "slot-us-android.png", fullPage: true });
await browser.close();
})();
Get the exact snippet for your language from the API Code Generator in the dashboard.
Ad verification-specific settings that matter
OS targeting instead of mobile IPs
Where a verification workflow used to call for a carrier IP, use a residential IP with -os-android or -os-ios where available and a matching user agent, viewport and touch profile. Ad servers select mobile creatives mainly from device signals, so this combination receives the mobile campaign.
Sticky sessions for redirect chains
Affiliate cloaking and malvertising both depend on the visitor staying consistent across redirects. Keep one session id from the publisher page to the final landing page. Rotate only between separate checks so each one represents a fresh viewer.
City and ASN targeting
Local campaigns are often fenced to a metro, and some are targeted by ISP. Use city targeting to get inside the fence and ASN targeting for network-specific delivery. State and city cannot be combined, so pick the level that matches the campaign.
Sampling and frequency
Ad delivery is probabilistic. Check each placement several times per geo with rotating sessions to sample households, and spread checks across the day because dayparting changes delivery.
What to log
Save a screenshot, the creative URL, every redirect hop, the final landing domain, IP country, OS target and timestamp. Affiliate disputes are won with evidence, and the redirect chain is usually decisive.
What Geonode gives you for ad verification
- 2.5M residential IPs online across 195+ countries, 30–50M unique IPs rotating monthly.
- Country, state, city, ASN and OS targeting in the username to emulate any audience segment.
- Sticky sessions up to 24 hours to follow redirect chains and landing-page cloaking.
- HTTP, HTTPS, SOCKS5 and UDP, compatible with Playwright, Puppeteer and Selenium.
- No fixed concurrency limit, 24/7 support, card or crypto payment.
Pricing for ad verification
Residential proxies are pay-as-you-go with no contract. Entry is 10 GB for $7.92 per month, 50 GB is $34.65, and the rate reaches $0.27/GB at volume. A 3-day trial costs $5. ISP proxies start at $1.25/IP for stable scheduled checks, and rotating datacenter proxies at $0.14/GB. Full details are on the pricing page.
FAQ
Why do ad verification proxies have to be residential?
Exchanges and fraud filters classify datacenter ranges as non-human and suppress or substitute ads. Residential IPs are treated as viewers, so you see the real creative, landing page and geo behaviour that the audience sees.
Do I need mobile IPs for in-app and mobile web ads?
Geonode does not sell mobile proxies. Use a residential IP with OS targeting and a matching mobile browser profile. Ad servers choose mobile creatives mainly from device signals, so this setup receives the mobile campaign for the vast majority of verification tasks.
Can ad verification proxies follow affiliate redirect chains?
Yes. Use a sticky session so the same IP persists from the publisher click through every redirect to the final landing page. With a headless browser you capture each hop and a screenshot of the destination as evidence.
How do I check a city-targeted campaign?
Append -city-<name> with the country suffix to route through IPs in that metro. Repeat with rotating sessions to sample several households, and run checks at different times because dayparting changes delivery. City and state cannot be combined.
What are the compliance rules for using these proxies?
Verify only campaigns and affiliate programs you own or manage with authorisation, respect publisher terms and rate limits, and never generate fake impressions or clicks. Geonode's acceptable use policy prohibits fraud, spam and credential abuse, and we enforce it.
How many checks fit in 10 GB?
A rendered publisher page with ads can be a few megabytes, so block video and large media you do not need. With that discipline the entry plan covers thousands of checks; the exact number depends on the publishers you verify.
Start
Run the $5 trial against your top publishers and geos, then build your sampling schedule. Get started or Contact sales for a volume quote or help integrating with your verification platform.
Related: Brand protection · NGOs and researchers · SEO rank tracking