Affiliate-System und S2S-Postbacks: Die genaue Zuschreibung
1) Warum das alles ist und was „genaue Attribution“ ist
Affiliates treiben Traffic und erwarten eine transparente Bezahlung für gezielte Aktionen (Registrierung/Einzahlung/Revue). Der Betreiber wünscht sich Betrugsschutz, konsistente Berichte und eine planbare Wirtschaftlichkeit. „Genaue Zuschreibung“ bedeutet:- eine eindeutige Verknüpfung von Klick → Sitzung → Ereignis (FTD/Einzahlung/Umsatz);
- deterministische Regeln (Fenster, Prioritäten, Multi-Touch);
- idempotente S2S-Postbacks und zu bohrende Berichte;
- einheitliche Währung/Zeitzone Abrechnung und verständlichen Status.
2) Auszahlungsmodelle und Schlüsseldefinitionen
CPA (Cost per Acquisition): Fix pro Ereignis (in der Regel FTD - erste Einzahlung), wenn die Bedingungen (CUS/min. Kaution/NGR> 0).
RevShare: Prozentsatz des NGR/Net Gaming Revenue des Spielers für den Zeitraum/den gesamten LTV (mit Decken/Boden).
Hybrid: CPA + RevShare.
CPL/CTR/RS-Metriken: CR zur Registrierung, CR zur FTD, ARPU/ARPPU, eCPA/eRPS.
FTD - First Time Depositor, Qualified FTD - FTD nach Fraud/Weiting.
3) Verkehrskennzeichnung: Referenzen, UTM und Sub-Parameter
Affiliate-Tracking-Link (Beispiel):
https://brand. com/track? aff_id=42&campaign_id=uk_oct&click_id={CLICK_ID}
&sub_id1={SOURCE}&sub_id2={ADGROUP}&sub_id3={CREATIVE}&t=slot-promo- 'aff _ id' ist der Partner, 'campaign _ id' ist das Angebot/Land, 'click _ id' ist die eindeutige Klickkennung (GUID/ULID), 'sub _ id1.. 5' sind die freien Felder (Quelle/Ankündigung/Creative/Platzierung/A/B).
- Erstellen Sie im Landing eine Click-Session und setzen Sie das Cookie' aff _ click _ id'(HTTP-only, same-site), parallel speichern Sie es im Server-Storage (Anti-Cookie-Loss).
4) Attributionsfenster und Prioritäten
Click-through-Fenster: 30 Tage (Registrierung/FTD).
Engagement-Fenster (nach Registrierung vor FTD): 7-14 Tage.
Prioritäten: Last-Click unter Affiliates (innerhalb des letzten Promoters), überschneidet sich aber nicht mit der direkten Markensuche nach internen Regeln (dokumentieren).
Multi-Touch: Speichern Sie die Klickkette, zahlen Sie aber nach der „Auszahlungsregel“ (z.B. Last-Click). Zeigen Sie für Analysen den Beitrag aller Berührungen an.
5) S2S-Postbacks: Veranstaltungen und Verträge
Warum S2S: Das Browserpixel ist unzuverlässig (Adblock/Browserrichtlinie). S2S-Postback → Webhook auf der Affiliate-/Tracker-Seite ohne Beteiligung des Kunden.
Ereignisse, die normalerweise gesendet werden
`registration` (sign-up)- „ftd“ (erste Einzahlung)
- „qualified _ ftd“ (nach CUS/Weiting)
- "deposit' (jede Einzahlung)
- „revenue“ (RevShare: NGR/GGR für den Zeitraum)
Beispiel S2S-Postback (HTTP POST, JSON)
POST https://aff-network. com/postback
Headers: X-Signature: sha256=ab12..., X-Timestamp: 1730000000
Body:
{
"aff_id": "42", "click_id": "clk_9f23", "event": "ftd", "user_id": "u_12345" ,//pseudonym, nicht PII
"amount_minor": 2000,  "currency": "EUR",  "market": "DE",  "ts": "2025-10-23T17:41:26Z",  "session_id": "s_77",  "sub_id1": "fb",  "sub_id2": "adg_12",  "sub_id3": "cr_88"
}Sicherheit und Idempotenz
6) Klickbindung: Wie man die Attribution nicht verliert
Bei der Registrierung: Abgleich von 'aff _ click _ id' aus der Cookie/Server-Sitzung mit 'user _ id' (+ Gerätedruck als Reserve, aber DSGVO-sensibel, nur bei Einwilligung anwenden).
Bei FTD: Suche nach der letzten gültigen Klicksitzung im Fenster; falls nicht, „organic/direct“ zurückgeben.
Dedup: Wenn zwei FTDs am selben Tag aufgrund von PSP-Retrays eingelaufen sind, zahlen wir einmal (einzigartiges FTD-Flag auf 'user _ id').
7) Anti-Fraud und Weitings
Lebensdauer: FTD → „PENDING“ -Status für 24-72 Stunden, qualifiziert nach CUS/keine Chargeback.
Signale: „Burst“ von Hosting-ASN, VPN/Proxy, High-Speed-Registrierungen, Cookie-Stuffing (Klick ohne echte Sitzung), Geo/Währung Mis-Match.
Gewichtung: CPA-Auszahlungen nach Qualitätsschwellen reduzieren (z.B. NGR <0, Retention  Liste der Ausnahmen: Marken-SEM, verbotene Quellen, Umsatzverkehr - Verbot/0-Auszahlungen. 8) Wirtschaft und Formeln NGR = GGR − Boni − Jackpots − Anbieter-Fi − PSP-Fi − Chargebacks. RevShare payout = NGR × RS% (с min/max cap). Hybrid payout = CPA + NGR × RS%. eCPA = Auszahlung/Anzahl FTD, ROI Affiliate = Auszahlung − TrafficCost. Dokumentieren Sie die Abrechnungswährung (z.B. EUR) und den täglichen FX-Kurs (ERU/Anbieter). 9) Datenschemata (vereinfacht) 10) Berichterstattung und Panels Leistung (Tag/Markt/Angebot): Klicks, Registrierungen, FTD, CR, Depositors, GGR/NGR, Auszahlungen, eCPA. Kohortenschnitt: D1/D7/D30, NGR/Einzahlungen pro Spieler, Chargebacks-Anteil. Discrepancy-Panel: Diskrepanzen zwischen Klicks/Registrierungen/FTD und Affiliate-Tracker (± X%). Fraud heatmap: ASN/Länder/Standorte mit Anomalien. 11) Berechnungsverfahren und Reconciliation 1. Täglich - rohe Ereignisse in Abschnitten (Klicks/Reg/FTD/Einlagen/NGR), Entladen von CSV/S2S. 2. Einmal im Zeitraum (Woche/Monat) - Kontoentwurf (Rechnungsentwurf) mit Entschlüsselung und Anpassungen (Chargeback/Retouren). 3. Arbitrage: Streitfenster (in der Regel 5-10 Werktage), dokumentierte Gründe für Abweichungen (Betrug, Nichtübereinstimmung mit dem Anbieter, Anteil). 4. Endkonto → Auszahlung (SEPA/SWIFT/Krypto) mit Periodenreferenz; Status „ausgegeben/bezahlt“. 5. Audit: WORM-Berichte, Signatur/Hash. 12) Datenschutz und Compliance Die Parteien brauchen keine PII: Verwenden Sie Pseudonyme ('user _ id', 'hash (email)' gegebenenfalls mit Salz). DPA mit Affiliate-Netzwerken, Angabe der Rollen (Controller/Prozessor), Aufbewahrungsfristen für Klicks/Events. Consent für Cookies/UTM; Fingerprinting - nur mit gesetzlicher Grundlage. Geo-Beschränkungen von Offices (Lizenzländer), Altersfilter. 13) API-Beispiele 13. 1. Klickregistrierung (Side-Server, optional) 13. 2. Benutzerbindung bei der Registrierung 13. 3. Postback zur Netzseite (unser „Outbound“) 14) Anti-Fallen und Vorfälle A. Cookie-Stuffing (Klickunterbrechung) Zeichen: viele Klicks ohne Session/Scroll/Zeit auf der Seite. Maßnahmen: Server-Klick-Log + Schwelle „valide Session“ (minimale Aktivität), Ignorieren der letzten Klicks bei Verdacht. B. Unterschiedliche Zeitzonen/Währungen → abweichende Berichte Maßnahmen: eine einzige berechnete TZ (z. B. UTC oder Europa/Kyiv) und Währung (EUR); Umstellung auf eine feste Kursquelle mit Tagesschnappschuss. C. Doppel-Postbacks Maßnahmen: Idempotency-Key + einzigartiger Index' event _ id', Statusmaschine' pending→acked'. D. Ein Ausbruch von Betrug von Hosting-ASN Maßnahmen: WAF/Bot Manager, Stop Offer nach Segmenten, FTD Waiting, 0-Zahlungen nach umstrittenen Quellen vor dem Verfahren. 15) Dashboards für die tägliche Arbeit Affiliate Übersicht: FTD/Depositors/NGR/Auszahlungen an die Top 10 Partner in 7/30 Tagen. Funnel: Klicks → Registrierung → KYC → FTD (CR in Schritten, Zeit bis FTD). Qualität: Hold/ARPPU/Chargeback Rate nach Anbietern. Tech Health: p95 Post-Backs Verzögerung, HMAC Fehler, Retrays, DLQ. Finanzen: Acts/Accounts, Auszahlungsstatus, Debitoren. 16) Prod Readiness Checkliste Ein zuverlässiges Affiliate-System sind deterministische Attributionsregeln, sichere S2S-Postbecks mit Idempotenz, Anti-Fraud-Konturen und strikte Reconciliation. Standardisieren Sie Linkparameter, speichern Sie Klicks und Touch-Ketten, bezahlen Sie nach einem verständlichen Modell (CPA/RevShare/Hybrid), erfassen Sie Fenster und Zeitzonen, schützen Sie Webhooks und automatisieren Sie die Rechnungsstellung. Dann haben Sie saubere Berichte, weniger Kontroversen und eine nachhaltige Einheitsökonomie für den Betreiber und die Partner.
sql
- Klicks/Sitzungen aff_clicks (
click_id text primary key,  aff_id int, campaign_id text,  sub1 text, sub2 text, sub3 text, sub4 text, sub5 text,  ts timestamptz, ip inet, asn int, ua text, landing text
);
- Bindung an den Benutzer aff_attribution (
user_id bigint primary key,  click_id text references aff_clicks(click_id),  aff_id int, campaign_id text,  attributed_at timestamptz,  window_days int, rule text -- e. g. 'last_click'
);
-- Veranstaltungen für Postbacks aff_events (
event_id uuid primary key,  user_id bigint, click_id text,  event_type text,     -- registration/ftd/deposit/revenue/adjustment amount_minor bigint, currency char(3),  ngr_minor bigint,     -- для revenue occurred_at timestamptz,  status text,       -- pending/sent/acked/failed retries int default 0
);
- Finanzbuchhaltung des Affiliate aff_payouts (
payout_id uuid primary key,  aff_id int, period month, currency char(3),  model text,        -- CPA/RevShare/Hybrid cpa_minor bigint, rs_minor bigint, adjustments_minor bigint,  total_minor bigint, status text   -- draft/issued/paid
);
http
POST /v1/aff/click
{"aff_id":42,"campaign_id":"uk_oct","click_id":"clk_9f23","sub1":"fb","sub2":"adg12"}
→ 202 {"status":"ok"}http
POST /v1/aff/attach
{"user_id":12345,"click_id":"clk_9f23","ip":"1. 2. 3. 4","ua":"..."}
→ 201 {"attributed": true, "rule":"last_click","window_days":30}http
POST https://aff. example/postback
Headers: X-Idempotency-Key: evt_7a1, X-Signature: sha256=...
Body: {"event":"ftd","click_id":"clk_9f23","amount_minor":2000,"currency":"EUR","ts":"..."}
→ 200 {"ok":true}
Zusammenfassung
