Rekomi Docs
Für Marken
Brands

Tracking und Attribution

Cookie-Laufzeiten, Erster Klick oder Letzter Klick, Provisions-Tracking und was als Verkauf zählt.

Diese Seite erklärt, wie Rekomi entscheidet, welchem Affiliate ein Verkauf gutgeschrieben wird, wann diese Gutschrift auszahlbar wird und wie Erstattungen sie rückgängig machen.

So funktioniert das Tracking heute

Jeder Affiliate hat einen Empfehlungs-Slug (gemeinsam für alle Kampagnen, an denen er teilnimmt). Er hängt ihn als ?via={slug} an Links zu deiner Website an, zum Beispiel https://yourbrand.com/?via=abc123. Landet ein Besucher mit diesem Parameter, erfasst das Tracking-Skript (oder die S2S-API) den Klick und ordnet ihn diesem Affiliate zu.

Die Attribution läuft auf drei Wegen: Das Installations-Snippet auf deiner Website liest ?via={slug} aus und setzt ein First-Party-Cookie (über deine eigene Domain); oder dein Backend ruft die S2S-Tracking-API auf und teilt Rekomi mit: „Dieser Kunde wurde von Slug X vermittelt“; oder bei beehiiv, Kit, MailerLite, Ontraport und GoHighLevel liest die Plattformverbindung unter Integrationen das Tag aus, das die Plattform bei der Anmeldung am Kunden gespeichert hat (die Links von Rekomi tragen es als utm_source=rekomi&utm_campaign={slug}), wenn ein Verkauf eintrifft, für den auf keinem anderen Weg ein Affiliate genannt ist. Egal auf welchem Weg: Gutgeschrieben wird immer demselben Affiliate.

Die Einstellungsseite für die Attribution mit den 21 erkannten Parametern für Affiliate-Links und der Konfiguration eigener Parameter

cookieWindowDays legt pro Kampagne fest, wie lange die Attribution eines Affiliates nach dem ersten Kontakt bestehen bleibt. Standard sind 60 Tage. Übliche Bereiche:

  • 30 Tage: Produkte mit kurzem Kaufzyklus und schneller Conversion (Spontankäufe, Wechsel von kostenlos zu bezahlt).
  • 60 Tage: mittlere Bedenkzeit (die meisten SaaS-Produkte).
  • 90 Tage: längere Verkaufszyklen im Enterprise-Geschäft, hochpreisige Kurse.
  • 180 Tage: sehr lange Bedenkzeit (Produkte nur mit Jahresabo, Enterprise).

Je länger die Laufzeit, desto größer das Risiko, dass Provisionen, die sie gutschreibt, später durch Erstattungen wieder wegfallen.

Attributionsmodell

attributionModel bestimmt, welcher Affiliate gewinnt, wenn mehrere denselben Besucher innerhalb der Laufzeit vermittelt haben.

  • FirstTouch (Erster Klick): Der Affiliate mit dem ersten erfassten Klick innerhalb der Laufzeit bekommt die Gutschrift. Das belohnt den Affiliate, der das Produkt vorgestellt hat.
  • LastTouch (Letzter Klick, Standard): Der Affiliate mit dem letzten erfassten Klick vor dem Verkauf bekommt die Gutschrift. Das belohnt den Affiliate, der den Abschluss gebracht hat.

Standard ist LastTouch: Gutgeschrieben wird dem Affiliate, der den letzten Klick vor dem Kauf gebracht hat. Stell eine Kampagne auf FirstTouch um, wenn du den Affiliate belohnen willst, der den Kunden als Erster gebracht hat; manche Abo-Marken bevorzugen das.

Was als Verkauf zählt

Ein Verkauf ist jedes Stripe-Ereignis, aus dem eine Provision entsteht. Am häufigsten ist das eine bezahlte Rechnung (invoice.paid). Bei Kampagnen mit Provision pro Verkauf und wiederkehrender Umsatzbeteiligung erzeugt jede bezahlte Rechnung einen Verkauf. Setzt du recurringDelayInvoices, bringen die ersten N Verlängerungsrechnungen gar keine Provision; Provisionen beginnen erst nach dieser Verzögerung.

Verkäufe durchlaufen diese Status:

  1. Ausstehend (Pending): Die Rechnung ist bezahlt und befindet sich in der Haltefrist für Erstattungen (eine Einstellung auf Organisationsebene, standardmäßig 30 Tage). Nach Ablauf der Frist ist die Provision auszahlbar; der Verkauf bleibt Ausstehend, der Status springt nicht automatisch um.
  2. Freigegeben (Approved): manuell freigegeben. Freigegebene Verkäufe und ausstehende Verkäufe nach Ablauf der Haltefrist sind beide auszahlbar.
  3. Ausgezahlt (Paid): in einem Auszahlungslauf enthalten und auf das Stripe-Express-Konto des Affiliates überwiesen.
  4. Erstattet (Refunded): Stripe hat dem Kunden den Betrag erstattet; die Provision wird storniert.
  5. Invalidiert (Invalidated): als ungültiger Traffic in Quarantäne, automatisch bei einem markierten Klick oder Lead oder von Hand bei jeder Zeile, die noch in der Wartefrist ist. War es ein Fehlalarm, gibst du den Verkauf auf der Seite Conversions wieder frei.
  6. Abgewiesen (Denied): ein abgewiesener Verkauf (selten; meist nur bei strittigen Verkäufen).

