Geonode logo

Localization Testing Proxies: See Your Site the Way Each Market Does

Quick answer

For localization testing you need residential proxies with country, state and city targeting, so every request reaches your site from an IP that geolocation databases place in the market under test. Geonode residential proxies cover 195+ countries with sticky sessions up to 24 hours, so a QA run completes a full checkout from one consistent location. ISP proxies add fixed IPs for repeatable regression suites.

Why localization testing breaks without the right proxies

Your site decides what to show a visitor from the IP before any JavaScript runs. Currency, default language, tax display, consent banner, age gates and the geo-redirect to the regional domain are resolved on the server or CDN edge from a geolocation lookup.

A VPN or a datacenter IP gives you the wrong answer. Those ranges are classified as hosting, so the CDN serves a fallback locale, the payment provider hides local methods, and the fraud layer flags the test order. You end up testing a path no customer sees.

Browser language headers and emulators do not fix this. The redirect happens before they matter, and most consent platforms, pricing engines and A/B tools key strictly on IP country. If the IP changes mid-session, currency, consent state and experiment bucket can all flip, so one test run must stay on one IP from landing page to confirmation.

Which Geonode proxy type fits

Residential proxies are the right default for localization testing. The IPs come from real consumer devices, so every geolocation provider, consent platform and payment gateway treats the session as a genuine local visitor. Geonode lets you target by country, state, city, ASN/ISP and OS where available (state and city cannot be combined), and sticky sessions hold the same IP for up to 24 hours, long enough for any manual or automated test flow.

Use ISP proxies when you need the same IP every time. A nightly regression suite that compares screenshots across releases benefits from a static address, because any difference is then caused by your code, not a changed IP. From $1.25/IP with unlimited bandwidth, they cost little for test traffic.

Rotating datacenter proxies are the wrong tool here. They are classified as hosting ranges and trigger the fallback behaviour you are trying to test. Keep them for load tests where geolocation does not matter.

  • Residential — Best for: Per-market QA of currency, language, redirects, payments; IP source: 2.5M consumer IPs online, 195+ countries; Session: Rotating or sticky up to 24 h; Price from: $0.27/GB at volume
  • ISP (static residential) — Best for: Repeatable regression suites on a fixed local IP; IP source: Static IPs from real ISPs; Session: Unlimited, fixed IP; Price from: $1.25/IP
  • Datacenter — Best for: Load and performance checks where geo does not matter; IP source: Rotating datacenter ranges; Session: Rotating; Price from: $0.14/GB

How to set it up

  1. Create a residential plan in the Geonode dashboard and generate credentials. The 10 GB entry plan is enough for weeks of page-level testing.
  2. Build one username per market under test by appending the country, state or city and a fixed session id, so each test run holds a single IP from start to finish.
  3. Point your test runner at the proxy. Playwright, Selenium and Cypress accept a proxy per browser context, so markets run in parallel from one machine.
  4. Assert on what the market should see: currency symbol, hreflang-matched locale, consent banner variant, redirect target, available payment methods, tax line and legal footer.
  5. Log the exit IP, resolved country and the response headers for every step, so a failed assertion can be traced to code, CDN rule or geolocation data.
// verify endpoint against docs.geonode.com before publishing
const { chromium } = require('playwright');

const markets = {
  de: 'USERNAME-country-de-session-qa01de',
  br: 'USERNAME-country-br-state-saopaulo-session-qa01br',
  jp: 'USERNAME-country-jp-session-qa01jp',
};

(async () => {
  for (const [market, user] of Object.entries(markets)) {
    const browser = await chromium.launch({
      proxy: { server: 'http://premium-residential.geonode.com:9000',
               username: user, password: 'PASSWORD' },
    });
    const page = await browser.newPage();
    await page.goto('https://www.example-shop.com/');
    const currency = await page.locator('[data-test=price-currency]').first().innerText();
    console.log(market, page.url(), currency);
    await browser.close();
  }
})();

Get the exact snippet for your language from the API Code Generator in the dashboard.

Localization testing-specific settings that matter

Sticky sessions for the whole flow

Always use a session id for a test run. Geo-redirect, currency, consent state and experiment assignment are decided on the first request and stored in cookies or edge state. A rotating IP mid-checkout produces a mismatch no real user would hit, and you will chase a bug that does not exist.

City targeting where tax or shipping varies

Country-level targeting covers language and currency. For sales tax, delivery estimates, store locators and regional promotions, test from the specific state or city. Pick one per username, since state and city cannot be combined.

Pair IP with locale headers and device

The IP drives the server decision, but also set Accept-Language, timezone and viewport to match a typical device in that market. OS targeting helps when your app serves different payment options to Android and iOS traffic.

Parallelism and retries

There is no fixed thread limit on Geonode residential, so run all markets at once. Keep retries low and deterministic. A test that passes on the third attempt is hiding a geolocation edge case or a real race in your code, and you want to see both.

What to log

Record exit IP, resolved country, final URL after redirects, Set-Cookie headers and the HTML of the pricing block. Screenshots per step make regressions in legal banners and footers obvious.

What Geonode gives you for localization testing

  • 2.5M residential IPs online across 195+ countries, targetable by country, state, city, ASN and OS.
  • Sticky sessions up to 24 hours, so one test run stays on one local IP.
  • ISP proxies from $1.25/IP for fixed-address regression suites.
  • HTTP, HTTPS, SOCKS5 and UDP, compatible with Playwright, Selenium, Cypress and mobile test farms.
  • No fixed concurrency limit, pay-as-you-go without a contract, 24/7 support.

Pricing for localization testing

Localization testing uses little bandwidth, since you fetch a handful of pages per market per run. Residential pay-as-you-go starts at $0.27/GB at volume; the entry plan is 10 GB for $7.92 and a 3-day trial is $5, no contract. ISP proxies start at $1.25/IP with unlimited bandwidth, datacenter from $0.14/GB for non-geo load checks. Details on the pricing page.

FAQ

Why use localization testing proxies instead of a VPN?

A VPN exit is a shared datacenter address that geolocation databases classify as hosting. Your CDN, consent platform and payment gateway treat it differently from a consumer connection, so you test a path real customers never see. Residential IPs match real visitor conditions.

Can I test the same market from a fixed IP every night?

Yes. ISP proxies give you a static address from a real ISP, so screenshot comparisons between releases are not polluted by IP changes. Many teams run residential for exploratory testing and ISP for automated regression.

Do localization testing proxies work with Playwright and Selenium?

Yes. Both accept an HTTP or SOCKS5 proxy per browser context, so you can launch one context per market and run them in parallel. Credentials and targeting live in the username, so no plugin is needed.

How do I test a city-level feature such as local tax or store pickup?

Append the state or city to the username instead of just the country. Use one or the other per session, since state and city targeting cannot be combined. The session id keeps that location fixed for the whole test flow.

What about testing a mobile app rather than a website?

Residential proxies work for mobile apps when your device farm or emulator routes traffic through a proxy. Geonode does not offer a mobile-carrier IP product; residential IPs from consumer connections are the substitute and resolve to the same market in geolocation lookups.

Is there any compliance limit on localization testing?

Use these proxies only on sites, apps and accounts you own or manage with authorisation, and respect platform terms and rate limits. Geonode's acceptable use policy prohibits fraud, spam and credential abuse, including placing orders you do not intend to fulfil.

Start

Run your next release QA from the markets you sell in. Get started with a $5 three-day trial, or contact sales for a test-farm setup across many countries.

Related: Ad verification · Mobile app testing · Website performance optimization