İlk 5 saniye bir uygulamanın kaderini belirliyor. Kullanıcı onboarding’te “bu ne olacak?” sorusuna cevap bulamazsa uygulamayı silip gidiyor. Day-1 retention %60 kaybediliyor genellikle, bunu %40’a çekmek değerli.
12 iOS uygulamamda farklı onboarding pattern’ları denedim. A/B testing ile görünen farklar dramatic. Bu yazıda öğrendiklerim.
Day-0 vs Day-1 retention
Metric’leri anlamak şart:
- Day-0: ilk install günü, uygulamayı açtı mı?
- Day-1: install’dan 24 saat sonra, geri döndü mü?
- Day-7: bir hafta sonra, hala aktif mi?
Sağlıklı app: Day-1 %40+, Day-7 %20+. Benim portfolio’mda ortalama Day-1 %48, en iyi app’te %68.
Onboarding direkt Day-1 affect ediyor. Day-7 product value’nun fonksiyonu.
Login wall: açıkça öldürücü
En kötü onboarding: login/signup ilk ekran olarak. “Uygulamayı kullanmak için üye ol”.
Kullanıcı yeni install etti, hiçbir value görmedi, neden üye olsun? Day-0 drop %70+.
Daha iyi: value-first onboarding. Uygulamanın ne yaptığını göster, birkaç feature’ı dene, sonra login opsiyonel.
Bir uygulamamda login ilk ekrandaydı, Day-1 %22. Login’i final step’e taşıdım, %46’ya çıktı. 2 hafta içinde.
Onboarding pattern’ları
1. Feature tour (klasik)
3-5 ekranda uygulamanın feature’larını gösteren swipe-able carousel.
Avantajlar: hazırlaması kolay, product overview veriyor.
Dezavantajlar: kullanıcı skip ediyor çoğu zaman, passive öğrenme, retention’a ufak etki.
Ben bu pattern’i 2019’dan beri kullanmıyorum. Modern alternatif’ler daha etkili.
2. Value proposition first
Tek ekranda ürünün ana value proposition’ını iletmek. 1-2 cümle + hero visual + CTA.
"Sağlıklı alışkanlıkları takip et"
[Hero image]
[Hemen Başla] butonuBasit, fast, net. Kullanıcı 3 saniyede karar veriyor: devam et veya kapat.
Bu pattern kriteri: ürünün core value’sunu tek cümlede özetleyebilmek.
3. Goal setting
Kullanıcıdan hedef alıyorsun, sonra app’i o hedefe göre customize ediyorsun.
Fitness app örneği:
– “Haftada kaç kez egzersiz yapmak istiyorsun?”
– “Ne tip egzersiz?” (multi-select)
– “Deneyim seviyeni?”
Her seçim kullanıcı engagement’ını arttırıyor, sunk cost fallacy (“bu kadar vakit verdim, artık deneyeyim”).
Day-1 retention’a büyük etki: %35 → %55 bir fitness app’imde.
4. Interactive first-use
Kullanıcıya onboarding sırasında app’i kullandırtmak. Sadece tell, show değil do.
Medit app örneği: onboarding sırasında 30 saniyelik breathing exercise.
- “Hoş geldin. Meditasyonun gücünü şimdi deneyimle.”
- [30 saniyelik ses rehberi ile breathing]
- “Nasıldı?”
- [Devam et veya kayıt ol]
Kullanıcı experience’ı yaşadı, value’yu hissetti, retention yüksek.
Yapması zor pattern, ama yapanlar %60+ Day-1 alıyor.
5. Progressive disclosure
Onboarding yok. Kullanıcı direkt ana ekrana düşüyor. Feature’ları ihtiyaç doğdukça, contextual tooltip’lerle öğreniyor.
Minimal friction. Power user’lar seviyor, casual user’lar kayboluyor.
Uygulamanız self-explanatory ise bu pattern iyi. Complex app’te kullanıcı “ne yapmam lazım?” diye bakakalıyor.
Notification permission: NE ZAMAN sormalı
En sık hata: app ilk açılışta notification permission istemek. Kullanıcı değerini anlamadı, reddediyor. iOS’ta ikinci kez sorulamıyor, permission kayıp.
Doğru timing: kullanıcı bir aksiyon yaptıktan sonra, notification’ın ona faydalı olacağı an.
Örnek: workout tracker’da kullanıcı ilk workout’u bitirdikten sonra: “Workout’larını hatırlatmamı ister misin?” → Permission request.
Acceptance rate ilk-açılış %45’ten contextual asking ile %78’e çıktı.
ATT (App Tracking Transparency)
iOS 14.5+ ile ATT permission ayrı prompt. Ad attribution, analytics için gerekli.
ATT da contextually sor, ilk-açılıştan değil. Kullanıcı app’te 2-3 session yaptıktan sonra.
Pre-prompt UI: Apple’ın native dialog’undan önce custom ekran ile “niçin istiyoruz” açıklaması. Acceptance rate iyileştiriyor.
Paywall placement
Freemium veya subscription app’te paywall ne zaman?
Immediate paywall: açar açmaz subscribe ekranı. Conversion ~%1-3, Day-1 retention çöküyor.
Value after wall: feature tour → paywall → app. Conversion ~%5-10, retention ortaya.
Delayed paywall: app’te birkaç session sonra first-time aylık paywall. Conversion ~%3-7, retention yüksek.
Soft paywall: feature’ın free limit’i bitince paywall. Conversion ~%8-15, retention yüksek.
En iyi sonuç: soft paywall + delayed paywall combo. Kullanıcı value’yu görüp gerçekten ihtiyaç duyduğu anda öde kararı veriyor.
Trial: güven veriyor
7-day free trial subscription iOS’ta çok yaygın. Apple native destekliyor.
Pattern’lar:
Credit card upfront (7-day free): conversion %20-30 (trial’dan paid’a), ama Day-1 drop off yüksek (kart vermek friction).
No credit card (3-day free): açık conversion rate rapor edilemiyor (Apple intro offer only kartla), ama Day-1 tutma yüksek.
1-day trial: bazı app’ler deniyor, çok kısa.
14-day trial rare (expensive B2B app’lerde).
Personalization onboarding
Kullanıcıdan bilgi alıp app’i customize etmek bundle effect veriyor.
- Display name
- Hedef (fitness app için kilo hedefi, productivity app için özel niş)
- Profile photo (optional)
- Reminder tercihleri
Her step kullanıcının investment’ını arttırıyor. “Benim için özel hazırlanmış” hissi.
Dikkat: 10+ step onboarding kullanıcıyı yoruyor. 5 step üst sınır, her biri <10 saniye.
A/B testing framework
Onboarding’de A/B test yapmadan gitmek body of evidence’sız.
Firebase Remote Config veya custom flag sistemi ile:
if FeatureFlag.isEnabled(.onboardingVariantB) {
showOnboardingB()
} else {
showOnboardingA()
}Metric: Day-1 retention, Day-7, ATT acceptance, notification permission acceptance.
Sample size: minimum 500 user per variant. Daha azı istatistiksel anlamsız.
Variant’ta belirgin iyileşme varsa (+5%+) yaygınlaştırın, yoksa eleyin.
Loading / splash screen
iOS launch screen Apple tarafından required. Animate splash değil, Apple kuralı statik image.
Launch screen ile first useful screen arası geçiş hızlı olmalı. 1-2 saniyeden fazla = user ayrılıyor.
Pre-fetch during launch: launch screen 1-2 saniyede asset’leri prefetch edip onboarding screen’ine yumuşak geçiş.
Skeleton UI: content yüklenene kadar skeleton şekil göster, blank değil.
Analytics implementasyonu
Onboarding funnel’ı track etmek şart:
Analytics.logEvent("onboarding_started")
Analytics.logEvent("onboarding_step_1_completed")
Analytics.logEvent("onboarding_step_2_completed")
Analytics.logEvent("onboarding_completed")
Analytics.logEvent("onboarding_skipped", parameters: ["at_step": 2])Funnel report’ta hangi step’te kullanıcılar drop ediyor görüyorsun. Optimize edilecek yer.
Yaygın pitfall’lar
1. Too many screens. 8+ screen onboarding = %70 drop-off. 3-5 screen optimal.
2. Buzzword-heavy copy. “Revolutionize your workflow” = uncertain. Concrete value proposition.
3. Generic hero image. Stock photo = düşük güven. Real app screenshot veya custom illustration.
4. Mandatory login. Daha önce değindim, öldürücü.
5. No skip option. Tutorial’ı skip edemeyen kullanıcı uygulamadan çıkıyor.
6. Localization eksik. Target market’e specific localization. Türkçe app Türkçe onboarding.
Son tavsiye
iOS onboarding product’ın retention’ını belirleyen kritik moment. Dakikalar harcayan feature development sonrası onboarding için 1 ay ekstra yatırım genelde değer veriyor.
Yaklaşım:
1. Value-first, login-last
2. Contextual permission requests
3. Soft paywall, delayed subscription prompt
4. Interactive first-use mümkünse
5. A/B test everything
6. Analytics funnel’ı kur
Bu disiplinle Day-1 retention’ınız %35-40’ten %55-65’e çıkabiliyor. Acquisition maliyetlerinizi tamamen değiştiriyor.