Im Dashboard sind deine manuellen Aktionen für eine Conversion Validieren und Invalidieren, beide auf der Seite Conversions.

Kostenlose Anmeldungen und Leads

Nicht jede Anmeldung ist am ersten Tag ein bezahlter Verkauf. Ein Lead ist eine kostenlose, identifizierte Anmeldung, die dem vermittelnden Affiliate zugeordnet und vor jeder Zahlung erfasst wird. Das bringt dir zwei Dinge:

  • Du siehst, welcher Affiliate eine kostenlose Anmeldung gebracht hat, nicht nur die bezahlten. Dein Funnel liest sich also: Besucher, dann kostenlose Anmeldung, dann Verkauf.
  • Wechselt dieser kostenlose Nutzer später in einen bezahlten Plan, wird der Verkauf über die E-Mail-Adresse demselben Affiliate gutgeschrieben, selbst wenn das Klick-Cookie in der Zwischenzeit gelöscht, blockiert oder abgelaufen ist. Leads bleiben 90 Tage lang zuordenbar.

Ein Anmelde-Lead bringt allein nie eine Provision; die Provision entsteht weiterhin, wenn der bezahlte Verkauf eingeht (ein qualifizierter Lead in einer Kampagne, die pro Lead zahlt, ist eine eigene Zeile mit eigener Provision, siehe Pro Klick oder Lead bezahlen). Der Lead ist nur die dauerhafte Verbindung zwischen der kostenlosen Anmeldung und dem späteren Upgrade.

Bei Zahlungsanbietern, die vor der Zahlung einen Webhook für Kunde oder Abonnement senden (Stripe, Paddle, Recurly, Chargebee, Creem), werden Leads automatisch erfasst. Für das Lead-Tracking musst du nichts einrichten: Abo-Anmeldungen, kostenlose Testphasen und vollständig rabattierte Anmeldungen (Gutschein über 100%) werden direkt aus den Webhooks deines Zahlungsanbieters, die du ohnehin bekommst, zu Leads, ohne zusätzlichen Code auf deiner Website.

Anmeldungen für einen kostenlosen Plan oder ein Freemium-Modell brauchen eine Codezeile. Wenn die Anmeldung für deine kostenlose Stufe kein Abonnement und keinen Kunden bei Stripe oder Paddle anlegt, gibt es kein Ereignis des Zahlungsanbieters, aus dem ein Lead werden könnte. Dann ruft dein Anmeldecode beim Anlegen des Kontos Rekomi.convert({ email }) auf. Übergib dieselbe E-Mail-Adresse, mit der der Kunde später bezahlt; nur so kann ein späteres bezahltes Upgrade dem Lead zugeordnet und dem Affiliate gutgeschrieben werden. Derselbe einzeilige Aufruf deckt Braintree und Shopify ab, die keinen Webhook vor der Zahlung haben.

Den genauen Code, die Details zum E-Mail-Abgleich und die Server-zu-Server-Variante findest du unter Leads und Anmeldungen tracken.

Attribution mit Blick auf Erstattungen

Wenn Stripe einen Webhook charge.refunded sendet, macht Rekomi Folgendes:

  1. Es holt die Provision anteilig zur Erstattung zurück. Eine Erstattung von 40% bei einem Verkauf über $100 mit $20 Provision storniert $8, nicht die vollen $20.
  2. Es wiederholt das für jede Teilerstattung dieses Verkaufs, jede holt ihren Anteil zurück, bis die Erstattungen zusammen den vollen Verkaufsbetrag erreichen.
  3. Es setzt den Verkauf erst dann auf Status = Refunded, wenn die Erstattungen insgesamt den ganzen ursprünglichen Betrag abdecken. Bis dahin behält der Verkauf seinen bisherigen Status, und die verbleibende Provision bleibt auszahlbar.
  4. Kommt eine Rückforderung erst, nachdem die Provision schon ausgezahlt wurde (selten bei der standardmäßigen Haltefrist von 30 Tagen), schuldet der Affiliate den erstatteten Anteil, und seine nächste Auszahlung zieht ihn automatisch ab. Du kannst diese Provision auch sofort auf der Detailseite der Auszahlung (Auszahlungen > Bezahlt) über Stripe zurückbuchen; doppelt gezählt wird dabei nie. Siehe Erstattungen nach einer Auszahlung.

Eine Ausnahme: Bei Gumroad löst eine Teilerstattung keine automatische Rückforderung aus (eine vollständige Erstattung schon).

Eine Kündigung des Abonnements (customer.subscription.deleted) funktioniert anders: Rekomi erfasst eine Kündigungsmarkierung, und künftige Verlängerungsrechnungen bleiben aus. Es entstehen also keine neuen Provisionen, bereits verdiente Provisionen werden aber nicht storniert. Nur Erstattungen und Rückbuchungen stornieren Provisionen.

Das passiert automatisch. Einen Button „als erstattet markieren“ gibt es im Dashboard derzeit nicht, denn Stripe ist die maßgebliche Quelle.

S2S-Tracking für Ereignisse außerhalb von Stripe

Wenn du Verkäufe hast, die nicht über Stripe laufen (Käufe in mobilen Apps, serverseitige Testphasen, eigene Ereignisse), nutze die S2S-Tracking-API. Sie nimmt einen POST mit einer externalEventId für die Idempotenz, einem affiliateSlug, einem amountCents und einer currency an. Die Anfragen sind per HMAC signiert und werden pro Organisation dedupliziert.