Cross-platform validatie van in-app aankopen met affiliate-attributie

Cross-platform validatie van in-app aankopen met affiliate-attributie

Zo valideer je in-app aankopen op iOS en Android en behoud je tegelijk nauwkeurige affiliate-attributie. Technische integratiepatronen.

De cross-platform uitdaging

De meeste mobiele apps verschijnen op zowel iOS als Android, maar elk platform gaat anders om met in-app aankopen. Apple gebruikt StoreKit en App Store Server Notifications. Google gebruikt de Billing Library en Real-Time Developer Notifications. Om aankopen te valideren en affiliate-attributie op beide platforms te behouden, heb je een uniforme aanpak nodig.

Waarom cross-platform validatie belangrijk is

Zonder uniforme aankoopvalidatie loop je tegen verschillende problemen aan:

  • Affiliate-conversies op één platform kunnen worden gemist of verkeerd geteld
  • Commissieberekeningen kunnen per platform verschillen
  • Je rapportages tonen versnipperde data die moeilijk te analyseren is
  • Gebruikers die tussen het klikken op een affiliatelink en het doen van een aankoop van apparaat wisselen, kunnen hun attributie kwijtraken

Een uniforme validatielaag lost deze problemen op door één bron van waarheid te bieden voor alle aankopen, ongeacht het platform.

De aanpak met abonnementsbeheer

De eenvoudigste manier om cross-platform validatie te regelen is via een dienst voor abonnementsbeheer zoals RevenueCat of Adapty. Deze diensten:

  1. Bieden één SDK die op zowel iOS als Android werkt
  2. Valideren receipts bij de servers van zowel Apple als Google
  3. Normaliseren aankoopevents naar een uniform formaat
  4. Sturen webhook-events voor alle wijzigingen in de levenscyclus van een abonnement

Insert Affiliate ontvangt deze genormaliseerde webhook-events en koppelt ze aan affiliate-attributies, ongeacht welk platform de daadwerkelijke betaling heeft verwerkt.

Met deze architectuur schrijf je de code voor het afhandelen van aankopen maar één keer (via de SDK voor abonnementsbeheer) en werkt affiliate tracking automatisch op beide platforms.

De aanpak met directe store-integratie

Als je liever geen externe dienst voor abonnementsbeheer gebruikt, integreert Insert Affiliate ook direct met zowel App Store Server Notifications (V2) als Google Play Real-Time Developer Notifications.

Voor iOS: Stel App Store Server Notifications zo in dat ze events naar het endpoint van Insert Affiliate sturen. De notificaties bevatten transactiedata in ondertekende JWT's die Insert Affiliate verifieert en verwerkt.

Voor Android: Stel Google Cloud Pub/Sub zo in dat Real-Time Developer Notifications worden doorgestuurd naar Insert Affiliate. De notificaties bevatten wijzigingen in de status van abonnementen en aankopen.

Met directe integratie verwerkt je app aankopen native op elk platform, terwijl Insert Affiliate de laag voor affiliate-attributie afhandelt.

Attributie behouden over platforms heen

De grootste uitdaging is het koppelen van de klik op de affiliatelink aan de uiteindelijke aankoop wanneer deze events op verschillende platforms plaatsvinden:

Scenario 1 (hetzelfde apparaat): De gebruiker klikt op een affiliatelink op zijn iPhone, installeert de app via de App Store en doet een aankoop. Dit is de standaardflow en de attributie werkt via de deeplinking en SDK van Insert Affiliate.

Scenario 2 (web naar app): De gebruiker klikt op een affiliatelink in een desktopbrowser en installeert de app later op zijn telefoon. De deferred deeplinking van Insert Affiliate regelt dit door de attributie server-side op te slaan en te koppelen zodra de gebruiker een account aanmaakt.

Scenario 3 (cross-device): De gebruiker klikt op een affiliatelink op het ene apparaat en doet een aankoop op een ander apparaat. Attributie op accountniveau regelt dit: wanneer de gebruiker inlogt op het apparaat waarmee hij koopt, koppelt de opgeslagen attributie de aankoop aan de oorspronkelijke affiliate.

Omgaan met verschillende soorten aankopen

Verschillende soorten aankopen vragen om verschillende validatiemethoden:

Automatisch verlengende abonnementen: Beide platforms sturen servernotificaties voor eerste aankopen, verlengingen, opzeggingen en nieuwe betaalpogingen. Deze zijn het eenvoudigst te volgen, omdat het platform je op de hoogte brengt van elke statuswijziging.

Verbruiksaankopen (consumables): Op geen van beide platforms worden servernotificaties verstuurd voor consumables. Je app moet de receipt op het moment van aankoop valideren en het event via de SDK aan Insert Affiliate doorgeven.

Niet-verbruiksaankopen (non-consumables): Vergelijkbaar met consumables: valideer op het moment van aankoop en geef het door via de SDK.

Cross-platform testen

Test de volledige flow op beide platforms afzonderlijk:

  1. Klik op een test-affiliatelink op elk platform
  2. Rond sandbox-aankopen af op elk platform
  3. Controleer of de attributie correct verschijnt in het dashboard van Insert Affiliate
  4. Bevestig dat webhook-events van beide platforms worden ontvangen en verwerkt
  5. Controleer of commissieberekeningen consistent zijn over de platforms heen

Er bestaan sandbox-omgevingen voor zowel Apple (App Store sandbox) als Google (testtracks in Google Play Console). Gebruik ze uitgebreid voordat je live gaat.

Best practices

Gebruik een dienst voor abonnementsbeheer, tenzij je een specifieke reden hebt om dat niet te doen. De technische kosten van het onderhouden van directe integraties met de API's van zowel Apple als Google zijn aanzienlijk en blijvend, omdat beide platforms hun systemen steeds bijwerken.

Welke aanpak je ook kiest, zorg ervoor dat alle aankoopevents via één attributiesysteem (Insert Affiliate) lopen, zodat je rapportages uniform en nauwkeurig zijn over alle platforms heen.

Reacties

Klaar om je app te laten groeien met affiliate marketing?

Sluit je aan bij honderden app-ontwikkelaars die al in-app aankopen via affiliates tracken en hun partners belonen.