Shopify

Partnerprogramm für Shopify

Zehn Minuten, zwei Handgriffe: ein Skript ins Theme, ein Webhook für die Bestellungen. Kein Shopify Plus nötig.

Weg einer Bestellung vom Klick zur ProvisionIm Shop wandert der Empfehlungscode vom Klick über den Warenkorb in die Bestellung. Das Tracking-Skript meldet den Klick, der Bestellabschluss meldet die Bestellung. Affleo ordnet zu, berechnet die Provision über alle Stufen und bucht sie mit Nachweis.IN IHREM SHOPKLICKEmpfehlung?ref=ANNA10STÖBERNWarenkorbCode bleibtKAUFBestellungSHOP-1042Tracking-SkriptBestellung meldenIN AFFLEOZUORDNUNGCode · Klick · KundeBERECHNUNGalle StufenPROVISIONgebucht, mit NachweisNur die beiden senkrechten Pfeile werden eingebaut. Alles zwischen Zuordnung und Buchunggeschieht ohne Zutun des Shops — auch die Stufen über dem Vermittler.

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:

EreignisFormatAdresse
BestellerstellungJSONhttps://api.affleo.de/api/v1/webhooks/shopify
RückerstattungJSONhttps://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.

  1. 1
    Kunde klickt den Empfehlungslink

    Code wird im Cookie gespeichert.

  2. 2
    Skript setzt das Warenkorb-Attribut

    Über /cart/update.js. Wird bei jedem Seitenaufruf erneuert, weil Themes den Warenkorb per AJAX ersetzen und dabei mitunter leeren.

  3. 3
    Shopify übernimmt es in die Bestellung

    Ohne Zutun, auch auf der Checkout-Domain.

  4. 4
    Webhook 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 →