iOS’ta Google’ın Integrated Conversion Measurement’ını (ICM) almak için şunlara ihtiyacınız var: install odaklı bir iOS App campaign, Google Analytics for Firebase SDK’sından ya da Google’ın bağımsız GoogleAdsOnDeviceConversion SDK’sından gelen cihaz üzerinde ölçüm (ODM), belgelenen minimum sürümde ya da daha yenisinde olan ve Google ayarı açık bir attribution partner SDK’sı, ve first_open gönderilmeden önce, ilk açılışta çekilmiş conversion bilgisi. Cevabı değiştiren koşul bölge: 29 Eylül 2026 itibarıyla Google’ın dokümantasyonu, cihaz üzerinde ölçümün EEA, İngiltere ve İsviçre’deki kullanıcılar için etkin olmadığını söylüyor, yani bunların hiçbiri onlar için henüz ICM claim’i üretmiyor.
Kapsam: AppsFlyer, Adjust veya Singular üzerinden ölçülen, Firebase ya da bağımsız SDK yoluyla kurulan install odaklı iOS App campaign’ler; her sağlayıcının kendi sayfalarına göre 29 Eylül 2026’da kontrol edildi. Google bu alanı sık değiştiriyor, bu yüzden bir sürüm numarasına güvenmeden önce tarihe bakın.
iOS App campaign’leri ICM ile AppsFlyer üzerinden, Mart 2026’da bir subscription uygulamasında yönettim. O hesaptan aktarmak istediğim ders ICM’nin kendisiyle ilgili değildi; aşağıdaki test install’ının son adımında yer alıyor.
ODM ile ICM arasındaki fark nedir?
ODM sinyaldir. ICM ise sonucun göründüğü yerdir.
Google’ın About on-device conversion measurement for iOS App campaigns sayfası iki ODM varyantı tarif ediyor: biri giriş akışınızdaki e-posta veya telefon numarası gibi first party veriyi kullanıyor, diğeri Google’ın “de-identified, temporary app event data” dediği, IP adresi ve zaman damgası gibi sinyallerden türetilen veriyi. iOS’ta ICM ikincisine dayanıyor.
Google’ın About Integrated Conversion Measurement for App Campaigns sayfası dört iOS adımı sıralıyor: install odaklı aktif bir iOS App campaign, attribution partner’ınızın verisinin Google Ads’e aktarılması, event verisi kullanan ODM ve en son partner SDK’sı. Server to server entegrasyonlar ODM info string’ini partner’a iletmeli. Android için aynı sayfa hiçbir işlem gerekmediğini söylüyor.
Yani ODM, Google’ın install claim’lerini mümkün kılıyor, ICM ise Google’ın bu claim’leri MMP’nize göndermesi, ve orada probabilistic attribution olarak görünüyorlar.
Her entegrasyon yolu ne gerektiriyor?
Tablo beş yolu yan yana koyuyor, her yol için bir satır.
| Yol | Belgelenen minimum | Ayar | Bölge kapsamı | Doğrulama adımı | Kaynak, kontrol tarihi |
|---|---|---|---|---|---|
| Firebase (GA4F) | iOS 12+. Google’ın yardım sayfası ve Firebase tutorial’ına göre GA4F 11.14.0; Google’ın iOS rehberine göre 12.12.1+ (çözülmemiş, aşağıya bakın) | Google Analytics property’sini Google Ads hesabına bağlayın. FirebaseAnalytics pod’u GoogleAdsOnDeviceConversion’ı zaten içeriyor |
EEA, İngiltere ve İsviçre’deki kullanıcılar için etkin değil | -FIRDebugEnabled ile başlatın, “framework is linked” logunu arayın, ardından yaklaşık 15 saniye sonra _psmvalue_gads user property’sine bakın |
Google 12119136, Firebase tutorial, 29 Eyl 2026 |
| Bağımsız GoogleAdsOnDeviceConversion SDK’sı | Google’ın sayfasında minimum belirtilmemiş. Son sürüm 3.7.0 (1 Eyl 2026). GA4F’i de kurarsanız Google’ın sürüm eşlemesini izleyin | Gerçek ilk açılış tarihiyle setFirstLaunchTime, ardından fetchAggregateConversionInfo(for: .installation), sonra sonucu odm_info olarak iletin |
Google’ın ODM sayfası EEA, İngiltere ve İsviçre’yi hariç tutuyor; bu sayfanın sorun giderme satırı bununla çelişiyor (aşağıya bakın) | first_open gönderilmeden önce boş olmayan bir info string olduğunu ve ilk install çağrısında odm_info bulunduğunu doğrulayın |
Google 16384720, Google developer sayfası, GitHub repo, 29 Eyl 2026 |
| AppsFlyer | iOS SDK 6.17.9+, ayrıca Firebase 11.14.0+ veya bağımsız SDK | Google Ads entegrasyonunda Advanced Data Sharing. first_open conversion olarak içe aktarılmış. Her uygulama açılışında ve uygulama içi event’te IDFV, her uygulama açılışında IP adresi |
EEA, İngiltere ve İsviçre’deki iOS kullanıcıları için mevcut değil | Ham veride match_type: deterministik claim’ler için srn, ICM claim’leri için probabilistic |
AppsFlyer bulletin, AppsFlyer setup, 29 Eyl 2026 |
| Adjust | ODM plugin’li iOS SDK 5.4.1+ (GoogleAdsOnDeviceConversion 3.0.0 ile test edildi), ayrıca Firebase 11.14.0+ veya bağımsız SDK | Google Ads partner’ının attribution ayarlarında “Enable probabilistic modeling”. initSdk’yı olabildiğince erken çağırın |
Adjust’ın sayfaları bölgesel bir sınır belirtmiyor; Google’ın ODM hariç tutması yine geçerli | Adjust, baktığım sayfalarda bir doğrulama adımı belgelemiyor | Adjust Dev Hub, Adjust Help, 29 Eyl 2026 |
| Singular | Native iOS SDK 12.8.1+ (Unity 5.5.0+) | enableOdmWithTimeoutInterval, 5 saniye öneriliyor. Google Ads partner konfigürasyonunda “Include Integrated Conversion Measurement Attributions” |
EEA ve İngiltere’deki iOS cihazlarında desteklenmiyor (İsviçre anılmıyor) | ICM install’ları click through install olarak görünüyor, user level raporlarda probabilistic diye etiketlenmiş | Singular help, 29 Eyl 2026 |
Her partner satırı yalnızca o partner’ın kendisi için belgelediğini listeliyor. Firebase ile bağımsız SDK arasındaki seçimin, kurulum sayfalarının açıkça yazmadığı bir bidding sonucu var. Google’ın About bidding in App campaigns sayfası tROAS için Google Analytics for Firebase SDK’sının şart olduğunu söylüyor, AppsFlyer’ın kurulum makalesi de App campaign’lerden audience’ları yalnızca kampanya MMP event’lerine değil Firebase SDK event’lerine göre optimize ettiğinde hariç tutabileceğinizi söylüyor. İleride value üzerinden bidding yapmayı planlıyorsanız, bağımsız yol ölçümü çözer ama bidding’i çözmez. İkisini de kurarsanız, Google’ın GoogleAdsOnDeviceConversion repository’si bir sürüm eşlemesi yayınlıyor: GA4F 12.19.0, ODM 3.7.0 ile; 12.12.1, 3.5.0 ile; 11.14.0 ise 2.0.0 ile eşleşiyor.
Minimum Firebase sürümü hangisi, 11.14.0 mı 12.12.1 mi?
Google’ın dokümantasyonu iki cevap veriyor, ve meseleyi çözen bir kaynak bulamadım.
Google’ın cihaz üzerinde ölçüm yardım sayfası “version 11.14.0 available in June 2025” istiyor, Firebase’in Tutorial: Measure iOS Ads conversions using event data sayfası (son güncelleme 25 Eylül 2026) ise 11.14.0 veya üstünü söylüyor. Tarihsiz olan Google’ın iOS Best Practices Guide: Do the iOS Three to maximize your ROI rehberi ise uygulama adımlarında Firebase SDK’sını “minimum version 12.12.1+” olarak listeliyor. AppsFlyer ve Adjust ikisi de 11.14.0’ı tekrarlıyor.
Bunu iki Google kaynağı arasında çözülmemiş bir fark olarak ele alıyorum. Uygulamanın hangi sürümle çıktığını kaydedin, ve uygulamayı 12.12.1’in altına sabitlemeden önce farkı Google’a iletin.
İlk açılışın sırası neden önemli?
Çünkü conversion bilgisi, install raporlanmadan önce var olmalı. Google’ın App Conversion API için developer sayfası Integrated Conversion Measurement, conversion bilgisinin uygulama ilk açıldıktan kısa süre sonra, first_open event’i gönderilmeden önce çekilmesini ve odm_info parametresi olarak iletilmesini söylüyor. Google’ın bağımsız SDK sayfası ayrıca çekmenin hem first_open hem de reinstall_open için geçerli olduğunu, ve setFirstLaunchTime’a uygulamanın gerçekten ilk açıldığı tarihin verilmesi gerektiğini ekliyor.
Partner’lar beklemeyi farklı ele alıyor:
- Singular’ın SDK’sı ODM info için belirlediğiniz timeout’a kadar bekliyor, 5 saniye öneriliyor, ve Singular bunun deep link’ler dahil SDK callback’lerini geciktirdiğini uyarıyor. Server to server kurulumlar için çekmenin asenkron olduğunu, tamamlanana kadar session event’ini bekletmeniz gerekebileceğini not ediyor.
- Adjust,
initSdk’yı olabildiğince erken, ideal olarakapplication:didFinishLaunchingWithOptions:içinde çağırmanızı söylüyor. First Session Delay ile bileinitSdk’yı erken çağırıyorsunuz ki ODM açılış zamanını kaydetsin, gecikmeyi ise daha sonra bitiriyorsunuz.
Bir audit’te ilk bakılacak şey, bir consent ekranının, paywall’un veya onboarding akışının MMP SDK’sını dokümantasyonun beklediğinden daha geç başlatıp başlatmadığı. Dokümanlar evrensel bir gecikme değeri vermiyor, bu yüzden sırayı gerçek bir install’da test edin.
ICM, EEA, İngiltere ve İsviçre’deki iOS kullanıcıları için çalışıyor mu?
29 Eylül 2026’da kontrol ettiğim dokümantasyonda hayır.
- Google’ın cihaz üzerinde ölçüm sayfası: özellik EEA, İngiltere ve İsviçre’de bulunan tüm kullanıcılar için etkin olmayacak (“will be inactive for all users located within”).
- Firebase tutorial’ı: doğrulama mesajı orada bulunan cihazlarda görünmeyecek.
- AppsFlyer’ın Bulletin: AppsFlyer and Google attribution solution [Open BETA] sayfası (5 Ağustos 2026’da düzenlendi) üçünden de gelen iOS trafiğini hariç tutuyor, kurulum makalesi (15 Eylül 2026’da düzenlendi) ise AB, İngiltere ve İsviçre’yi desteklenmeyen olarak listeliyor.
- Singular (24 Eylül 2026’da güncellendi), ICM’nin EEA ve İngiltere’deki iOS cihazlarında desteklenmediğini söylüyor.
Mayıs 2026’da Google’ın iOS App campaign advancements duyurusu, EEA, İngiltere ve İsviçre kullanıcıları için ölçüm desteğini genişletmekte olduğunu söyledi (“expanding measurement support for EEA, UK, and Switzerland users”). Tarih vermiyor. Bir duyuru bir plandır, bu yüzden Google’ın yardım sayfası ve MMP dokümanları değişene kadar bütçeyi ona göre planlamıyorum.
Bir dokümantasyon tutarsızlığı var: Google’ın bağımsız SDK sayfasındaki sorun giderme listesi, uygulamanızın EEA, İngiltere ve İsviçre’de çalıştığını kontrol etmenizi söylüyor. Bu, Google’ın kendi cihaz üzerinde ölçüm sayfasıyla çelişiyor. Bunu bir dokümantasyon hatası olarak okuyorum, Avrupa desteğinin başladığının kanıtı olarak değil.
Avrupalı iOS kullanıcıları yine de ölçülüyor, yalnızca ICM üzerinden değil. Google’ın Understanding iOS App campaign measurement and reporting sayfası, Google Ads’teki modellenmiş conversion’ların ve SKAdNetwork’ün EEA, İngiltere ve İsviçre dahil tüm kullanıcılar için mevcut olduğunu söylüyor. ICM sütunu böyle bir ifade içermiyor.
ICM neleri kapsıyor, neleri dışarıda bırakıyor?
En eksiksiz liste olan AppsFlyer’ın kurulum makalesinden:
- Yalnızca install’lar ve reattribution’lar. Re-engagement yok.
- iOS’ta yalnızca tıklamalar. “Google currently claims only clicks on iOS. It does not claim impressions.” Singular de yalnızca click through install ölçümünü tarif ediyor, Adjust ise ICM’nin yalnızca install odaklı App Campaign’ler için desteklendiğini söylüyor.
- Kampanya ve ad group var, reklam yok. AppsFlyer, claim’lerin “in most cases” kampanya ve ad group içerdiğini, reklam bilgisi içermediğini söylüyor. Singular ad group ID’sinin mevcut olmadığını söylüyor, Google’ın rehberi ise kampanya seviyesi verinin şimdi, ad group seviyesinin “soon” geleceğini söylüyor. Kampanya seviyesine göre planlayın.
- Kısmi bir channel. Channel alanı network soneki olmadan
ACI_gösteriyor. - Yuvarlanmış zaman damgaları. Probabilistic claim zaman damgaları 15 dakikalık aralıklara yuvarlanıyor.
Google’ın rehberi ayrıca ICM’nin 180 güne kadar install sonrası lookback pencerelerini desteklediğini söylüyor, bu da ödeme event’leri install’dan haftalar sonra gelen subscription uygulamaları için önemli. Rehber bu pencereleri tROAS’a bağlıyor, ama Google’ın bidding sayfası tROAS için hâlâ Firebase SDK’sını şart koşuyor, bu yüzden yukarıdaki yol seçimi geçerliliğini koruyor.
Bir install’ı uçtan uca nasıl test ederim?
Tek bir test install’ı için şunları not edin:
- Sürümler. Uygulama build’i, GA4F veya GoogleAdsOnDeviceConversion sürümü, MMP SDK sürümü. Çifti Google’ın sürüm eşlemesiyle karşılaştırın.
- Bölge. Cihazın bulunduğu yer. Bir EEA, İngiltere veya İsviçre cihazı ODM info üretmemeli.
- ATT ve consent durumu. ATT cevabı ve consent platformunuzun seçimleri, ve bunlardan birinin MMP SDK’sını geciktirip geciktirmediği.
- Sıra. Conversion bilgisinin
first_opengönderilmeden önce çekilip çekilmediği, ve ilk install çağrısındaodm_info’nun bulunup bulunmadığı. Firebase yolunda, tablodaki debug log sırası. - Ayarlar. Tablodaki partner ayarı ve Google Ads’te conversion olarak içe aktarılmış
first_open. - MMP ham veri satırı. AppsFlyer’da
srnveyaprobabilisticolanmatch_type. Singular’da user level raporlardaki probabilistic dökümü. - Değerler. Her gelir event’inin Google’a ne gönderdiği, gelir taşımayan event’ler dahil. Yukarıdaki hesapta, gelir event’i değer olmadığında 0 $ yerine 1 $ gönderiyordu. Google Ads iOS kampanyasında %71,4 ROAS gösterirken AppsFlyer’da lifetime ROAS %17,3’tü, ve nedeni ICM değildi. Bu farkı nasıl okuduğum Google Ads, MMP ve SKAN iOS conversion’larını neden farklı sayar yazısında.
Aynı anda tek bir bileşeni değiştirin. Eksik tek bir claim kurulumun bozuk olduğunun kanıtı değil: AppsFlyer her probabilistic Google claim’ini kendi modeliyle doğruluyor, ve kabul edilen bir claim’in yine de diğer attribution adaylarına karşı kazanması gerekiyor.
Daha fazla claim için gizlilik ayarlarını veya IP masking’i değiştirmeli misiniz?
Bunları kapsamı artıran ayarlar olarak görmüyorum. Bunlar uygulama sahibinin uyum kararları.
AppsFlyer’ın kurulum makalesi IP masking’in ICM’i etkileyebileceğini ve Google’ın bunu kapatmayı önerdiğini söylüyor. Ayrıca Aggregated Advanced Privacy toggle’ı açıkken Google’a atfedilen verinin ham raporlarda restricted olarak göründüğünü, ve Advanced Data Sharing’in install’ları Google’a cihaz ID’siyle veya cihaz ID’si olmadan gönderdiğini söylüyor. Apple’ın User Privacy and Data Use sayfası, bir cihazı benzersiz biçimde tanımlamak amacıyla cihazdan veri türetemeyeceğinizi (“you may not derive data from a device for the purpose of uniquely identifying it”) ve bir kullanıcıyı izlemenin ATT izni gerektirdiğini söylüyor.
Bu karara iki bilgi yardımcı oluyor: FirebaseAnalytics pod’u ODM kütüphanesini zaten içeriyor, ve Google’ın opt out yolu GoogleAdsOnDeviceConversion’ı build’in dışında tutmak. Kararı gizlilik danışmanınızla verin, sonra seçilen kurulumun izin verdiği kadarını ölçün.
Google Ads, MMP ve SKAN neden yine de birbirini tutmayacak?
Çünkü üç ayrı ölçüm bunlar. Google’ın ölçüm ve raporlama sayfası, ICM verisinin bugün Google Ads raporlamasında bulunmadığını, Google Ads’in beş güne varan gecikmelerle kendi modellenmiş conversion’larını gösterdiğini, ve SKAdNetwork’ün Apple’ın kendi pencereleri olan toplu feed’i olduğunu söylüyor. Google ayrıca, cihaz üzerinde ölçüm event verisi olan kampanyalarda Google Ads’teki iOS raporlamasının modellenmiş conversion’lardan ground truth attribution’a geçeceğini söylüyor. Üçünü toplamak yerine aynı event, tarih bazı ve pencere üzerinden uzlaştırıyorum, ve bu yöntemi Google Ads, MMP ve SKAN iOS conversion’larını neden farklı sayar yazısında anlatıyorum.
Bu, benim işimde nereye oturuyor?
Bu, signal engineering işinin Google iOS kısmı: bidding sisteminin işletmenin gerçekten önemsediği conversion’ları görmesini sağlamak. Pratikte bu, Firebase veya bağımsız yolu bidding’i akılda tutarak seçmek, ilk açılış sırasını gerçek bir install’da doğrulamak, ve biri bütçeyi kaydırmadan önce Google Ads, MMP ve SKAN’ın birbirinden ne kadar uzak olması gerektiğini yazıya dökmek demek. Sorunun ölçüm olup olmadığından emin değilseniz, bakacağım yer growth audit. Daha iyi ölçüm bir App campaign’in nereye harcayacağını belirlemez, bunu da Google App campaign’im neden YouTube’a harcıyor yazısında anlatıyorum.
Kaynaklar
Hepsi 29 Eylül 2026’da kontrol edildi.
- Google Ads Help: About on-device conversion measurement for iOS App campaigns, sayfa tarihi yok.
- Google Ads Help: Implement on-device conversion measurement with a standalone SDK, sayfa tarihi yok.
- Google Ads Help: About Integrated Conversion Measurement for App Campaigns, Mayıs 2025’ten itibaren kademeli olarak yayınlanıyor.
- Google Ads Help: Understanding iOS App campaign measurement and reporting, sayfa tarihi yok.
- Google Ads Help: About bidding in App campaigns, sayfa tarihi yok.
- Google for Developers: Integrated Conversion Measurement, son güncelleme 22 Ekim 2025.
- Google: iOS Best Practices Guide: Do the iOS Three to maximize your ROI, tarihsiz.
- Google: iOS App campaign advancements, 13 Mayıs 2026’da yayınlandı.
- Firebase: Tutorial: Measure iOS Ads conversions using event data, step 2, son güncelleme 25 Eylül 2026.
- GitHub: GoogleAdsOnDeviceConversion, 1 Eylül 2026 tarihli 3.7.0 sürümü ve GA4F sürüm eşlemesi.
- AppsFlyer: Bulletin: AppsFlyer and Google attribution solution [Open BETA], 5 Ağustos 2026’da düzenlendi.
- AppsFlyer: Google Ads (AdWords) Integration setup for advertisers, 15 Eylül 2026’da düzenlendi.
- Adjust Dev Hub: Google On-device Conversion Measurement, sayfa tarihi yok.
- Adjust Help Center: Set up Google Ads in Adjust, sayfa tarihi yok.
- Singular: Google Ads (AdWords) Mobile App Campaigns - Attribution Integration, 24 Eylül 2026’da güncellendi.
- Apple Developer: User Privacy and Data Use, sayfa tarihi yok.
Sık sorulan sorular
iOS'ta Google cihaz üzerinde ölçüm için Firebase şart mı?
Ölçümün kendisi için değil. Google, Google Analytics for Firebase'i entegre edemeyen uygulamalar için bağımsız bir GoogleAdsOnDeviceConversion SDK'sı belgeliyor, AppsFlyer ve Adjust da iki yolu da kabul ediyor. Firebase bidding için önemli: Google, App campaign'lerde tROAS için Firebase SDK'sının şart olduğunu söylüyor, AppsFlyer ise audience hariç tutmanın yalnızca kampanya Firebase event'lerine göre optimize ettiğinde çalıştığını söylüyor.
Google ICM iOS için Avrupa'da mevcut mu?
Dokümantasyona göre 29 Eylül 2026'da hayır. Google'ın cihaz üzerinde ölçüm sayfası, özelliğin EEA, İngiltere ve İsviçre'deki kullanıcılar için etkin olmadığını söylüyor, AppsFlyer bu iOS trafiğini ICM'den hariç tutuyor, Singular ise EEA ve İngiltere'deki iOS cihazlarını hariç tutuyor. Google, Mayıs 2026'da bu kullanıcılar için genişletilmiş destek duyurdu ama tarih vermedi. Google Ads'teki modellenmiş conversion'lar ve SKAdNetwork onları yine de kapsıyor.
ICM install'ları Google Ads'te görünür mü?
Bugün hayır. Google, ICM verisinin Google Ads raporlamasında bulunmadığını ve attribution partner'ınızda göründüğünü, Google Ads'in ise kendi modellenmiş conversion'larını gösterdiğini söylüyor. Google ayrıca, cihaz üzerinde ölçüm event verisi olan kampanyalarda Google Ads'teki iOS raporlamasının modellenmiş conversion'lardan ground truth attribution'a geçeceğini söylüyor.
Daha fazla ICM claim'i için IP masking'i veya gizlilik ayarlarını kapatmalı mıyım?
Bu, bir sorun giderme adımı değil, uygulama sahibinin uyum kararı. AppsFlyer, IP masking'in ICM'i etkileyebileceğini ve gizlilik toggle'ının Google verisini kısıtlı olarak gösterdiğini not ediyor. Apple, bir cihazı tanımlamak için cihaz verisi türetmeyi yasaklıyor ve izleme için ATT izni istiyor. Bu ayarlara gizlilik danışmanınızla karar verin, sonra seçilen kurulumun izin verdiği kadarını ölçün.