Der erste Instinkt beim Einrichten eines Proxys ist, den Standort zu wählen, der einem am nächsten liegt. Es fühlt sich an, als müsste das am schnellsten sein, und oft liefert es genau die falschen Daten. Eine Website weiß nicht, wo man sitzt. Sie sieht den Exit, und bei einem Residential Proxy entscheidet das Exit-Land darüber, welche Version der Seite man zu sehen bekommt.
Dieser Leitfaden zeigt, wie man ein Exit-Land danach auswählt, was man herausfinden möchte, wie man prüft, ob eine Seite überhaupt reagiert, und wann der nächstgelegene Exit tatsächlich die richtige Wahl ist.
Die Frage, die man zuerst stellen sollte
Fragen Sie nicht, wo Sie sich befinden. Fragen Sie, wessen Sicht Sie brauchen.
| Was Sie tun | Wählen Sie einen Exit in |
|---|---|
| Überwachung von Konkurrenzpreisen | Dem Markt, in dem Ihre Kunden kaufen |
| Prüfung von Suchrankings | Dem Ort, an dem sich der Suchende befindet, bei Bedarf bis auf Stadtebene |
| Überprüfung von Anzeigen | Dem Land, auf das die Kampagne abzielt |
| Testen einer lokalisierten Seite | Jedem Markt, in dem Sie verkaufen, einer nach dem anderen |
| Überprüfung Ihrer eigenen Geo-Weiterleitungen | Jedem Land, das die Regel abdeckt, plus einem, das sie nicht abdeckt |
| Sammeln von Inhalten, die sich nicht unterscheiden | In der Nähe des Ziels, mit einem umfangreichen Pool |
Ein Team in Deutschland, das US-Preise verfolgt, gewinnt aus einem deutschen Exit nichts Brauchbares: Es würde Euro und möglicherweise einen anderen Katalog sehen, und die Daten würden vollkommen plausibel aussehen.
Testen, ob die Seite reagiert
Nicht jede Seite ändert sich je nach IP. Bevor Sie um ein Exit-Land herum planen, messen Sie es. Das folgende Skript fordert eine Seite von mehreren Ländern aus an, bestätigt, wo jede Anfrage tatsächlich ausgetreten ist, und zeichnet auf, was die Seite angezeigt hat. Es läuft unter Python 3.9 und neuer mit requests. Zugangsdaten stammen aus Umgebungsvariablen, damit sie nicht in Ihrem Code landen.
from __future__ import annotations
import os
import re
import requests
GATEWAY = "p.shifter.io:443"
USER, PASSWORD = os.environ["PROXY_USER"], os.environ["PROXY_PASS"]
def session_for(country):
proxy = f"http://{USER}-country-{country}:{PASSWORD}@{GATEWAY}"
s = requests.Session()
s.proxies = {"http": proxy, "https": proxy}
s.headers["User-Agent"] = ("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
"(KHTML, like Gecko) Chrome/130.0 Safari/537.36")
return s
def signals(url, country):
"""What this page shows a visitor from one country, and where they really exited."""
s = session_for(country)
try:
exit_country = s.get("https://ip-info.com/json", timeout=30).json().get("country")
r = s.get(url, timeout=30)
except (requests.RequestException, ValueError) as exc:
return {"exit": country.upper(), "error": type(exc).__name__}
lang = re.search(r'<html[^>]*\blang=["\']?([\w-]+)', r.text, re.I)
currency = re.search(r'priceCurrency["\']?\s*(?:content=|:)\s*["\']([A-Z]{3})', r.text)
price = re.search(r'itemprop=["\']price["\']\s+content=["\']([\d.,]+)', r.text)
return {"exit": exit_country, "status": r.status_code, "final_url": r.url,
"lang": lang.group(1) if lang else None,
"currency": currency.group(1) if currency else None,
"price": price.group(1) if price else None}
if __name__ == "__main__":
for url in ("https://www.apple.com/shop/buy-iphone",
"https://store.steampowered.com/app/620/Portal_2/"):
print(url)
for country in ("us", "de", "gb", "br"):
s = signals(url, country)
print(f" exit {s['exit']} {s.get('status')} lang={s.get('lang')} "
f"{s.get('currency')} {s.get('price') or ''}".rstrip())
Wir haben es am 4. November 2026 mit einem Shifter-Testkonto ausgeführt. Dies sind die Ergebnisse, und die Preise werden sich im Laufe der Zeit ändern:
https://www.apple.com/shop/buy-iphone
exit US 200 lang=en-US USD
exit DE 200 lang=en-US USD
exit GB 200 lang=en-US USD
exit BR 200 lang=en-US USD
https://store.steampowered.com/app/620/Portal_2/
exit US 200 lang=en USD 9.99
exit DE 200 lang=en EUR 9,69
exit GB 200 lang=en GBP 8.19
exit BR 200 lang=en BRL 33,99
Diese beiden Seiten zeigen die zwei Fälle, die man kennen muss.
Apple reagiert nicht auf die IP. Jeder Exit erhielt dieselbe US-Seite in USD. Apple hält seine Lokalisierung in der URL: /de/shop/buy-iphone liefert den deutschen Store aus. Ihr Exit-Land machte bei dieser Seite keinen Unterschied, daher würde die Wahl eines Exits nach geografischen Kriterien hier nichts bewirken.
Steam reagiert. URL und Sprache blieben gleich, aber Währung und Preis änderten sich je nach Exit: USD 9.99, EUR 9,69, GBP 8.19 und BRL 33,99. Eine Preisprüfung aus dem falschen Land liefert eine saubere, glaubwürdige, falsche Zahl, ganz ohne Fehlermeldung, die Sie warnen würde.
Prüfen Sie wie das Skript sowohl den Exit als auch die Seite. Ein falscher Standort lässt sich hier viel leichter erkennen als später in Ihren Daten.
Wann der nächstgelegene Exit der falsche ist
- Ihr Publikum befindet sich woanders. Dies ist der häufigste Fall, und die obigen Beispiele zeigen, warum.
- Ihr Nachbar ist ein anderer Markt. Deutschland und Österreich teilen sich eine Sprache, aber nicht immer die Preise, und eine gemeinsame Währung bedeutet nicht einen gemeinsamen Katalog. Behandeln Sie sie als getrennt.
- Der Markt ist regional. Manche Ergebnisse variieren ebenso stark nach Stadt oder Bundesland wie nach Land. Unser Leitfaden zu wann Targeting auf Stadtebene wichtig ist erklärt, wie man das erkennt.
- Der Rest der Anfrage passt nicht zusammen. Ein US-Exit mit deutscher Browsersprache kann zu einer eigenartigen Mischung aus beidem führen. Geo, Zeitzone und Gebietsschema sollten übereinstimmen, also stellen Sie diese gemeinsam ein.
Wann der nächstgelegene richtig ist, und nächstgelegen zu was
Wenn eine Seite überall denselben Inhalt ausliefert, wie bei Apples URL, hört Geografie auf, eine Frage der Genauigkeit zu sein, und wird zu einer Frage der Leistung. Auch dann ist die ausschlaggebende Entfernung selten die von Ihrem Schreibtisch aus. Eine proxyvermittelte Anfrage geht von Ihrem Client zum Gateway, dann zum Exit, dann zum Ziel. Ein Exit nahe am Ziel verkürzt die letzte Etappe, egal wie weit Sie selbst entfernt sind.
Wenn sich der Inhalt also nicht unterscheidet, wählen Sie einen Exit nahe am Ziel mit einem großen verfügbaren IP-Pool, und messen Sie es. Kleinere Länder haben dünnere Pools, sodass ein beliebter Nachbarmarkt verlässlicher sein kann, wenn der Standort wirklich keine Rolle spielt.
Häufige Fehler
- Ein Land testen und den Rest annehmen. Eine Seite, die die IP auf einer Seite ignoriert, kann auf einer anderen reagieren, etwa beim Checkout oder bei der Suche. Testen Sie die Seite, auf die es Ihnen ankommt.
- Einer sauberen Antwort vertrauen. Eine Seite in der falschen Währung liefert trotzdem 200 zurück. Fügen Sie eine Prüfung für die erwartete Währung oder Sprache hinzu.
- Annehmen, dass jeder Schritt dem Exit folgt. Manche Seiten steuern ebenso über DNS oder über Kontoeinstellungen wie über die IP, und DNS wird im Exit-Land möglicherweise nicht aufgelöst. Wenn es darauf ankommt, überprüfen Sie die tatsächlich ausgelieferte Seite.
- Exit und Wohnsitz verwechseln. Der Exit ist der Ort, an dem eine Anfrage das Netzwerk verlässt. Er sagt nichts darüber aus, wo Ihre Daten gespeichert sind.
- Einen Exit als Erlaubnis betrachten. Einer Seite zu Test- oder Recherchezwecken die Ansicht eines anderen Landes zu zeigen, ist eine Sache. Dies zu nutzen, um Lizenzierung, Sanktionen oder die Nutzungsbedingungen einer Seite zu umgehen, eine andere. Klären Sie das zuerst mit Ihrer Rechtsabteilung.
Fazit
Wählen Sie den Exit danach, wessen Sicht Sie brauchen, nicht danach, wo Sie sich befinden. Testen Sie, ob die Seite überhaupt auf die IP reagiert, bestätigen Sie, wo jede Anfrage tatsächlich ausgetreten ist, und fügen Sie eine Prüfung für die erwartete Währung oder Sprache hinzu. Nur wenn der Inhalt überall gleich ist, kommt die Entfernung ins Spiel, und dann zählt die Entfernung zum Ziel.