Shopify
Partnerprogramm für Shopify
Zehn Minuten, zwei Handgriffe: ein Skript ins Theme, ein Webhook für die Bestellungen. Kein Shopify Plus nötig.
Schritt 1
Skript einbinden
Im Shopify-Adminbereich unter Onlineshop → Themes → Code bearbeiten die Datei theme.liquid öffnen und die folgende Zeile unmittelbar vor </head> einfügen:
<script
src="https://api.affleo.de/api/v1/tracking/sdk.js"
data-tenant="{{ shop.metafields.affleo.tenant_id }}"
defer
></script>Ihre Kennung finden Sie im Adminbereich unter Einstellungen → Tracking. Sie können sie auch direkt eintragen — sie ist öffentlich und erlaubt ausschließlich das Melden von Tracking-Ereignissen, keinen Zugriff auf Daten.
Schritt 2
Bestellungen melden
Unter Einstellungen → Benachrichtigungen → Webhooks zwei Webhooks anlegen:
| Ereignis | Format | Adresse |
|---|---|---|
| Bestellerstellung | JSON | https://api.affleo.de/api/v1/webhooks/shopify |
| Rückerstattung | JSON | https://api.affleo.de/api/v1/webhooks/shopify |
Der Rückerstattungs-Webhook ist nicht optional: Ohne ihn bleibt eine bereits gutgeschriebene Provision bestehen, obwohl die Ware zurückging.
Hintergrund
Wie der Code in den Checkout kommt
Shopify erlaubt kein eigenes JavaScript im Checkout — außer bei Shopify Plus. Der Empfehlungscode muss also ohne unser Zutun dorthin gelangen.
Das Skript hinterlegt ihn deshalb als Attribut am Warenkorb. Shopify überträgt Warenkorb-Attribute automatisch in die Bestellung, wo sie als note_attributes erscheinen. Der Webhook liest sie dort aus.
- 1Kunde klickt den Empfehlungslink
Code wird im Cookie gespeichert.
- 2Skript setzt das Warenkorb-Attribut
Über
/cart/update.js. Wird bei jedem Seitenaufruf erneuert, weil Themes den Warenkorb per AJAX ersetzen und dabei mitunter leeren. - 3Shopify übernimmt es in die Bestellung
Ohne Zutun, auch auf der Checkout-Domain.
- 4Webhook meldet die Bestellung
Affleo liest das Attribut, ordnet den Partner zu und berechnet die Provision.
Zusätzlich meldet das Skript die Bestellung von der Bestätigungsseite. Beide Wege sind abgesichert: Dieselbe Bestellnummer erzeugt nie zwei Provisionen.
Prüfen
Funktioniert es?
Einen Empfehlungslink im Browser öffnen, dann in der Entwicklerkonsole:
affleo.debug()
// { tenantId: "…", reference: { referralCode: "ANNA10", … }, shopify: true }Zeigt reference den erwarteten Code und shopify: true, ist die Einbindung vollständig. Danach einen Artikel in den Warenkorb legen und prüfen:
fetch('/cart.js').then(r => r.json()).then(c => console.log(c.attributes))
// { __affleo_ref: "ANNA10", __affleo_click: "…" }Weitere Integrationen →