Skip to content
By John Hale10 min read

How to see ads in other countries (Google, Meta, YouTube)

Start with the free official tools: Google's Ads Transparency Center and Meta's Ad Library list a brand's ads by region. When you need to see how an ad renders on a publisher page, what its landing page serves locally, or the local price, load the page through a residential proxy exit in that country and record what came back.

How do I see the ads running in another country?

Two ways, used together. The free official libraries show which ads a brand is running in a region: Google's Ads Transparency Center covers Search, YouTube and Display ads by advertiser and region, and Meta's Ad Library covers Facebook and Instagram by country. A residential proxy shows how an ad and its landing page appear to a person in that country: the slot it fills on a publisher page, the redirect it goes through, the local price and language on the destination, and whether the version served to consumers matches the version the library shows.

This guide goes through the libraries first, then the proxy method step by step, then the difference between a VPN and a residential proxy for this job, and ends with a checklist you can run in an hour. It applies to your own campaigns (does the geo-targeting work?) and to competitors' (what are they running, and where does it lead?).

  • Use the Ads Transparency Center and the Meta Ad Library to list ads by region for free. They show creatives, formats and date ranges, not placements or landing pages.
  • Use a residential proxy exit in the target country or city to load publisher pages and landing pages as a local visitor. Record the exit, the redirect chain, the final URL and a screenshot.
  • A VPN usually exits from a datacenter IP, which ad stacks filter or serve differently; residential IPv4 is the exit type that matches the audience.
  • Never click ads during a check. Loading the page is enough and clicking your own or a competitor's ads creates invalid traffic.

Free official tools first

Google Ads Transparency Center (adstransparency.google.com). Search by advertiser name or domain, filter by region and date, and browse the text, image and video ads Google has shown for that advertiser, including YouTube ads. It is the fastest way to answer "is this brand advertising in Germany?" and to see creative variants. It does not show which publisher pages or search queries the ads ran on, the landing page as served, or the price a German visitor sees.

Google Ad Preview and Diagnosis (inside a Google Ads account). It renders the search results page for a query as if you were in a chosen location, language and device, without recording impressions. It covers Search ads only and only for accounts you can sign into, and it shows Google's rendering, not a publisher's.

Meta Ad Library (facebook.com/ads/library). Search by advertiser or keyword, filter by country and platform (Facebook, Instagram, Messenger, Audience Network), and see active ads with their formats and start dates. For ads about social issues, elections or politics, and for ads shown in the EU, Meta also publishes spend ranges and audience information. The library shows the ad as an object; it does not show where in a feed it appeared, what the click-through destination served in that country, or the landing page price.

Other platforms publish libraries of their own for some regions, such as TikTok's commercial content library and LinkedIn's ad library. Check the platform's help pages for the current scope, because coverage differs by region and changes.

What the libraries cannot show you

Placement. A library lists the creative, not the page it ran on. Whether your display ad appeared on a reputable news site or next to content your brand-safety policy excludes is invisible there. So is the slot: above the fold, in an interstitial, in an in-article unit.

The landing page as served. Click-through URLs go through trackers and geo-routers, and the destination often varies by country: a different storefront, a different currency, a fallback page. A cloaked campaign goes further and serves reviewers, verification vendors and datacenter IPs a compliant page while consumer IPs in the target country get the real one. Google's research paper on the technique, Cloak of Visibility, measured it across search and ad traffic. A library entry shows none of that.

Localized prices and offers. "From €9.99" in Spain and "from £9.99" in the UK are two different campaigns to a local visitor and one creative to a library. The same goes for stock, delivery promises and legal footers that differ by jurisdiction. These are the checks the ad verification proxies page lists, and each needs a request from inside the market.

The proxy method, step by step

