iOS paywall: 7 beginnersfouten die je verkoop blokkeren
Door Mehdi Azizi
Bijgewerkt op , 9 min
Paywall op het verkeerde moment, geen gratis proefperiode, geen herstelknop of ontbrekende Apple-vermeldingen: 7 iOS-paywallfouten die je verkoop blokkeren.
Waarom je iOS-paywall niet verkoopt
Je app staat in de App Store, de installaties komen binnen, en toch neemt bijna niemand een abonnement. Meestal ligt het probleem niet aan je idee of je code. Het ligt aan je iOS-paywall, het scherm dat het betaalde aanbod toont en de gebruiker vraagt om zich vast te leggen. Een paywall die op het verkeerde moment verschijnt, zonder gratis proefperiode, zonder herstelknop of zonder de vermeldingen die Apple eist, verkoopt niet. Of hij wordt afgewezen bij de review.
Dit zijn de 7 fouten die ik het vaakst zie bij een eerste app, en hoe je ze stuk voor stuk oplost. Geen wondermiddel: concrete instellingen die je kunt controleren en toepassen voordat je je app opnieuw naar Apple stuurt.
Ik publiceer zelf iOS-apps met abonnementen: Solys, een wekker met minigames, en TradaZen, een tradingsimulator, allebei gekoppeld aan RevenueCat. Bij allebei zag ik hetzelfde: veel installaties, heel weinig gestarte proefperiodes. Het product was het probleem niet. De paywall en de onboarding leidden niet duidelijk genoeg naar de proefperiode. Dat is een van de redenen waarom ik ze grondig heb herwerkt, en daar komt deze lijst vandaan.
Fout 1: de paywall te vroeg of te laat tonen
Dit is de duurste fout, en hij komt in twee richtingen voor.
Te vroeg betekent dat de paywall verschijnt voordat de gebruiker snapt wat de app doet. Hij opent de app, ziet een prijs en sluit hem. Hij heeft geen enkele reden om te betalen, want hij heeft nog niets gezien.
Te laat betekent een paywall die verstopt zit achter een knop "Premium" in de instellingen, of die pas na een paar dagen gebruik verschijnt. De meeste gebruikers zien hem nooit. En een gebruiker die je aanbod niet ziet, kan geen abonnement nemen.
Het juiste moment ligt daartussen: aan het einde van de onboarding, net nadat de gebruiker de waarde van de app heeft ervaren. Hij heeft een paar vragen beantwoord, gezien wat de app voor hem gaat doen en misschien de hoofdfunctie uitgeprobeerd. Dan heeft het aanbod zin.
Concreet:
- de onboarding stelt nuttige vragen en toont een voorproefje van het resultaat;
- de paywall komt aan het einde van dat traject, niet halverwege;
- je kunt hem later opnieuw tonen, op een moment dat de gebruiker tegen een limiet van de gratis versie aanloopt. Maak je een functie betaald die eerst gratis was, lees dan eerst de gids over guideline 3.2.2.
Fout 2: geen gratis proefperiode aanbieden
Voor een app die nog niemand kent, is meteen om geld vragen een grote stap. De gratis proefperiode maakt die stap kleiner: de gebruiker probeert zonder risico, en de betaling start pas aan het einde van de proefperiode als hij niet opzegt.
Apple voorziet dit mechanisme onder de naam introductory offer voor automatisch verlengbare abonnementen. Twee regels om te onthouden, uit Apples pagina over abonnementen:
- een klant kan maar één introductory offer per abonnementsgroep gebruiken;
- in het aankooptraject moet je duidelijk de duur van de proefperiode en de prijs na afloop ervan vermelden.
De veelgemaakte fout is een proefperiode aanbieden zonder het te zeggen. Staat er op je knop alleen "Abonneren", dan weet de gebruiker niet dat hij gratis kan proberen. Schrijf het voluit op de knop of er direct boven: duur van de proefperiode, dan de prijs. Precies dit soort details maakt het verschil tussen installaties die niets doen en proefperiodes die starten.
Fout 3: het jaarabonnement slecht naar voren brengen
Veel eerste apps bieden een maand- en een jaarabonnement aan, maar tonen ze als twee gelijke opties naast elkaar, zonder hiërarchie. Gevolg: de gebruiker twijfelt, en een gebruiker die twijfelt sluit vaak het scherm.
Toch heeft het jaarabonnement voordelen voor jou én voor de gebruiker: een lagere prijs per maand voor hem, een langere binding voor jou. Zo zet je het eerlijk in de verf:
- selecteer het vooraf en geef het een duidelijk andere vormgeving;
- toon het maandbedrag naast de jaarprijs, zodat de vergelijking meteen duidelijk is;
- vermeld de echte besparing ten opzichte van het maandabonnement, berekend op je echte prijzen, nooit op een verzonnen referentieprijs.
Schiet niet door naar de andere kant: de prijs die echt in rekening wordt gebracht, moet het best zichtbaar blijven. Apple eist dat de volledige verlengingsprijs duidelijk en zichtbaar wordt getoond. Een groot maandbedrag en de echte jaarprijs piepklein: dat is een misleidende paywall, en een reden voor afwijzing op grond van guideline 3.1.2.
Fout 4: de knop om aankopen te herstellen vergeten
Dit is de domste vergissing en een van de meest voorkomende. Een abonnee neemt een nieuwe iPhone, installeert de app opnieuw en staat voor de paywall terwijl hij al betaalt. Zonder knop "Aankopen herstellen" kan hij op geen enkele manier zijn toegang terugkrijgen.
Dit is niet optioneel. De App Store Review Guidelines (regel 3.1.1) eisen een herstelmechanisme voor elke herstelbare in-app-aankoop, en Apples pagina over abonnementen noemt bij de onderdelen van het aanmeldscherm "een manier voor bestaande abonnees om in te loggen of hun aankopen te herstellen".
Met RevenueCat is herstellen één aanroep. Het echte werk is controleren wat er daarna gebeurt:
- de abonnee krijgt zijn toegang echt terug, zonder de app opnieuw te starten;
- een gebruiker zonder aankoop krijgt een duidelijke melding, geen technische fout;
- de knop staat zichtbaar op de paywall zelf, niet alleen in de instellingen.
Fout 5: de vermeldingen vergeten die Apple eist
Een paywall die niet duidelijk zegt wat de gebruiker gaat betalen, kan worden afgewezen. Apple beschrijft op zijn pagina over abonnementen wat er op het aanmeldscherm moet staan:
- de naam en duur van het abonnement, en wat je in die periode krijgt;
- de volledige verlengingsprijs, duidelijk getoond en gelokaliseerd in de beschikbare valuta;
- een manier om aankopen te herstellen (zie de vorige fout).
Voeg een expliciete zin toe over de automatische verlenging: het abonnement wordt verlengd zolang de gebruiker niet opzegt, en hij kan opzeggen in de instellingen van zijn Apple-account.
Dezelfde pagina zegt ook dat de app en de App Store-metadata links moeten bevatten naar de gebruiksvoorwaarden en het privacybeleid. Veel mensen ontdekken dat pas bij de afwijzing: het is niet genoeg om die links in de app te zetten, je hebt ook een samenvatting van de abonnementsvoorwaarden en die twee links nodig in de beschrijving van je App Store-pagina. Zonder die links volgt een afwijzing op grond van regel 3.1.2. Bij mijn apps met abonnementen sluit ik de beschrijving af met een kort blok: abonnementsvoorwaarden, dan een link naar de gebruiksvoorwaarden en een link naar het privacybeleid. En is je pagina vertaald, dan moet dat blok in elke taal staan.
Open je links in een browser voordat je ze plakt. Een link naar een pagina die niet bestaat, telt als een ontbrekende link.
De andere veelvoorkomende redenen voor afwijzing heb ik uitgewerkt in dit artikel over afwijzingen door Apple, en de App Store-pagina zelf heeft een eigen pagina: je App Store-pagina optimaliseren.
Fout 6: de paywall niet testen in de sandbox
Een paywall die er goed uitziet in de simulator, is nog geen paywall die werkt. Tussen de productconfiguratie in App Store Connect, de offerings in RevenueCat en de code van je app zijn er veel plekken waar een detail kan breken: een product dat verkeerd gekoppeld is, een prijs die niet laadt, een proefperiode die niet verschijnt.
Apple biedt daarvoor een testomgeving, de sandbox, met test-Apple-accounts die je aanmaakt in App Store Connect, onder "Users and Access", tabblad Sandbox. Met die accounts test je aankopen zonder dat er geld wordt afgeschreven, inclusief verlengingen, mislukte betalingen en terugbetalingen, zoals de documentatie van App Store Connect uitlegt.
Doorloop vóór elke inzending minstens dit traject op een echte iPhone:
- eerste keer openen, volledige onboarding, aankomst op de paywall;
- proefperiode starten met een testaccount;
- controleren dat de premiumtoegang echt opengaat;
- app verwijderen, opnieuw installeren, aankoop herstellen;
- correcte weergave van de paywall op de kleinste en de grootste iPhone die je ondersteunt.
De reviewer van Apple test de aankoop ook. Loopt die vast, dan volgt een afwijzing.
Fout 7: niets meten
Dit is de fout die je verhindert om alle andere op te lossen. Zonder metingen weet je niet waar gebruikers afhaken. Je ziet alleen het eindresultaat: weinig abonnees. Je weet niet of het probleem bij de onboarding, de paywall, de prijs of de proefperiode ligt.
Precies zo zag ik het probleem bij mijn eigen apps: de installaties waren er, de gestarte proefperiodes niet. Zonder die twee cijfers naast elkaar had ik weken aan iets anders kunnen sleutelen.
Plaats analytics-events bij elke belangrijke stap, bijvoorbeeld met PostHog:
- start van de onboarding;
- einde van de onboarding;
- weergave van de paywall;
- proefperiode gestart;
- aankoop of abonnement bevestigd;
- herstel gelukt.
Met die events krijg je een funnel. Je ziet bij welke stap gebruikers afhaken en weet wat je eerst moet aanpakken. RevenueCat vult het beeld aan de omzetkant aan: proefperiodes, conversies, verlengingen, opzeggingen.
Nog één tip: verander niet alles tegelijk. Pas je de prijs, de proefperiode en het ontwerp van de paywall op dezelfde dag aan, dan weet je nooit wat de cijfers heeft doen bewegen.
De paywall-checklist voor je volgende inzending
- De paywall komt aan het einde van de onboarding, na een bewijs van waarde.
- De gratis proefperiode staat er duidelijk: duur, dan de prijs na de proefperiode.
- Het jaarabonnement wordt eerlijk uitgelicht, de echt gefactureerde prijs blijft leesbaar.
- De knop "Aankopen herstellen" staat op de paywall en werkt.
- Naam, duur, verlengingsprijs en automatische verlenging worden vermeld.
- De links naar de gebruiksvoorwaarden en het privacybeleid staan in de app en in de App Store-beschrijving, in elke taal.
- Het volledige aankooptraject is getest in de sandbox op een echte iPhone.
- De analytics-events dekken elke stap, van onboarding tot aankoop.
Twijfel je nog over het model zelf, abonnement of eenmalige aankoop? Daar heb ik een aparte gids over geschreven: abonnement of eenmalige aankoop voor je eerste iOS-app. En voor het volledige technische deel, producten, RevenueCat en validatie, staat alles op de pagina in-app-abonnementen op iOS.
Je paywall bouwen met de iOS Kit
De paywall is maar één onderdeel. Hij hangt af van de onboarding ervoor, de prijs die je kiest, de App Store-pagina die gebruikers aantrekt, en de hoofdfunctie van de app, die je eenvoudig moet houden in een goed afgebakende eerste versie.
Wil je vertrekken vanaf een kant-en-klare basis? De onboarding, de paywall en de abonnementen zitten al in de startcode van de iOS Kit, en de derde stap van het traject dient om ze aan je eigen app te koppelen. Niemand kan je een inkomen garanderen.
Vóór de inzending lezen de Claude Code-skills van de Apple Review Kit je paywall en de door Apple vereiste vermeldingen na. En de homepage laat zien hoe je je mobiele app lanceert met deze paywall al gekoppeld.
Veelgestelde vragen
Welke iOS-paywallfouten blokkeren de verkoop van een eerste app?
Zeven fouten komen terug bij een eerste app: een paywall die te vroeg of te laat verschijnt, geen gratis proefperiode, een slecht uitgelicht jaarabonnement. Daarna een vergeten herstelknop, ontbrekende vermeldingen die Apple eist, een paywall die nooit in de sandbox is getest en geen enkele meting. Elke fout los je op met een concrete instelling, te controleren voor je volgende inzending bij Apple.
Wanneer toon je de paywall in een iOS-app?
Aan het einde van de onboarding, net nadat de gebruiker de waarde van de app heeft ervaren. Te vroeg, en hij ziet een prijs zonder te snappen wat de app doet. Te laat, bijvoorbeeld achter een knop "Premium" in de instellingen, en de meeste gebruikers zien hem nooit. Je kunt hem later opnieuw tonen, wanneer de gebruiker tegen een limiet van de gratis versie aanloopt.
Wat moet een iOS-paywall tonen om aan de regels van Apple te voldoen?
Apple vraagt op het aanmeldscherm de naam en duur van het abonnement, wat het oplevert, de volledige verlengingsprijs duidelijk getoond en een manier om aankopen te herstellen. Je hebt ook links nodig naar de gebruiksvoorwaarden en het privacybeleid, in de app en in de beschrijving van je App Store-pagina. Ontbreken ze in de beschrijving, dan volgt een afwijzing. Voeg een expliciete zin toe over de automatische verlenging.
Moet je een gratis proefperiode aanbieden in een iOS-app?
Ja, zeker voor een app die nog niemand kent: meteen om geld vragen is een grote stap, en met een proefperiode kan de gebruiker zonder risico testen. Apple noemt dat een introductory offer, beperkt tot één per abonnementsgroep per klant. Zet de duur van de proefperiode en daarna de prijs op de knop of er direct boven.
Hoe breng je het jaarabonnement naar voren zonder de gebruiker te misleiden?
Selecteer het jaarabonnement vooraf, geef het een duidelijk andere vormgeving en toon het maandbedrag naast de jaarprijs. Vermeld de echte besparing ten opzichte van het maandabonnement, berekend op je echte prijzen, nooit op een verzonnen referentieprijs. Verberg de echte prijs niet: een groot maandbedrag en de jaarprijs piepklein is een misleidende paywall en een reden voor afwijzing.
Hoe test je een iOS-paywall voordat je hem naar Apple stuurt?
Met de sandbox van Apple: testaccounts, aangemaakt in App Store Connect, waarmee je kunt kopen zonder dat er geld wordt afgeschreven. Doorloop op een echte iPhone het volledige traject: onboarding, proefperiode starten, premiumtoegang, dan de app verwijderen, opnieuw installeren en de aankoop herstellen. Controleer ook de weergave op de kleinste en de grootste iPhone die je ondersteunt.