Hoe webhooks affiliate tracking aandrijven
Webhooks vormen de ruggengraat van moderne affiliate tracking voor mobiele apps. Ze verbinden je aankoopverificatieservice in realtime met je affiliateplatform, zodat elke kwalificerende aankoop zonder handmatig werk aan de juiste affiliatepartner wordt toegeschreven.
Als je de gangbare patronen voor webhookintegratie begrijpt, kun je een betrouwbare en goed onderhoudbare pipeline voor affiliate tracking bouwen.
De basisflow van webhooks
De standaardflow voor affiliate tracking via webhooks verloopt in deze volgorde:
- Een gebruiker klikt op een affiliatelink en wordt toegeschreven aan een affiliatepartner
- De gebruiker installeert de app en doet uiteindelijk een aankoop
- De app store verwerkt de betaling en informeert je aankoopverificatieservice (RevenueCat, Adapty of je directe integratie)
- Je aankoopverificatieservice stuurt een webhook-event naar Insert Affiliate
- Insert Affiliate koppelt de aankoop aan de opgeslagen affiliate-attributie
- De commissie van de affiliate wordt berekend en vastgelegd
Elke stap in deze keten is afhankelijk van webhooks die de juiste gegevens op het juiste moment aanleveren.
Overzicht van webhook-events
Een volledige integratie dekt de hele levenscyclus van een abonnement. Zo hangt elk event samen met de commissie:
| Eventtype | Wanneer het wordt verstuurd | Effect op commissie |
|---|---|---|
| Eerste aankoop | Eerste abonnement of in-app aankoop van de gebruiker | Primair attributie-event; commissie wordt bijgeschreven bij de doorverwijzende affiliate |
| Verlenging | Elke terugkerende factureringsperiode | Extra commissie wordt bijgeschreven als verlengingscommissies zijn ingesteld |
| Opzegging | Abonnee zegt toekomstige verlengingen op | Stopt toekomstige verlengingscommissies; al bijgeschreven commissies worden niet teruggedraaid |
| Terugbetaling | Aankoop wordt terugbetaald | Commissie voor die transactie wordt teruggedraaid |
| Trialconversie | Gratis proefperiode wordt een betaald abonnement | Commissie wordt bijgeschreven; dit is de trigger als je programma commissie geeft op betaalde conversie en niet op de start van de proefperiode |
Verlengingscommissies worden per event automatisch bijgeschreven en bijgehouden. Voor de uitbetaling over een periode is een goedkeuring met één klik in je Insert Affiliate dashboard nodig. Dit gebeurt niet automatisch.
Eventtypes die je moet afhandelen
Een volledige webhookintegratie verwerkt naast de eerste aankoop nog meer eventtypes:
Events voor de eerste aankoop worden verstuurd wanneer een gebruiker zijn eerste abonnement of in-app aankoop doet. Dit is het primaire conversie-event dat de affiliate-attributie activeert.
Verlengingsevents worden verstuurd telkens wanneer een abonnement wordt verlengd. Als je commissiemodel terugkerende betalingen omvat, activeren verlengingswebhooks extra commissieberekeningen.
Opzeggingsevents worden verstuurd wanneer een abonnee opzegt. Deze kunnen commissieaanpassingen activeren of toekomstige terugkerende commissies stoppen.
Terugbetalingsevents worden verstuurd wanneer een aankoop wordt terugbetaald. De meeste affiliateprogramma's vorderen commissies op terugbetaalde transacties terug, en deze webhook activeert die terugboeking.
Trialconversie-events worden verstuurd wanneer een gratis proefperiode overgaat in een betaald abonnement. Voor programma's die commissie geven op betaalde conversies is dit de echte trigger, niet de start van de proefperiode.
Webhookintegratie met RevenueCat
RevenueCat stuurt webhook-events voor alle wijzigingen in de levenscyclus van een abonnement. Zo koppel je RevenueCat aan Insert Affiliate:
- Ga in het dashboard van RevenueCat naar Integrations
- Voeg een webhook-endpoint toe dat verwijst naar de RevenueCat webhook-URL van Insert Affiliate
- Selecteer de events die je wilt doorsturen: eerste aankoop, verlenging, opzegging en betalingsproblemen
- Stel indien nodig authenticatieheaders in
RevenueCat stuurt een JSON-payload met de klant-ID, het gekochte product, het omzetbedrag en transactiemetadata. Insert Affiliate gebruikt de klant-ID om de aankoop te koppelen aan de affiliate die die gebruiker heeft doorverwezen.
Directe webhooks van App Store en Google Play
Insert Affiliate integreert ook rechtstreeks met de App Store (via Server Notifications V2) en Google Play (via Real-Time Developer Notifications). Met deze directe integraties heb je geen externe dienst voor abonnementsbeheer nodig.
Voor App Store Server Notifications stel je je App Store Connect-account zo in dat meldingen naar het endpoint van Insert Affiliate worden gestuurd. De meldingen bevatten abonnementsevents in een ondertekend JWT-formaat dat Insert Affiliate verifieert en verwerkt.
Voor Google Play stel je Real-Time Developer Notifications in via Google Cloud Pub/Sub, met het endpoint van Insert Affiliate als subscriber.
Omgaan met mislukte webhooks
Webhooks kunnen mislukken door netwerkproblemen, storingen of wijzigingen in het payloadformaat. Bouw veerkracht in je integratie:
Retry-logica: De meeste webhookproviders (waaronder RevenueCat) proberen mislukte leveringen automatisch opnieuw met exponential backoff. Zorg dat je ontvangende endpoint de juiste HTTP-statuscodes teruggeeft: 200 bij succes, 4xx bij permanente fouten en 5xx bij tijdelijke fouten die opnieuw geprobeerd moeten worden.
Idempotentie: Webhook-events kunnen meer dan eens worden afgeleverd. Je verwerkingslogica moet dubbele events netjes afhandelen door transactie-ID's te controleren voordat er commissiewijzigingen worden doorgevoerd.
Monitoring: Stel meldingen in voor mislukte webhookleveringen. Een stille fout in je webhookpipeline betekent gemiste affiliate-attributies en mogelijk onbetaalde commissies, wat het vertrouwen van affiliates aantast.
Je webhookintegratie testen
Test webhooks in een sandbox- of stagingomgeving voordat je live gaat:
- Doe sandbox-aankopen op testapparaten
- Controleer of webhook-events binnenkomen bij Insert Affiliate
- Bevestig dat de attributiekoppeling correct werkt
- Test randgevallen: terugbetalingen, verlopen proefperiodes, upgrades van abonnementen
- Controleer commissieberekeningen aan de hand van de verwachte waarden
Loop voordat je live gaat deze checklist door:
- Een eerste sandbox-aankoop verstuurt een event en schrijft de commissie bij bij de juiste affiliate
- Een gesimuleerd verlengingsevent wordt bijgeschreven (als verlengingscommissies zijn ingesteld)
- Een sandbox-terugbetaling draait de commissie voor die transactie terug
- Hetzelfde event twee keer afleveren leidt niet tot een dubbel bijgeschreven commissie (idempotentiecheck)
- Je endpoint geeft
200terug bij succes en5xxbij tijdelijke fouten, niet4xx, want dat geeft een permanente fout aan en stopt verdere pogingen
Het dashboard van Insert Affiliate toont binnenkomende webhook-events en hun verwerkingsstatus, zodat je integratieproblemen tijdens de setup eenvoudig kunt debuggen.
Best practices
Houd je webhookintegratie overzichtelijk door deze patronen te volgen: gebruik uitsluitend HTTPS-endpoints, valideer webhookhandtekeningen om spoofing te voorkomen, verwerk events asynchroon om time-outs aan de kant van de verzender te vermijden, en log alle binnenkomende events voor debugging en auditdoeleinden.
Een goed ingestelde webhookintegratie draait geruisloos op de achtergrond en schrijft elke aankoop automatisch en nauwkeurig toe aan de juiste affiliate. Alleen de laatste goedkeuring van de uitbetaling met één klik blijft voor jou over om te controleren en te versturen.
Veelgestelde vragen
Heeft Insert Affiliate RevenueCat nodig, of kan ik direct integreren? Beide opties zijn mogelijk. Insert Affiliate ondersteunt directe integratie met App Store Server Notifications V2 en Google Play Real-Time Developer Notifications, zodat je kunt koppelen zonder externe laag voor abonnementsbeheer. RevenueCat en Adapty worden ook ondersteund als je die al gebruikt.
Hoe weet Insert Affiliate welke affiliate de commissie krijgt na een aankoop? De attributie wordt gekoppeld via de shortcode van de affiliate en het bedrijfs-ID, die als metadata bij de aankoop worden meegegeven. Insert Affiliate leest die gegevens uit de binnenkomende webhook-payload en schrijft de commissie bij op het account van de juiste affiliate.
Wat gebeurt er als een webhook-event meer dan eens wordt afgeleverd? Insert Affiliate verwerkt events op basis van transactie-ID's, dus dubbele leveringen leiden niet tot dubbele commissies. Je RevenueCat- of app store-integratie regelt de retry-logica aan de verzendende kant met exponential backoff.
Worden verlengingscommissies automatisch uitbetaald? Verlengingen worden bij elk verlengingsevent automatisch bijgehouden en bijgeschreven. Voor de uitbetaling is een goedkeuring met één klik in je Insert Affiliate dashboard nodig. Dit gebeurt niet automatisch, zodat je nog een controlestap hebt voordat er geld wordt verstuurd.
