Mobil uygulaması olan şirketlerde iOS kampanyası genellikle iki hafta sonra kapatılıyor. Gerekçe hep aynı: "Ads'te 40 kurulum görünüyor, App Store Connect'te 120. Kampanya çalışmıyor."
Kampanya çalışıyor olabilir. Görmediğiniz şey kurulum değil, kurulumun size raporlanma biçimi. iOS'ta ölçüm 2021'den beri tamamen farklı bir mantıkla işliyor ve o mantığı bilmeden bakılan rapor sistematik olarak eksik görünüyor.
Bu yazı üç katmanı ayırıyor, çünkü Türkçe kaynakların çoğunda üçü tek şeymiş gibi anlatılıyor: ATT bir izin ekranı, SKAdNetwork Apple'ın atıf altyapısı, AEM ise Meta'nın kendi toplulaştırma yöntemi. Üçü farklı katmanda çalışıyor ve biri diğerinin yerine geçmiyor.
ATT neyi kapatır, neyi kapatmaz
En yaygın yanlış anlama burada. ATT ölçümü kapatmadı.
Apple'ın kendi tanımı şu: uygulamanız son kullanıcı hakkında veri topluyor ve bunu başka şirketlerle, uygulamalar ve siteler arasında takip amacıyla paylaşıyorsa AppTrackingTransparency çerçevesini kullanmak zorundasınız. iOS 14 ile geldi.
Cümledeki kritik kısım "başka şirketlerle, uygulamalar arası". ATT izninin kapattığı şey cihaz kimliğinin (IDFA) başka şirketlere açılması.
Kapatmadığı şeyler:
- Kendi uygulamanızdaki ölçüm. Firebase SDK'sı olayları toplamaya
devam ediyor,
purchaseyine kaydediliyor, GA4 raporu yine doluyor. - Uygulama içi huniniz. Hangi ekranda kaç kişinin düştüğünü görmeye devam ediyorsunuz.
- Kendi verinizle analiz. Kullanıcı özellikleri, kitleler, elde tutma raporları çalışıyor.
Kırılan tek şey reklamla kurulum arasındaki bağ. Kullanıcı izin vermediyse "bu kurulum şu kampanyadan geldi" bilgisini kimliğe dayalı olarak kuramıyorsunuz. Apple bunun yerine kimliksiz bir yol koydu: SKAdNetwork.
Yani iOS'ta kaybettiğiniz şey ölçüm değil, atıf.
SKAdNetwork: gecikme ve bulanıklık buradan geliyor
SKAdNetwork kurulumu kampanyaya bağlıyor ama kullanıcıyı tanımlamadan. Bunu iki şeyi feda ederek yapıyor: zaman ve ayrıntı.
Önce zaman. Bir kurulumun raporlanabilmesi için olayların belirli pencerelerde gerçekleşmesi gerekiyor:
| Olay | Süre sınırı |
|---|---|
| StoreKit reklamı gösterildi | kullanıcının kurmak için 30 günü var |
| Görüntülemeli reklam gösterildi | kurmak için 24 saat |
| Web reklamına tıklandı | kurmak için 30 gün |
| Uygulama kuruldu | açmak için 60 gün |
| Uygulama açıldı | ilk dönüşüm değeri için 60 gün |
Görüntülemeli reklamdaki 24 saat en sık gözden kaçan satır. Reklamı görüp ertesi gün kuran kullanıcı atfa hiç girmiyor.
Sonra gecikme. Dönüşüm pencereleri kullanıcının uygulamayı ilk açtığı an başlıyor ve üç tane:
- 1Birinci pencere · gün 0-2İlk açılıştan itibaren iki gün. Dönüşüm değeri bu süre boyunca güncellenebilir.görünen: Postback 24-48 saat rastgele gecikmeyle gelir
- 2İkinci pencere · gün 3-7İkinci postback için ayrı bir güncelleme çağrısı yapılması gerekiyor.görünen: Postback 24-144 saat gecikmeyle gelir
- 3Üçüncü pencere · gün 8-35Abonelik ve uzun vadeli değer bu pencerede ölçülür.görünen: Postback yine 24-144 saat gecikmeyle gelir
Üç pencere yalnızca SKAdNetwork 4 ile ve iOS 16.1 ve sonrasında var. Reklam 3 veya daha eski bir sürümle imzalanmışsa tek kazanan postback alıyorsunuz.
Bu tabloyu bir kez okuyun, sonra kampanya panelinize bakın. Reklamı yayına aldıktan sonraki ilk iki günde gördüğünüz sayı hiçbir zaman gerçek sayı değil. Üçüncü pencerenin verisi kurulumdan 35 gün + 6 güne kadar sonra düşebiliyor.
iOS kampanyasını üç gün sonra "çalışmıyor" diye kapatmak, veri henüz gelmeden karar vermek demek. Apple'ın kendi dokümanındaki en erken süre bile reklam gösteriminden postback'e 24-48 saat.
Kalabalık eşiği: kırılımı silen şey
Gecikmeyi anlattık, şimdi bulanıklık. Rapordaki kampanya kırılımının neden bazen kaybolduğunun cevabı burada.
Apple her kuruluma bir postback veri kademesi atıyor. Kademe şuna bakıyor: reklamı gösteren uygulamanın veya alan adının kalabalığı, reklamı verilen uygulamanın kalabalığı, kurulumun yapıldığı ülke ve reklam ağının verdiği kaynak kimliği.
Kalabalık küçükse kademe düşüyor ve postback'ten alan siliniyor:
- source-identifier2, 3 veya 4 hane
- conversion-valueyalnız birinci postback
- coarse-conversion-valuedüşük kademede bunun yerine gelir
- source-app-idkademeye bağlı
- country-codeyalnız en üst kademede
- Kademe 0yalnız tek postback gelir
Pratik karşılığı şu: küçük bir pazarda, küçük bir yayıncıda, dar bir kampanyada reklam veriyorsanız kampanya kimliğinin dört hanesini değil iki hanesini alıyorsunuz. Yani "hangi kampanya" sorusunun cevabı "şu kampanya grubundan biri" oluyor.
Azerbaycan ve Türkiye ölçeğindeki hedeflemelerde bu sık yaşanıyor. Çözümü kampanyayı bölmemek: on ayrı dar kampanya yerine daha az ve daha kalabalık kampanya, ironik biçimde daha fazla veri döndürüyor.
AdAttributionKit yerine geçiyor mu
Kısa cevap: yerine geçmiyor, üstüne kuruluyor.
Apple iOS 17.4 ile AdAttributionKit'i tanıttı. SKAdNetwork'ün temellerinin üzerine kurulmuş yeni bir çerçeve ve ikisi birbiriyle tam uyumlu çalışıyor. Kurulum ve yeniden etkileşim atfını yine imzalı bir sinyalle yapıyor, yine kullanıcıyı tanımlamadan.
Reklamveren tarafında bugün pratik bir aksiyon gerektirmiyor: kampanya platformları geçişi kendi tarafında yönetiyor. Bilmeniz gereken tek şey, gecikme ve kalabalık eşiği mantığının değişmediği.
Meta AEM: sekiz olay ve öncelik
Meta kendi tarafında ayrı bir yöntem kullanıyor: Aggregated Event Measurement. SKAdNetwork'ün alternatifi değil, farklı bir işi yapıyor.
Kuralları net:
- Bir birincil alan adı başına en fazla sekiz dönüşüm olayı önceliklendirilebiliyor. Bu sınır alan adına ait, piksele değil: beş pikseliniz olsa da aynı alan adında sekiz olay hakkınız var.
- Olaylar sıralanıyor ve bir dönüşüm penceresinde kullanıcı birden fazla eylem yaptıysa yalnızca en yüksek öncelikli olay raporlanıyor. Kullanıcı başına tek atfedilmiş dönüşüm.
- Önceliklendirilmemiş bir olaya göre optimize ederseniz reklamınız, iOS 14.5 ve sonrasında ATT izni vermemiş kişilere ulaşmayabiliyor.
İkinci madde çoğu hesapta sessiz kayba yol açıyor. add_to_cart olayını
purchase'ın üstüne koyarsanız, sepete atıp satın alan kullanıcı
Meta raporunda satın alma olarak değil sepet olarak sayılıyor. Sıralama
işin değeri sırasına göre olmalı, sıklık sırasına göre değil.
Uygulama tanıtım kampanyalarında ise ikisinden birini seçiyorsunuz: AEM ya da SKAdNetwork. İkisini aynı anda çalıştırıp toplamıyorsunuz.
Google Ads tarafında rapor nerede
Google iki ayrı yöntemi yan yana kullanıyor ve bu, panelde iki farklı sayı görmenizin sebebi.
SKAdNetwork dönüşümleri ayrı bir raporda duruyor. Hedefler ve dönüşümler bölümünde SKAdNetwork dönüşümleri seçilerek görülüyor.
Modellenmiş dönüşümler ayrı. Google'ın kendi modeli, ölçülemeyen kısmı istatistiksel olarak tamamlıyor. Google'ın kendi dokümanı iki şeyi açıkça söylüyor: uygulama kampanyalarında modellenmiş dönüşümlerin görünmesi 5 günü bulabiliyor ve SKAdNetwork ile modelleme farklı mantıklara dayandığı için aralarında tutarsızlık olması bekleniyor.
Yani panelde iki sayı görüp "hangisi doğru" diye sormak yanlış soru. İkisi farklı şeyi ölçüyor ve toplanmıyorlar.
Ne yapılır
Dört madde, sırayla.
Dönüşüm değeri şemasını baştan tasarlayın. Elinizde birinci pencerede tek bir ince değer var. O altı biti gelir aralığına mı, huninin hangi adımına ulaşıldığına mı ayıracağınız iş modelinize bağlı ve sonradan değiştirmek geçmişi bozuyor.
Karar penceresini uzatın. iOS kampanyasını en az bir hafta, abonelik modeliyse beş hafta izlemeden değerlendirmeyin.
iOS ile Android'i bire bir karşılaştırmayın. Android'de kurulum neredeyse tam ölçülüyor, iOS'ta gecikmeli ve kademeli. İki platformun maliyetini aynı tabloda yan yana koyup iOS'a "pahalı" demek, ölçüm farkını performans farkı sanmak oluyor.
Kampanyayı gereksiz bölmeyin. Kalabalık eşiği yüzünden dar kampanyalar daha az veri döndürüyor.
Doğrulama
- Nerede
- Google Ads, Hedefler ve dönüşümler bölümü, SKAdNetwork dönüşümleri.
- Doğru cevap
- Rapor doluyor ve kampanya bazında satır görünüyor.
- Yanlışsa
- Boşsa dönüşüm değeri şeması kurulmamış olabilir. Modellenmiş dönüşüm sütununa bakıp orada sayı görmeniz SKAdNetwork'ün kurulu olduğu anlamına gelmiyor.
- Nerede
- Firebase konsolunda hata ayıklama modu, cihazda bir satın alma akışı tamamlayın.
- Doğru cevap
- purchase olayı parametreleriyle görünüyor. ATT izni verilmemiş olsa bile görünmeli.
- Yanlışsa
- Görünmüyorsa sorun ATT değil, kurulum. ATT uygulama içi ölçümü kapatmaz.
- Nerede
- Meta Events Manager, alan adı başına toplu olay ölçümü ayarları.
- Doğru cevap
- En değerli olay en üstte, satın alma sepetin üstünde.
- Yanlışsa
- Sıralama yanlışsa satın alan kullanıcı daha düşük değerli bir olay olarak raporlanıyor ve optimizasyon yanlış sinyalle çalışıyor.
Sonuç
iOS'ta ölçüm kırılmadı, atıf kırıldı. Kendi uygulamanızın içinde ne olduğunu görmeye devam ediyorsunuz; göremediğiniz şey hangi reklamın hangi kurulumu getirdiği, ve o bilgi artık gecikmeli ve kademeli geliyor.
Buradan çıkan pratik kural şu: iOS raporuna Android bakar gibi bakmayın. Sayı eksik görünüyorsa önce takvime bakın, sonra kalabalık eşiğine, en son kampanyaya.
Kurulumun kendisi ayrı bir konu. Uygulamadaki satın almanın Google Ads'e dönüşüm olarak nasıl gittiğini uygulamadaki satın almayı Google Ads'e dönüşüm olarak göndermek yazısında, olayların GTM üzerinden nasıl yönetildiğini GTM ile iOS ve Android'de olay takibi rehberinde anlattık.
Sık sorulan sorular
Uygulama içi verisini görüyorsunuz. ATT'nin kapattığı şey cihaz kimliğinin başka şirketlerle paylaşılması, yani reklam atfı. Firebase ile topladığınız olaylar, huniniz ve elde tutma raporlarınız çalışmaya devam eder.
En erken postback bile reklam gösteriminden 24-48 saat sonra geliyor. Üç dönüşüm penceresi ilk açılıştan itibaren 0-2, 3-7 ve 8-35 gün. Abonelik modeli değilseniz bir hafta, abonelikse beş hafta beklemeden karar vermeyin.
Kalabalık eşiği yüzünden. Apple her kuruluma bir veri kademesi atıyor; kalabalık küçükse kaynak kimliğinin dört hanesi yerine iki hanesi geliyor ve ince dönüşüm değeri yerine kaba değer gönderiliyor. Kampanyayı çok fazla bölmek bu sorunu büyütüyor.
Hayır, birincil alan adı başına. Aynı alan adında beş pikseliniz olsa da toplam sekiz olay önceliklendirebiliyorsunuz.
İkisi farklı yöntem. SKAdNetwork dönüşümleri ayrı bir raporda, modellenmiş dönüşümler ayrı. Google iki yöntemin farklı mantıklara dayandığını ve aralarında tutarsızlık beklendiğini kendi dokümanında söylüyor. Toplamayın, ayrı ayrı okuyun.