Pick the region of the offer
Europe for EU and UK offers, CIS for Russian-speaking markets, China for Chinese networks, World MIX for the US, LATAM and Asia.
A media buyer needs to open the landing, the offer page and the competitor ad from the geo where the traffic goes, and to keep ad cabinets on a steady address. Resi Prime gives a home IP with a choice of country and city, while regional IPv4 packages cover bulk link checks, spy tools and trackers.
Half of the job is looking at pages through someone else's eyes. The other half is doing it a thousand times an hour.
Open the funnel from the target country
Regional pools; filter the CSV export by the country column for exact countries
Check hundreds of links and trackers per hour
1,000 threads on Europe #8, 2,000 on Europe #9
Feed spy tools and parsers of ad networks
Thousands of addresses per list, refresh every 10 minutes, traffic not counted
A steady IP for an ad cabinet
On Resi Prime the session term runs from 3 minutes to 24 hours, with the city and ISP of your choice
The price per GB drops with the order size, and traffic lasts three months. Link checks and spy tools cost less on an unlimited package from the block below.
| Order size | Resi Core | Resi Prime |
|---|---|---|
| 1 GB+ | $0.85 | $2.29 |
| 10 GB+ | $0.79 | $2.09 |
| 50 GB+save 15% | $0.72 | $1.95 |
| 100 GB+ | $0.65 | $1.75 |
| 500 GB+ | $0.57 | $1.55 |
| 1000 GB+ | $0.49 | $1.39 |
Prices are in US dollars per 1 GB. You buy whole gigabytes, starting with a single one.
Pool
You save 15% ($17.00) against the 1 GB+ price
Add 50 GB and every gigabyte drops to $1.75
Buy this amountYou can use the gigabytes for 3 months from the purchase date; whatever is left after that is written off.
Europe for EU and UK offers, CIS for Russian-speaking markets, China for Chinese networks, World MIX for the US, LATAM and Asia.
Keep the CSV rows whose country column is the geo you need. Point your link checker, cloaking test or spy parser at that list.
Landing status, redirect chains, tracker pixels: each check from a different address, with the list refreshed every 10 minutes.
Put your links in links.txt and pick COUNTRY. The script opens each URL through a proxy of that country, follows the redirect chain by hand and writes the final address, status and hop count. Check the pool geo with the validator on the proxy checker.
#!/usr/bin/env python3
"""Landing and redirect checker for Advanced.name proxies.
Opens each URL through a proxy from the target country, follows the redirect
chain by hand and reports the final address, HTTP status and the whole hop path.
Use it to see where a funnel really lands from a given geo before you buy traffic.
Standard library only. Run: python3 landings.py
"""
# ================================ CONFIG ====================================
CSV_URL = "https://get.advanced.name/YOUR_LIST_ID.csv" # CSV export link from your dashboard
COUNTRY = "DE" # open the funnel as a visitor from this country
MIN_SPEED = 3
LINKS_FILE = "links.txt" # one URL per line
OUT_FILE = "landings.csv" # url;final_url;status;hops;proxy is written here
MAX_HOPS = 10
THREADS = 30
TIMEOUT = 20
# ============================================================================
import csv
import io
import sys
import threading
import urllib.error
import urllib.request
from concurrent.futures import ThreadPoolExecutor, as_completed
from urllib.parse import urljoin
COL_IP, COL_PORT, COL_COUNTRY, COL_SPEED = 0, 1, 2, 3
UA = "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1 Mobile Safari/604.1"
class NoRedirect(urllib.request.HTTPRedirectHandler):
def redirect_request(self, *args):
return None # we follow redirects ourselves to record every hop
def load_proxies():
raw = urllib.request.urlopen(CSV_URL, timeout=30).read().decode("utf-8", "replace")
pool = []
for row in csv.reader(io.StringIO(raw), delimiter=";"):
if len(row) <= COL_SPEED or not row[COL_PORT].strip().isdigit():
continue
if COUNTRY and row[COL_COUNTRY].strip().upper() != COUNTRY.upper():
continue
if int(row[COL_SPEED] or 0) < MIN_SPEED:
continue
pool.append(row[COL_IP].strip() + ":" + row[COL_PORT].strip())
return pool
def opener(proxy):
return urllib.request.build_opener(
NoRedirect, urllib.request.ProxyHandler({"http": "http://" + proxy, "https": "http://" + proxy}))
def trace(url, proxy):
hops = 0
op = opener(proxy)
while hops < MAX_HOPS:
req = urllib.request.Request(url, headers={"User-Agent": UA, "Accept-Language": COUNTRY.lower()})
try:
resp = op.open(req, timeout=TIMEOUT)
except urllib.error.HTTPError as err:
resp = err
status = resp.getcode()
location = resp.headers.get("Location")
if location and 300 <= status < 400:
url = urljoin(url, location)
hops += 1
continue
return url, status, hops
return url, 599, hops
def main():
proxies = load_proxies()
if not proxies:
sys.exit("No proxies for COUNTRY=%r." % COUNTRY)
with open(LINKS_FILE, encoding="utf-8") as fh:
links = [line.strip() for line in fh if line.strip() and not line.startswith("#")]
print("proxies: %d (%s), links: %d" % (len(proxies), COUNTRY, len(links)))
lock = threading.Lock()
counter = {"i": 0}
rows = []
def check(url):
with lock:
proxy = proxies[counter["i"] % len(proxies)]
counter["i"] += 1
try:
final, status, hops = trace(url, proxy)
except Exception as exc:
final, status, hops = "err: %s" % exc.__class__.__name__, 0, 0
return url, final, status, hops, proxy
with ThreadPoolExecutor(max_workers=THREADS) as pool:
for fut in as_completed([pool.submit(check, u) for u in links]):
row = fut.result()
rows.append(row)
print("%-3s hops=%d %s -> %s" % (row[2], row[3], row[0][:40], str(row[1])[:50]))
with open(OUT_FILE, "w", encoding="utf-8", newline="") as out:
writer = csv.writer(out, delimiter=";")
writer.writerow(["url", "final_url", "status", "hops", "proxy"])
writer.writerows(rows)
print("written %s" % OUT_FILE)
if __name__ == "__main__":
main()
Point your link checker, cloaking test or spy-tool parser at a per-country list and open every landing from the geo of the campaign before the first dollar. The script above follows the whole redirect chain, so you see where a funnel really lands, not just its first hop.
Send the language header with the regional IP; some networks decide by header first and IP second, and a redirect to the wrong language wastes the test.
Keitaro and other trackers accept a proxy per stream in the traffic-source settings — paste ip:port and pick SOCKS5. Keep a separate list per geo so mixed addresses do not mix your screenshots.
Confirm the pool geo with the validator on the proxy checker; for a small test the free proxy list is enough.

Ad cabinets and antidetect profiles live on Resi Prime. Link checks, cloaking tests and spy tools cost less on an unlimited package.
Cabinets and antidetectBest fit
Each profile gets its own home IP: city, ISP and device type to match the campaign geo, with a session lasting 3 minutes to 24 hours. SOCKS5 with UDP suits antidetect browsers.
from $1.39 per GB1 GB for $2.29
Landings from the geo
Open the landing and the offer from a home IP in the right country when the network cuts addresses from lists. A new address on every request, with the country set in the string.
from $0.49 per GB1 GB for $0.85
Spy tools and link checkers
European addresses with no traffic meter. Enough for thousands of link and tracker checks an hour and for spy tool parsers.
$277 per monthor $1.70 per hour
Unlimited packages do not suit ad cabinets: their addresses are shared and change with the list, and a cabinet needs one steady IP.
Take Resi Prime for cabinets and a regional package for checks, then run the checker on the live list.