Idempotente Postbacks: warum Finance-Teams Doppelzählung ernst nehmen
Ein Postback, das man gefahrlos wiederholen kann, ist der Unterschied zwischen einer Zahl, die Finance unterschreibt, und einer Zahl, über die Finance streitet. Was idempotent bedeutet, warum Betreiber dasselbe Event mehr als einmal senden, und was Affiliates in der Wallet sehen sollten, wenn sie es tun.

Finance-Teams hassen Postbacks nicht. Sie hassen Summen, die sie nicht nachspielen können. Kann dieselbe Ersteinzahlung zweimal erscheinen, weil ein Request in Timeout gegangen und noch einmal gesendet wurde, lässt sich der Monat nicht schließen. Jemand verbringt den Freitagnachmittag mit zwei CSVs und einem Textmarker. Idempotente Postbacks sind, wie dieser Freitag ausfällt.
Das ist ein Text über Fähigkeiten. AFFILIFY zählt eine Conversion einmal, auch wenn der Betreiber sie mehr als einmal sendet. Wie wir das Duplikat erkennen, ist keine öffentliche Checkliste. Was Sie wissen müssen, ist die Form des Problems, was im Request stehen muss und was die Affiliate-Wallet tun soll, wenn ein Retry landet.
Wollen Sie das größere Tracking-Bild, ist Postbacks gegen Pixel gegen Image-Tags der Vergleich. Das hier ist die Finance-Seite von S2S.
Was idempotent hier bedeutet
Idempotent heißt, Sie können dasselbe Event zweimal anwenden und das gespeicherte Ergebnis ändert sich nicht. Senden Sie FTD #84102. Senden Sie ihn noch einmal, weil Ihre Queue den 200 nicht gesehen hat. Es gibt weiter einen FTD. Es gibt weiter eine Provision. Der zweite Request ist kein Fehler und kein zweiter Spieler.
Das Gegenteil ist ein Zähler, der bei jedem HTTP-Request hochzählt. Dieser Zähler wird mit Ihrem Retry-Log übereinstimmen. Er wird nicht mit der Spielerdatenbank des Betreibers übereinstimmen, und nicht mit dem Affiliate, der nur einen Menschen geschickt hat.
Retries sind kein Bug. Netze fallen aus. Load Balancer laufen in Timeout. Ein 200 geht verloren. Eine ernsthafte Integration behandelt „senden, bis bestätigt“ als den Normalfall, und das ist nur sicher, wenn der Empfänger das Duplikat schlucken kann. Das ist die ganze Produktanforderung.

