Système d'affiliation et S2S-post-Becky : l'attribut exact
1) Pourquoi c'est tout et ce qu'est « l'attribut exact »
Les affiliés amènent le trafic et attendent un paiement transparent pour les actions ciblées (inscription/dépôt/jalousie). L'opérateur veut une protection contre les frods, des rapports cohérents et une économie prévisible. « Attribut exact » signifie :- un lien sans équivoque entre la click → la session → l'événement (FTD/dépôt/recettes) ;
- les règles déterministes (fenêtres, priorités, multitaches) ;
- S2S-post-Bec idempotent et rapports vérifiables ;
- monnaie unique/temps de calcul et statuts compréhensibles.
2) Modèles de paiement et définitions clés
CPA (Cost per Acquisition) : fix par événement (habituellement FTD - premier dépôt) lorsque les conditions sont remplies (CUS/min. dépôt/NGR> 0).
RevShare : pourcentage sur le revenu de jeu NGR/Net du joueur pour la période/l'ensemble du LTV (avec plafonds/plancher).
Hybrid: CPA + RevShare.
CPL/CTR/RS métriques : CR à l'enregistrement, CR à la FTD, ARPU/ARPPU, eCPA/eRPS.
FTD - depositor de premier temps, FTD qualifié - FTD après antifrod/vapotage.
3) Marquage du trafic : Références, UTM et paramètres
Lien de suivi de l'affiliation (exemple) :
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'est un partenaire, 'campagne _ id'est un offer/pays, 'click _ id' est un identifiant de clic unique (GUID/ULID), 'sub _ id1.. 5' est un champ libre (source/annonce/création/lecture/A/B).
- Sur le terrain, créez une session de clic et définissez le cookie 'aff _ click _ id' (HTTP-only, same-site), enregistrez-le en parallèle dans le serveur (anti-cookie-loss).
4) Fenêtres d'attribution et priorités
Fenêtre click-through : 30 jours (enregistrement/FTD).
Fenêtre d'engagement (après enregistrement avant FTD) : 7-14 jours.
Priorités : last-click parmi les affiliés (au sein du dernier robot promotionnel), mais ne chevauche pas la recherche directe de marque selon les règles internes (documenter).
Multi-tach : stockez une chaîne de clics, mais payez selon la « règle de paiement » (par exemple, last-click). Pour l'analyse, montrez la contribution de toutes les touches.
5) S2S-postbacks : événements et contrats
Pourquoi S2S : le pixel du navigateur n'est pas fiable (adblock/politique du navigateur). S2S-postback → webhook sur le côté de l'affiliation/tracker sans la participation du client.
Événements qui couramment envoient
`registration` (sign-up)- 'Ftd' (premier dépôt)
- "qualified _ ftd' (après CUS/Vaiting)
- « dépôt » (chaque dépôt)
- 'Revenu '(RevPartager : NGR/GGR pour la période)
Exemple de post-Bec S2S (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" ,//alias, pas 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"
}Sécurité et idempotence
6) Lier la cabale : comment ne pas perdre l'attribution
Lors de l'inscription : mapper 'aff _ click _ id' d'une session cookie/serveur à 'user _ id' (+ l'empreinte de l'appareil en tant que réserve, mais le RGPD est sensible, n'appliquer qu'en cas de consentement).
Dans FTD : rechercher la dernière session de clic active dans la fenêtre ; sinon, retourner 'organic/direct'.
Dedup : si deux FTD sont entrés le même jour à cause de retraits PSP - nous payons une fois (drapeau FTD unique sur 'user _ id').
7) Antifrod et Waitings
Durée de vie : FTD → statut 'PENDING' pendant 24-72 heures, qualifié après le CUS/absence de chargback.
Signaux : « burst » de hosting-ASN, VPN/Proxy, taux d'inscription élevé, cookie-stuffing (clic sans session réelle), mis-match géo/monnaie.
Pondérations (weighting) : réduire les paiements de CPA selon les seuils de qualité (p. ex., NGR <0, rétention  Liste des exclusions : BOU de marque, sources interdites, trafic incent - paiements ban/0. 8) Économie et formules NGR = GGR − bonus − jackpots − fi provider − PSP fi − chargebacks. RevShare payout = NGR × RS% (с min/max cap). Hybrid payout = CPA + NGR × RS%. eCPA = Payout/colle-in FTD, ROI affiliation = Payout − TrafficCost. Documenter la monnaie de règlement (par exemple, EUR) et le taux de change quotidien FX (URE/fournisseur). 9) Schémas de données (simplifiés) 10) Rapports et panneaux Performance (jour/marché/offer) : clics, inscriptions, FTD, CR, dépositaires, GGR/NGR, paiements, eCPA. Tranche de cohorte : rétention de D1/D7/D30, NGR/dépôts par joueur, part de chargebacks. Discrepancy panel : écarts entre les clics/inscriptions/FTD et le tracker d'affiliation (± X %). Fraud heatmap : ASN/pays/sites présentant des anomalies. 11) Procédure de calcul et de reconnaissance 1. Tous les jours - événements bruts en tranches (clics/reg/FTD/dépôts/NGR), déchargement des CSV/S2S. 2. Une fois par période (semaine/mois) - projet de compte (invoice draft) avec décryptage et ajustements (chargeback/retours). 3. Arbitrage : fenêtre de controverse (généralement 5-10 jours ouvrables), causes documentées des écarts (frod, non-conformité à l'offer, incent). 4. Compte final → paiement (SEPA/SWIFT/crypto) avec le référent de la période ; les statuts 'issued/paid'. 5. Audit : rapports WORM, signature/hash. 12) Vie privée et conformité Les parties n'ont pas besoin de PII : utilisez des alias ('user _ id', 'hash (email)' si nécessaire avec du sel). DPA avec réseaux d'affiliation, spécification des rôles (controller/processor), durée de conservation des clics/événements. Consentement pour les cookies/UTM ; fingerprinting - uniquement sur une base légale. Géo-restrictions des offers (pays de licence), filtres d'âge. 13) Exemples d'API 13. 1. Enregistrement par clic (serveur-côté, facultatif) 13. 2. Lier l'utilisateur lors de l'inscription 13. 3. Postback du côté du réseau (notre « sortant ») 14) Anti-pièges et incidents A. Cookie-stuffing (coupure de clic) Signes : beaucoup de clics sans session/scroll/temps sur la page. Mesures : Serveur click-log + seuil de « session validée » (activité minimale), ignorer les derniers clics en cas de suspicion. B. Différents temps/monnaies → différences de rapports Mesures : TZ à règlement unique (par exemple UTC ou Europe/Kyiv) et monnaie (EUR) ; conversion à partir d'une source fixe de cours avec un snapshot journalier. C. Doublures de postbec Mesures : Idempotency-Key + index unique 'event _ id', machine d'état 'pending→acked'. D. Éclair de frod de l'ASN-hosting Mesures : WAF/bot manager, stop offer par segment, waiting FTD, 0 paiements pour les sources contestées avant la procédure. 15) Dashboards pour le travail quotidien Présentation de l'affiliation : FTD/dépositaires/NGR/paiements des 10 meilleurs partenaires en 7/30 jours. Funnel : clics → enregistrement → KYC → FTD (CR par étapes, temps avant FTD). Qualité : taux de rétention/ARPPU/chargeback par offer. Tech Health : retard des postbacks p95, erreur HMAC, rétroaction, DLQ. Finances : actes/comptes, état des paiements, créances. 16) Chèque-liste de préparation Un système d'affiliation fiable est des règles d'attribution déterministes, des S2S sécurisés avec idempotence, des contours antifrod et une reconnaissance stricte. Normalisez les paramètres de référence, stockez les clics et les chaînes de touches, payez selon un modèle compréhensible (CPA/RevShare/Hybride), fixez les fenêtres et les temporisations, protégez les webhooks et automatisez la facturation. Alors vous aurez des rapports propres, moins de controverses et une économie unitaire durable pour l'opérateur et les partenaires.
sql
-- Clics/sessions 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
);
-- Référence à l'utilisateur 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'
);
-- Événements pour les post-BEC 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
);
- Comptabilité financière de l'affiliation 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}
Résumé
