Geo Research

Rotating proxies for marketer geo research

Country-code tokens, capture sheet columns that catch bad rows, and why billed bytes differ from accepted screenshots.

Field notes One messy geo QA run Updated 2026-06-12

Country routing lives in the username token

On a Proxynade pool, the country goes in the expanded username, not in a separate API call. The pattern is base username + plan token + optional country-<cc> + optional lifetime-<minutes>. A volume residential exit in Germany looks like rt97db6958d9-plan-volume-country-de. Swap de for fr, es, br, or jp per row in your matrix without changing the gateway host or port.

The gateway is http://proxynade.net:2555. The password stays unchanged. Datacenter lines drop the lifetime token because datacenter sessions do not carry a rotation window; residential lines can include one when a multi-step flow needs to stay on the same exit.

Bad rows look complete

The first pass of a geo QA run at geo-qa-042 (42 competitor URLs, seven countries, three capture windows) was thrown out. DE was using an English browser profile. BR had reused an old consent cookie. JP finished after its capture window because the retry queue backed up. Nothing in the screenshot folder flagged any of that. The rows looked complete. They were bad rows.

The fix is ugly columns. A trustworthy capture sheet needs at minimum: url, country, language, user_agent, started_at, final_url, status, currency, cta, screenshot, accepted, billed_bytes, reject_reason. The final_url column catches redirects. The status column records the HTTP response status so blocked or redirected rows are distinguishable at a glance. The currency field catches checkout localization. The billed_bytes column stays because the app counter lies by omission.

Accepted screenshots and billed bytes are different numbers

The run above produced 733 accepted captures. The provider meter logged 0.64 GB. That gap exists because the provider bills every byte the proxy touched: redirect chains, consent screens, font loads, failed TLS attempts, retries on rows that were eventually rejected. The app counted only rows that passed validation.

Neither number is wrong. The accepted count is the research output. The GB figure is the line item on the invoice. Budget from the GB column, not from accepted screenshots. On a volume residential plan at $0.89/GB, 0.64 GB is about $0.57 — small money, but the right number to track.

A country exit does not control everything geo-signals read

Search checks need the same caution as landing page captures. A country-targeted residential IP helps, but a search engine also reads browser language, cookies, device type, prior session history, and sometimes ASN. A single SERP screenshot is a clue, not a source of truth. Repeated captures showing consistent movement across sessions are more useful than one clean screenshot.

Ad checks are worse. Platforms vary creative by account history and their own sampling logic. A French route showing a French landing page is useful evidence. It is not proof that every buyer in France saw the same funnel. That caveat belongs in the report, because otherwise someone will treat one screenshot as a claim.

The useful catch is boring

The geo-qa-042 run found one Spanish landing page that appeared localized on the first screenshot. The second click landed in a USD checkout. The final_url and currency columns caught it immediately. That finding — one redirect that stripped localization — was the actual value of the run. The rest was keeping the capture sheet honest enough to trust the rows that passed.

Geo research FAQ

How do you route to a specific country on Proxynade? Add country-<cc> to the expanded username — for example rt97db6958d9-plan-volume-country-de. The gateway routes through an exit in that country for each new session.

Why does the provider meter show more GB than the app counter? The provider bills every byte transferred through the proxy, including redirects, consent screens, font files, and failed attempts. The app counter only records what it logged as accepted. Budget from the provider meter.

Is a single SERP screenshot reliable for SEO geo research? No. Google also reads browser language, cookies, device type, and prior activity. A single capture is a data point. Repeated captures showing consistent movement are more useful.

What columns make a geo capture sheet trustworthy? At minimum: URL, country, language, user agent, started_at, final_url, HTTP status, currency, CTA text, screenshot path, accepted flag, billed_bytes, and reject_reason.

Do ad checks through a country route prove what buyers saw? No. Ad platforms vary creative by account history and their own sampling logic. A country-routed exit showing a localized landing page is useful evidence, not proof that all buyers in that country saw the same funnel.

Capture run checklist

  • Set browser language to match the target country, not just the proxy country.
  • Clear cookies between country rows; stale consent cookies corrupt the capture.
  • Record final_url and currency, not just the screenshot.
  • Budget from the provider GB log, not from the accepted-row count.
  • Mark SERP and ad captures as single data points in the report; use repeated runs for trend claims.