Was Betreiber senden sollten
Sie haben schon eine Click-ID. Sie haben schon einen Event-Typ: Registrierung, FTD, Einzahlung, und was der Deal sonst braucht. Senden Sie einen stabilen Identifikator für dieses Event, damit ein Retry dasselbe Objekt ist und kein neues. Die genauen Feldnamen stehen in der Postback-Dokumentation, nicht hier.
Drei Regeln retten den Monatsabschluss.
Wiederholen Sie dieselbe Payload. Inkrementieren Sie keinen Nonce, prägen Sie keine neue Event-ID, „reparieren“ Sie ein Timeout nicht, indem Sie FTD-2 senden. Der zweite Send sollte der erste Send noch einmal sein.
Nutzen Sie HTTP-Erfolg nicht als einziges Ledger. Ihre Seite sollte „wir wollten FTD #84102 senden“ vor dem Request festhalten, und „sie haben FTD #84102 bestätigt“ danach. Halten Sie nur den Request fest, sieht ein Timeout wie ein Loch aus, und Sie senden ein anderes Event, um es zu füllen.
NGR ist eine Periode, kein Ping. Ein Einzahlungs-Event kann pro Einzahlung idempotent sein. Eine monatliche NGR-Zahl ist eine Aussage über eine Spanne von Daten. Senden Sie sie als Aussage über diese Spanne, nicht als Strom winziger Inkremente, von denen Sie hoffen, dass sie sich addieren. NGR und negativer Übertrag ist die Affiliate-Fassung, warum diese Abzüge stabil sein müssen.
Pixel können das nicht gut. Ein Pixel, das im Browser zweimal feuert, sind zwei Feuer. Image-Tags ebenso. S2S ist 2026 der Standard, weil es das einzige der drei ist, das ein Finance-Team nachspielen kann, ohne die Nerven zu verlieren. Das ist der Fähigkeitsanspruch in Postbacks gegen Pixel.
Was Affiliates sehen sollten
Ein Spieler, ein FTD, eine CPA-Zeile. Öffnen Sie die Conversion, sollten Sie die Marke, den Klick, die GEO, die Sub-IDs, den Zeitstempel sehen. Sie sollten keinen Zwilling sehen.
Wird eine Einzahlung später storniert, ist das ein anderes Event, kein Duplikat. Chargebacks, Bonusmissbrauch, eine abgebrochene Zahlung: die landen als Anpassungen, sie können Geld zurückhalten, und sie können eine ausstehende Provision zurückziehen. Sie sind keine Retries. So funktionieren Auszahlungen deckt ausstehend, verfügbar, zurückgehalten und in Prüfung ab. Auszahlungen selbst werden auf dem Weg hinaus einmal gezählt, aus demselben Grund, aus dem Postbacks auf dem Weg herein einmal gezählt werden.
Wenn etwas verdoppelt aussieht, starten Sie nicht in der Wallet. Starten Sie am Link. Eine kaputte Click-ID erzeugt fehlende Conversions, keine Extra-Conversions. Prüfen Sie den Tracking-Link zuerst. Schauen Sie dann, ob zwei Landings, zwei Sub-IDs oder zwei Marken zwei echte Klicks erzeugt haben. Zwei echte Klicks von einem Menschen können zwei Events sein. Das ist keine Doppelzählung. Das sind zwei Klicks.
Warum das für Betreiber ein Verkaufsargument ist
Ein Affiliate-Programm, das doppelt zählt, zahlt zu viel, holt zurück, und verbraucht die Beziehung. Ein Affiliate-Programm, das Retries fallen lässt, zählt zu wenig, streitet, und verbraucht die Beziehung in die andere Richtung. Idempotentes S2S ist die langweilige dritte Option: senden, noch einmal senden wenn nötig, die Summe bewegt sich nicht.
Es ist auch der Grund, warum AFFILIFY eine Conversion als Zeile zeigen kann statt als Eimer. Die Zeile ist das Event. Ein Retry lässt die Summe, wo sie war.
Auf der Affiliate-Seite ist dieselbe Regel der Grund, warum der 15. schließen kann. Ausstehendes wird verfügbar auf einer Summe, die sich nicht ändert, weil eine Queue um 14:58 aufgeholt hat. KYC bleibt das Tor vor der Auszahlung. Das Level zählt qualifizierende Einzahlungen weiter einmal. Nichts davon funktioniert, wenn der FTD selbst ein Münzwurf gegen das Retry-Log ist.
Wenn Sie das als Betreiber verdrahten, starten Sie bei den Docs, nutzen Sie Ihren eigenen Klick-Parameter und behandeln Sie „senden, bis bestätigt“ als normal. Wenn Sie Affiliate sind, sollten Sie nie darüber nachdenken müssen, und das ist der Punkt. Wenn Sie doch darüber nachdenken müssen, sendet etwas stromaufwärts zwei verschiedene Events und nennt sie eines. Das ist ein Integrationsbug, kein Retry.
Häufige Fragen
Was heißt idempotent für ein Postback?
Dasselbe Event kann mehr als einmal gesendet werden und zählt nur einmal. Timeouts und Retries sind erwartet. Ein zweiter HTTP-Request ist kein zweiter FTD und keine zweite Provision. Hat sich die Payload geändert und eine neue Event-ID wurde geprägt, ist das ein neues Event, kein Retry.
Sehe ich doppelte FTDs in meiner AFFILIFY-Wallet, wenn der Betreiber retried?
Nein. Ein Retry desselben Events fügt keine zweite Zeile hinzu und keinen zweiten CPA. Sehen Sie zwei Zeilen, hatten Sie zwei Events: zwei Klicks, zwei Einzahlungen oder zwei verschiedene Event-Typen. Das lohnt sich, mit der Marke auszupacken, nicht anzunehmen, die Plattform habe doppelt gezählt.
Ist das dasselbe wie idempotente Auszahlungen?
Dieselbe Idee, andere Richtung. Eingehende Conversions zählen einmal, auch wenn sie wiederholt werden. Ausgehende Auszahlungen schreiben einmal gut, auch wenn ein Auszahlungsanbieter zweimal gefragt wird. Beides existiert, damit Finance einen Monat ohne Textmarker schließen kann. [So funktionieren Auszahlungen](/blog/how-affilify-payouts-work) ist die ausgehende Seite.
Brauchen Pixel das auch?
Pixel und Image-Tags feuern im Browser und feuern so oft, wie die Seite lädt. Sie lassen sich nicht so gefahrlos wiederholen wie ein Server-Postback. Das ist einer der Gründe, warum S2S der Standard ist und Pixel ein Fallback für Leute, die noch kein Server-Event senden können. Setzen Sie auf S2S.
