Haben Sie einen Shopify-Shop mit einer großen Anzahl an Produkten und deren Varianten? Und viele Metafelder? Dann ist Ihnen vielleicht aufgefallen, wie schmerzhaft langsam ein vollständiger Import solcher Shops sein kann. Der Grund liegt in der Natur der Rate-Limits der Shopify GraphQL Admin API. Je umfangreicher die Informationen sind, die Ihre Integration abfragt, desto höher sind die Kosten in Bezug auf das API-Limit. Infolgedessen kann eine Integration gezwungen sein, drastisch zu verlangsamen, um ihr Punkte-Kontingent nicht zu schnell aufzubrauchen.

Um dieses Problem zu lösen, haben wir in die Feedoptimise Shopify-Integration einige neue Funktionen eingeführt: Sie können jetzt Teil-Updates (oder Deltas/inkrementelle Importe) parallel zu regulären vollständigen Importen ausführen.
Warum Shopify-Vollimporte bei großen Katalogen langsam sein können
Bei der Nutzung der Shopify GraphQL Admin API ist es notwendig, Ihr Punkte-Limit-Budget im Blick zu behalten. Jedes Feld, das in einem einzelnen API-Aufruf enthalten ist, verbraucht gemäß einer komplexen Formel eine bestimmte Anzahl an Punkten. Einfache skalare Werte, Enums und Objekte verbrauchen 1 Punkt pro Aufruf. Die Kosten für Connections hängen von der Anzahl der zurückgegebenen Elemente ab. Mutations (Schreibvorgänge) kosten 10 Punkte pro Aufruf.
Jeder Shop startet mit 1000 Punkten im Pool. Punkte werden mit einer konstanten Rate pro Sekunde aufgefüllt, abhängig von Ihrer Plan-Stufe. Der Shopify-Standardplan bietet eine Auffüllrate von 100 Punkten/Sek.; 200 Punkte/Sek. für den Advanced-Plan und bis zu 1000 Punkte/Sek. für Shopify Plus- oder Enterprise-Pläne.
Abhängig davon, wie viele Informationen pro Produkt in einer Bulk-Abfrage angefordert werden (Preis- und Bestandsinformationen, Metafelder, Bilder und Referenzen, Übersetzungen), kann eine einzelne Abfrage leicht 50 oder 100 Punkte verbrauchen, manchmal sogar mehr, nachdem viele Produkte in einer Abfrage gebündelt wurden. Sobald das Budget null erreicht, wird die Rate auf eine langsame Auffüllrate begrenzt. Auch wenn Shopify Punkte in einem festen Tempo zurückgibt – unabhängig davon, wie schnell die anfragende Software sie verbraucht.
So würde beispielsweise ein Shop mit 100.000 SKUs und umfangreicher Nutzung von Metafeldern viele Punkte pro Abfrage für ein einzelnes Produkt benötigen – mehr als die Auffüllrate. Die Integration ist daher gezwungen zu warten, bis sie das Punkte-Kontingent hat, um einen weiteren API-Aufruf durchführen zu können.
Wie Teil-Updates dieses Problem umgehen
Wir haben drei Teil-Update-Modi entwickelt, um die genannten Probleme zu umgehen. Während der Rest Ihrer Produktattribute bei den regulären wöchentlichen/monatlichen Importen importiert wird, ermöglichen die folgenden Teil-Updates, aktualisierte Preis- und Bestandsdaten oder neue Produkte deutlich schneller abzurufen – alle paar Stunden.
Drei Arten von Teil-Updates
Hier ist eine kurze Übersicht darüber, was in jedem Teil-Update-Modus enthalten ist:
- Preis-Updates – aktuelle Preisinformationen für alle Produkte und Varianten, einschließlich verschiedener Währungen.
- Bestands-Updates – Bestandsinformationen für alle Ihre Produkte.
- Import neu hinzugefügter Produkte – Es ist möglich, einen oder alle der aufgeführten Modi zu kombinieren. Ihre Katalogattribute bleiben bis zum nächsten geplanten Vollimport unverändert.
Es ist möglich, einen oder alle der aufgeführten Modi zu kombinieren. Ihre Katalogattribute bleiben bis zum nächsten geplanten Vollimport unverändert.
Unabhängige Zeitplanung für jeden Modus
Jeder der drei Teil-Update-Typen kann hinsichtlich der Häufigkeit unabhängig geplant werden. Hier ist ein Beispiel für einen optimalen Zeitplan:
- Vollimport – jede Nacht oder außerhalb der Spitzenzeiten einmal pro Woche;
- Teilimporte – mehrmals täglich, zum Beispiel alle paar Stunden ab früh am Morgen.
Der zeitaufwändige Teil (Datenextraktion, Abruf von Übersetzungen, Auflösen von Varianten, Bildverarbeitung) findet weiterhin wie gewohnt nachts statt. Aber Preis- und Bestandsänderungen werden innerhalb weniger Stunden in Ihre Feeds übernommen. So können Sie schnell auf Marktveränderungen reagieren und die Preise Ihrer Produkte anpassen.
Außerdem reduzieren Teil-Updates die Anzahl der API-Aufrufe, sodass Ihr Punkte-Limit-Budget eher auch für andere Apps und Integrationen ausreicht, die mit demselben Shop verbunden sind.
Der Nachteil
Teil-Updates eignen sich hervorragend, um aktualisierte Preise und Bestände abzurufen oder neu hinzugefügte Produkte zu importieren, andere Attribute bleiben jedoch bis zum nächsten Vollimport unverändert. Wenn Sie einen Metafeld-Wert geändert, einen Produkttitel bearbeitet, ein Bild ausgetauscht oder eine andere Aktion am Produkt vorgenommen haben, wird die Änderung erst mit dem nächsten Vollimport wirksam.
Dieser Ansatz passt für die meisten Shops, da Produktdetails wie Titel, Metafelder und Beschreibung nicht so häufig geändert werden wie Preise und Bestände. Und wenn Sie ein dringendes Content-Update veröffentlichen müssen, können Sie weiterhin einen Vollimport bei Bedarf erzwingen.
Was sind die Vorteile?
Einer unserer Kunden hatte Probleme damit, dass sein Shopify-Import mehr als 20 Stunden für den Abschluss benötigte. Das betraf seinen größten Shop mit mehr als 100.000 SKUs und Varianten sowie umfangreicher Nutzung von Metafeldern und Übersetzungen in mehreren Sprachen. Seit die neue Funktion verfügbar ist, konnten wir die Situation deutlich verbessern. Teilimport-Zyklen benötigen derzeit weniger als 30 Minuten.
Obwohl Kataloggrößen und generierte Feed-Ausgaben unverändert blieben, rufen Teilimporte nun kleinere Informationsmengen pro Produkt ab und ermöglichen dadurch eine höhere Anzahl an Anfragen pro Minute. Reguläre Vollimporte finden nur einmal pro Woche statt, während Preise und Bestände in kürzeren Zeitabständen aktualisiert werden.
Wer sollte diese Funktion aktivieren?
Die vorgeschlagene Funktionalität kann besonders hilfreich sein für diejenigen, die entweder:
- Große Shops (mehr als 100.000 SKUs) haben;
- Metafelder und Übersetzungen intensiv nutzen;
- Mehrere Märkte in ihrem Shopify-Shop konfiguriert haben;
- Häufige Änderungen bei Preisen oder Bestand haben.
Wenn Ihr Katalog klein genug ist, um regelmäßig innerhalb weniger Minuten importiert zu werden, werden Sie kaum einen Performance-Gewinn feststellen.
Wie schaltet man diese Funktion ein?
Melden Sie sich einfach in Ihrem Feedoptimise-Konto an. Gehen Sie zur Einrichtungsseite Ihrer Shopify-Quelle und suchen Sie die Schalter für jeden Typ des Teilimports direkt neben Ihren aktuellen Vollimport-Einstellungen. Aktivieren Sie sie, wählen Sie die gewünschten Frequenzen aus, und beim nächsten Import wird dieser im Teilmodus ausgeführt.
Und wenn Sie Hilfe bei der Konfiguration des Teilimport-Zeitplans benötigen, kontaktieren Sie uns einfach über den Support-Bereich unserer Plattform – unser Team hilft Ihnen gerne weiter.