A residential proxy routes your request through an IP that a consumer ISP assigned to a household in the target country. Ad servers decide what to show from that IP before anything else loads, so the page you receive is the page a local visitor receives. Here is the procedure, in the order the evidence kit records it.

  1. Pick the exit. Country is enough for a national campaign; a city or network (ASN) matters for local campaigns and for checks a client will dispute. On TrueProxies, targeting is written on the proxy username: USER-country-de on any residential plan, USER-country-de-city-berlin or USER-country-de-asn-3320 on a GB-based plan. The accepted options are in the connection reference.
  2. Preflight the exit. Before loading anything, request an IP echo service through the proxy and record the exit's country. A check from the wrong country is not evidence. The free proxy checker does this server-side and records the exit for you.
  3. Use a clean browser profile. Cookies, language and timezone all feed ad targeting. Start a fresh browser context per check, set the locale and timezone of the market, and do not sign into anything.
  4. Load the page and wait. For a publisher page, wait until the network goes quiet so ad slots fill; for a landing page, follow the redirects to the final URL. Record every navigation, not only the first response.
  5. Capture the evidence. Timestamp, exit reference and country, requested URL, redirect chain with status codes, final URL, HTTP status, a full-page screenshot, and the creative and placement identifiers if you can read them from the page. Save the HAR if you also want the bytes for cost per check.
  6. Repeat before concluding. Ad rotation means one load is one sample. Load the page again from a second exit in the same market, and once from a control location, before calling a difference a targeting error or cloaking.
One check with Playwright: preflight, redirect chain, screenshotjavascript
import { chromium } from "playwright";

const url = process.argv[2];
const proxy = {
  server: process.env.PROXY_SERVER, // http://YOUR_HOST:8080
  username: process.env.PROXY_USER, // USER-country-de-city-berlin-session-ad01
  password: process.env.PROXY_PASS,
};

const browser = await chromium.launch({ proxy });
const context = await browser.newContext({ locale: "de-DE", timezoneId: "Europe/Berlin", recordHar: { path: "check.har" } });
const page = await context.newPage();

const exit = await (await page.goto("https://httpbin.org/ip")).json(); // preflight

const navigations = [];
page.on("framenavigated", (f) => { if (f === page.mainFrame()) navigations.push(f.url()); });
const response = await page.goto(url, { waitUntil: "networkidle" });
const redirects = [];
for (let r = response?.request(); r; r = r.redirectedFrom()) redirects.unshift(r.url());

await page.screenshot({ path: "check.png", fullPage: true });
console.log(JSON.stringify({ checkedAt: new Date().toISOString(), exit, url, redirects, navigations, finalUrl: page.url(), status: response?.status() }, null, 2));

await context.close();
await browser.close();

Checking Google, Meta and YouTube ads specifically

Google Search ads. Search results are personalized and rate-limited, so use the Ad Preview and Diagnosis tool for your own account's ads and a residential exit for the organic and paid results a local user sees. Send one query per session, from a fresh context, and record the exit. Do not automate large query volumes against Google; that is the SEO monitoring workload and has its own rules.

Google Display and YouTube ads. List the creatives in the Ads Transparency Center, then load the publisher pages or watch pages you care about through a residential exit to see which creative fills the slot and what the click-through serves. YouTube pre-roll checks are the most expensive per check because the page loads video; budget about 7.6 MB per load at the median.

Meta ads. The Ad Library shows the creatives by country. Feed placements are personalized and require a logged-in account, so a proxy check is usually limited to the landing page: load the click-through URL from a residential exit in the target country and record the redirect chain, final URL, price and language. That is where geo-routing and cloaking show up.

Instagram ads. Same library as Facebook (filter by platform); same limit on feed placements. Check landing pages through the proxy, not the feed.

VPN vs residential proxy for this job

A consumer VPN changes your apparent country, so it is tempting for a quick look. The catch is the exit: most VPN servers sit in datacenters, and ad stacks classify datacenter ranges as non-consumer traffic. Industry invalid-traffic guidelines treat known data-center traffic as general invalid traffic, so many ad calls are filtered before they reach a VPN exit, and a cloaked campaign serves it the clean page by design. You may see fewer ads, different ads, or a page that does not match what a household in that country gets.

