Wenn Sie auf Shopify verkaufen, tun das die meisten Ihrer Konkurrenten vermutlich auch, und ihre Preise, Rabatte und Lagerbestände sind für jeden sichtbar, der ihren Shop öffnet. Monitoring-Apps machen daraus Dashboards, aber Sie können dieselben Daten selbst erfassen, genau für die Shops und Produkte, die Sie interessieren, und die Historie behalten. Das ist Price Intelligence im Maßstab eines einzelnen Shop-Betreibers, und Shopify macht den ersten Schritt leichter als die meisten Plattformen.
Dieser Leitfaden zeigt, wo die Daten liegen, was Sie pro Produkt erfassen sollten, wie Sie Märkte nach Land vergleichen und wie Sie das Ganze zuverlässig betreiben.
Warum selbst bauen
Apps sind schnell eingerichtet, haben aber Grenzen. Meist begrenzen sie die Zahl der Konkurrenten oder Produkte, aktualisieren nach ihrem eigenen Zeitplan und behalten die Rohdaten-Historie in der App. Ein kleiner eigener Collector bietet Ihnen:
- Ihre Liste an Konkurrenten, auch kleine Shops, die keine App verfolgt.
- Ihren Zeitplan, zum Beispiel alle paar Stunden während eines Sales und sonst einmal am Tag.
- Ihre Daten, in einer Tabelle oder Datenbank, die Sie mit Ihren eigenen Verkäufen und Margen verknüpfen können.
Der Preis dafür ist etwas Einrichtung und die Notwendigkeit, Anfragen höflich und gleichmäßig zu halten, und hier kommen Proxies ins Spiel.
Wo die Daten liegen: das öffentliche Produkt-JSON
Die meisten Shopify-Storefronts veröffentlichen ihren öffentlichen Katalog in maschinenlesbarer Form:
/products.jsonlistet Produkte mit ihren Varianten, seitenweise. Hängen Sie?limit=250&page=2und so weiter an, um einen großen Katalog durchzugehen./products/<handle>.jsonliefert ein einzelnes Produkt, wobei das Handle der letzte Teil der Produkt-URL ist./collections/<handle>/products.jsonlistet die Produkte einer Kollektion, nützlich, wenn Sie nur einer Kategorie folgen.
Jede Variante enthält die Felder, die Sie brauchen: price, compare_at_price (der durchgestrichene “Statt”-Preis), available, sku und Zeitstempel. Das ist viel leichter, als die gerenderte Produktseite mit Bildern und Skripten zu laden, und es ändert sich nicht, wenn der Shop das Theme wechselt.
Nicht jeder Shop lässt es offen. Manche geben einen Fehler oder eine Passwortseite zurück, und Headless-Storefronts stellen es unter Umständen gar nicht bereit. Lesen Sie in diesen Fällen stattdessen die strukturierten Daten, die in die Produktseite eingebettet sind; wie das geht, erklären wir in JSON-LD extrahieren statt HTML zu parsen.
Was Sie pro Produkt erfassen sollten
Verfolgen Sie Varianten, nicht Produkte. Ein T-Shirt in fünf Größen sind fünf Varianten, und ein Konkurrent rabattiert oft nur die Größen, die sich nicht verkaufen.
Pro Variante und Prüfung:
- Shop, Produkt-Handle, Varianten-ID, SKU und Variantentitel (Größe, Farbe).
priceundcompare_at_price.available(vorrätig oder nicht).- Der Zeitpunkt Ihrer Prüfung, das Land, aus dem Sie geprüft haben, und die angezeigte Währung.
Abzuleitende Signale:
- Rabatttiefe: die Differenz zwischen
compare_at_priceundprice, und wann ein Rabatt beginnt und endet. - Preisänderungen: jedes Mal, wenn sich der Preis einer Variante bewegt, mit altem und neuem Wert.
- Ausverkäufe: Varianten, die auf nicht verfügbar wechseln, oft ein Zeichen für starke Nachfrage oder Lieferprobleme.
- Neue und entfernte Produkte: was der Konkurrent einführt und was er still streicht.
Speichern Sie nur die Änderungen plus einen täglichen Snapshot, dann bleibt die Historie selbst über Dutzende Shops hinweg klein.
Märkte: derselbe Shop, andere Preise je Land
Mit Shopify Markets kann ein Shop in vielen Ländern mit lokalen Währungen und oft unterschiedlichen Preisen verkaufen. Welchen Markt ein Besucher bekommt, hängt meist von seinem Standort ab, manchmal mit einem Länder-Unterordner wie /en-ca/ oder einer Währungsauswahl.
Das ist fürs Monitoring wichtig. Wenn Sie alles von einem Server in einem Land erfassen, sehen Sie immer nur diesen einen Markt. Um zu vergleichen, was Käufer in den USA, im Vereinigten Königreich und in Deutschland zahlen:
- Rufen Sie den Shop von einer IP in jedem Land auf, in dem Sie verkaufen, damit der Shop den Markt wählt, den ein lokaler Käufer bekommt.
- Speichern Sie die erhaltene Währung und den Preis, nicht einen umgerechneten Wert.
- Prüfen Sie beim ersten Mal ein Produkt pro Markt von Hand gegen die gerenderte Seite, um zu bestätigen, dass das erfasste JSON für diesen Shop den lokalen Preis zeigt.
Länder-Targeting reicht für die meisten Shopify-Vergleiche. Targeting auf Stadtebene ist nur wichtig, wenn ein Shop Lieferoptionen oder Bestand nach Region ändert.
Ein minimaler Collector
Das folgende Skript liest den Katalog eines Shops über einen Proxy und gibt Preis und Bestand jeder Variante aus. Führen Sie es pro Shop und Land nach Zeitplan aus und schreiben Sie die Zeilen in Ihre Datenbank.
import time
import requests
PROXY = "http://customer-USERNAME-country-us:PASSWORD@p.shifter.io:443"
STORE = "https://competitor-store.example"
def fetch_catalogue(store):
page = 1
while True:
r = requests.get(
f"{store}/products.json",
params={"limit": 250, "page": page},
proxies={"http": PROXY, "https": PROXY},
timeout=30,
)
r.raise_for_status()
products = r.json().get("products", [])
if not products:
break
yield from products
page += 1
time.sleep(2) # stay polite between pages
for product in fetch_catalogue(STORE):
for v in product["variants"]:
print(product["handle"], v["id"], v["title"],
v["price"], v["compare_at_price"], v["available"])
Ändern Sie country-us im Benutzernamen, um denselben Shop so zu erfassen, wie ihn ein Käufer in einem anderen Markt sieht.
Proxy-Setup
| Aufgabe | Rotation | Targeting |
|---|---|---|
| Täglicher Katalog-Snapshot | Pro Anfrage | Land des Marktes |
| Häufige Prüfung wichtiger Produkte während eines Sales | Pro Anfrage | Land des Marktes |
| Prüfung von Warenkorb oder Checkout-Summe | Sticky Session | Land des Marktes |
Shopify-Storefronts begrenzen, wie schnell eine Adresse Seiten abrufen kann, und ein Monitoring-Server, der täglich dieselben Shops aufruft, fällt schnell auf. Residential Proxies mit einer neuen IP pro Anfrage verteilen die Prüfungen auf echte Haushaltsanschlüsse im Zielland, sodass der Shop so antwortet wie einem lokalen Käufer.
Ein paar Gewohnheiten halten die Erfassung stabil:
- Pausieren Sie ein bis zwei Sekunden zwischen den Seiten desselben Shops und verteilen Sie die Shops über den Tag.
- Prüfen Sie wichtige Produkte häufig und den vollständigen Katalog einmal am Tag; die meisten Preise ändern sich nicht stündlich. Unsere Studie dazu, wie schnell sich Online-Preise ändern, hilft Ihnen, eine sinnvolle Frequenz zu wählen.
- Behandeln Sie eine HTML-Antwort oder eine Challenge-Seite als Fehler, nicht als Daten, und versuchen Sie es später erneut.
Wie das in ein größeres Setup passt
Shopify-Shops sind meist nur ein Teil des Bildes. Wenn Sie auch Lieferanten und Marktplätze verfolgen, behandelt unser Leitfaden zu Proxies für Dropshipping Produktrecherche und Lieferanten-Monitoring neben Konkurrenz-Shops.
Das Fazit
Sie brauchen keine App, um Shopify-Shops der Konkurrenz zu beobachten. Lesen Sie das öffentliche Produkt-JSON, erfassen Sie für jede Variante Preis, “Statt”-Preis und Bestand mit Zeitpunkt und Land der Prüfung, und speichern Sie nur die Änderungen. Erfassen Sie jeden Markt von einer IP in diesem Land und nutzen Sie rotierende Residential Proxies, damit ein täglicher Zeitplan ohne Sperren läuft.