Skip to main content

Überblick

Upcart ist eine von Aftersell getrennte App, daher sind Strategies nicht so in das Upsells-Modul integriert wie in die Post-Purchase- und Checkout-Flows von Aftersell. Stattdessen verbindest du die beiden Apps mit einem kleinen Skript, das die Strategies-API direkt aufruft und das Ergebnis über die öffentliche API von Upcart in das bestehende Upsells-Modul von Upcart einspeist. Das Skript ist direkt einsetzbar – füge es einmal in das benutzerdefinierte HTML von Upcart ein, ersetze zwei Werte (deinen Strategy-API-Schlüssel und die Strategy-ID), und das Upsells-Modul zeigt fortan die Produkte an, die die Strategy zurückgibt.

Was du benötigst

  1. Deinen Strategy-API-Schlüssel. Gehe in Aftersell zu Settings → Product Strategy und kopiere in der Karte Security Token deinen Token (das ist dein Strategy-API-Schlüssel).
  2. Die Strategy-ID. Öffne die Strategy, die du ausführen möchtest, im Aftersell-Strategy-Editor und kopiere ihre ID.
  3. Das aktivierte Upsells-Modul in Upcart. Das Skript überschreibt die Liste der im bestehenden Upsell-Block angezeigten Produkte. Das Modul muss also aktiviert sein, damit überhaupt etwas gerendert wird.

Das Skript hinzufügen

Gehe in Upcart zu Settings → Custom HTML → Scripts (before load) und füge das folgende Skript ein. Ersetze STRATEGY_ID und STRATEGY_API_KEY durch die Werte aus Aftersell und speichere dann.
Dein Strategy-API-Schlüssel autorisiert Aufrufe der Strategies deines Shops. Das obige Skript platziert ihn in clientseitigem Code, was der einzige praktikable Weg ist, die API aus dem Cart Drawer aufzurufen. Behandle den Schlüssel wie jedes andere öffentliche Storefront-Zugangsdatum und rotiere ihn in Aftersell unter Settings → Product Strategy, falls er jemals auf unbeabsichtigte Weise offengelegt wird.

Was die Strategy sieht

Da dies aus dem Storefront-Warenkorb heraus läuft, ist der Kontext eine schlanke Teilmenge dessen, was auf den nativen Oberflächen von Aftersell verfügbar ist:

Produkt-Kontext

Die aktuell im Upcart-Warenkorb befindlichen Positionen werden als Eingabeprodukte gesendet. Trigger wie product type, vendor, product handle, product title und alle product ID / variant ID-Trigger werden anhand dieser Artikel ausgewertet.

Warenkorb-Kontext

  • Subtotal – Zwischensumme des Warenkorbs in den Haupteinheiten der Store-Währung (z. B. Dollar). Upcarts total_price ist in Untereinheiten (Cent) angegeben, daher teilt das Skript durch 100, um den Einheiten zu entsprechen, die der Rest der Strategies-API verwendet – und in denen deine cart_subtotal-Regeln verfasst sind.
  • Item count – Gesamtmenge über alle Positionen.
  • Line count – Anzahl der unterschiedlichen Positionen.

Session-Kontext

  • Währungscode – wird aus window.Shopify.currency.active gelesen.
Kunden-Trigger und UTM-Trigger greifen nicht. Das Standardskript sendet keine Kunden-Tags, Bestellanzahl, Standort- oder UTM-Parameter – Regeln, die diese Trigger verwenden, werden also nie ausgelöst. Verwende Produkt-, Warenkorb- und Währungs-Trigger oder einen Catch all, um sicherzustellen, dass immer etwas zurückgegeben wird.

Was passiert, wenn die Strategy ein Ergebnis liefert

Die von der Strategy zurückgegebenen Produkte ersetzen die Liste, die Upcart andernfalls im Upsells-Modul anzeigen würde, vollständig. Die vom Händler definierte Upsell-Liste wird für die Dauer dieses Warenkorbs überschrieben – sie wird nicht zusammengeführt. Jedes Strategy-Produkt wird in das von Upcart erwartete Produktformat abgebildet (Varianten, Bilder, Optionen, Metafelder usw.), sodass es im Upsell-Block genau wie jedes andere Produkt gerendert wird.

Wenn kein Produkt zurückgegeben wird

Wenn die Strategy keine Produkte zurückgibt, rendert das Upsells-Modul leer – es werden keine Upsells angezeigt. Um das zu vermeiden, konfiguriere in der Strategy einen Catch all, sodass immer ein Fallback-Produkt zurückgegeben werden kann. Wie du einen Catch all einrichtest, erfährst du auf der Seite Strategies erstellen.

Neuauswertung bei Warenkorbänderungen

Anders als bei Checkout-Upsells wertet die Upcart-Implementierung die Strategy bei jeder Warenkorbänderung neu aus – wenn Artikel hinzugefügt, entfernt oder Mengen aktualisiert werden. Das Skript abonniert das cartUpdated-Event von Upcart, sendet den neuen Warenkorb an die Strategies-API und aktualisiert den Cart Drawer mit der neuen Upsell-Liste. Eine Warenkorbsignatur-Prüfung überspringt redundante Aufrufe, wenn sich Positionen und Mengen nicht tatsächlich geändert haben. Aufeinanderfolgende Warenkorb-Events, die den Warenkorb nicht wesentlich verändern, treffen die API also nicht erneut.

Tipps für Upcart-Strategies

  • Baue auf dem Warenkorb auf. Warenkorbmerkmale und Produkt-Trigger sind hier die stärksten Signale, die du hast. Kundenhistorie und UTM-basiertes Targeting werden vom Standardskript nicht gesendet.
  • Nutze Catch all als Sicherheitsnetz. Ohne Catch all zeigt das Upsells-Modul nichts an, wenn keine Regel greift.
  • Standardmäßig cache-freundlich. Die Warenkorbsignatur-Absicherung verhindert erneute API-Aufrufe, wenn sich der Warenkorb nicht wesentlich geändert hat – gut für Käufer, die den Warenkorb öffnen und schließen, ohne ihn zu bearbeiten.