A residential proxy exits from a consumer ISP address in the target market, which is the audience the campaign was bought for. It also targets more precisely (city and ASN on GB-based plans), runs in a script rather than a system-wide tunnel, and records the exit per check. Publishers can still read browser and behavior signals, so neither option makes a check identical to a real visitor; the point is to remove the network-type difference. The residential vs mobile comparison covers the remaining case: in-app and carrier-targeted ads, which need a mobile carrier IP that TrueProxies does not sell.

Checklist for one market

  1. List the advertiser's active ads for the country in the Ads Transparency Center and the Meta Ad Library; save the creative IDs or screenshots with the date.
  2. Choose the exit: country for national campaigns, city or ASN for local ones (GB-based plan).
  3. Preflight the exit and record its country.
  4. From a fresh browser context with the market's locale and timezone, load three publisher pages where the campaign should appear and one where it should not.
  5. Load each click-through URL, record the redirect chain, final URL, status, price and language, and take a full-page screenshot.
  6. Repeat the loads from a second exit in the same market and from a control market.
  7. File every observation in the evidence template with the exit reference, timestamp and limitation notes, and do not click any ad at any step.

At 3.8 MB per full render and 0.8 MB per redirect check, the whole checklist for one market costs a few cents on a GB-based traffic pack. The proxies for ad verification page has the plan choice and the evidence templates; the free hour on Residential IPv4 Unlimited covers a country-level first run.

FAQ

Can I see another country's ads without a proxy? Partly. The Ads Transparency Center and the Meta Ad Library list ads by region for free. They do not show placements, the landing page as served locally, or local prices; those need a request from inside the market.

Is it legal to view ads through a proxy? Viewing public pages and ads through a proxy is generally lawful. Do not click ads you do not pay for, respect the terms of the sites you use, and follow TrueProxies' acceptable use policy. For regulated sectors, check local advertising rules with counsel. This is not legal advice.

Why does the ad look different from abroad? Ad servers choose creatives by IP location, language, device and history, and campaigns are often targeted by city or ISP. An office connection in another country is outside the target audience. Load the page from a residential exit in the market, from a clean profile, and repeat before concluding anything.

How do I check my own geo-targeting before launch? Load the placements from a residential exit in each targeted country and from one excluded country, record the exit and the creative each time, and compare with the campaign settings. That pre-launch QA is the cheapest ad check there is.

John Hale

Related articles

9 min readSeptember 30, 2026

Ad verification cost per check: the bandwidth and proxy math

What one ad check costs on a per-GB residential plan depends on what it loads. Measured on 30 September 2026: a redirect-chain check moves 0.8 MB at the median, a full render with a screenshot 3.8 MB, a YouTube watch page 7.6 MB. At TrueProxies traffic pack rates that is $1.31, $6.23 and $12.46 per 1,000 checks on the 1 GB traffic pack, and $0.48, $2.28 and $4.56 on the 5,000 GB traffic pack.

Read article
8 min readSeptember 30, 2026

Residential vs mobile proxies for ad verification

Residential IPv4 proxies cover web display, search and landing-page checks, with city and ASN targeting where campaigns are bought that way. Mobile carrier proxies are for in-app inventory and carrier-targeted campaigns. Datacenter proxies are filtered as invalid traffic and shown clean pages, so they only suit redirect status checks. A VPN is usually a datacenter exit with less control.

Read article
7 min readSeptember 30, 2026

How to test affiliate links by country (redirect check)

Geo-routed affiliate links send visitors to a different storefront per country, and a broken route drops your tag, lands on the wrong store, or serves a cloaked offer. Open the link from a residential proxy exit in each market, record every hop with its status code, the final URL and whether the tracking parameters survived, and keep the result as evidence for the program.

Read article

Ready to compare current options?

Try 1 hour of Residential IPv4 Unlimited at 10 Mbps, free. No card required.