Attribüsyon April 2026 · 9 dk okuma

MMP’niz neden bir şey söylerken GA4 başka bir şey söylüyor

Atribüsyon model farklılıkları, lookback pencereleri ve raporlarınızı uyuşmaz kılan veri boşlukları.

SD
Servet Demirhan Performans Pazarlama ve Büyüme

Bu not, ölçümleme kümesinde yalnızca MMP ve GA4 rapor farkının sahibidir; GA4 kurulum rehberi, event checklist aracı ve genel ölçümleme mimarisi ayrı sayfalardır. Eğer AppsFlyer veya Adjust’tan haftalık kurulum raporu çekip GA4 ile karşılaştırdıysanız, sonucu zaten biliyorsunuzdur: rakamlar hiçbir zaman tutmuyor. MMP’nizin 4.200 kurulum atfettiği bir kampanya GA4’te 2.900 first_open etkinliği olarak görünebilir. Tersi de olabilir. Bu farkların neden var olduğunu anlamak, ekibinizin gerçekten güvenebileceği bir raporlama çerçevesi oluşturmanın ilk adımıdır.

MMP ve GA4 attribüsyon modelleri neden farklı?

AppsFlyer, Adjust ve Branch gibi MMP’ler genellikle son tıklama bazlı, deterministik bir modelle çalışır. Kurulumdan önceki son tıklamaya kredi atar ve cihaz düzeyindeki reklam etkileşimlerini kullanırlar. GA4 ise 2023 sonundan itibaren varsayılan olarak veriye dayalı attribüsyon modeli kullanır ve dönüşüm yollarına göre fraksiyonel kredi dağıtır. İki farklı felsefe, iki farklı rakam.

Aşağıdaki tablo iki sistemin yapısal farklarını yan yana koyuyor.

KonuMMP (AppsFlyer/Adjust)GA4
Atıf modeliLast-touch deterministik + fingerprint fallbackData-driven (ML, 2023+)
Veri kaynağıCihaz-level reklam etkileşimi (SDK)SDK + web pageview + first_open
Kredi dağılımıSon tıklamaya %100Touchpoint'lere fraksiyonel (path-based)
iOS sonrası ATTSKAdNetwork postback'leri ile çalışırSKAN consume etmez, kendi SDK olayları
Birincil kullanımMedya satın alma kararıOn-site ve in-app davranış

MMP ve GA4 lookback pencereleri nasıl hizalanır?

Çoğu MMP varsayılan olarak 7 gün tıklama ve 24 saat görüntüleme lookback penceresi kullanır. GA4 ise 30 gün varsayılan etkileşim lookback’i kullanır. Bu, tıklamadan sekiz gün sonra gerçekleşen bir kurulumun MMP’nizde “organik” olacağı, ancak ara bir web sitesi ziyareti varsa GA4’te hala ücretli kampanyaya atfedilebileceği anlamına gelir. Lookback pencerelerini hizalamak yapabileceğiniz en ucuz düzeltmelerden biridir, ancak çoğu ekip bunu asla yapmaz.

Pratik hizalama için hangi pencerede ne kullanılır:

SistemTıklama (click-through)Görüntüleme (view-through)Engagement
AppsFlyer (varsayılan)7 gün24 saat-
Adjust (varsayılan)7 gün1 saat-
Meta Ads (kanal-bazlı)1-7 gün (negotiable)1 gün-
GA4 (default)30 gün-30 gün

SKAdNetwork ve iOS gizlilik katmanı

ATT sonrası, iOS dönüşümlerinin önemli bir bölümü SKAdNetwork postback’leri üzerinden gelir; bunlar gecikmeli, toplu ve cihaz düzeyinde tanımlayıcılardan arındırılmıştır. MMP’ler bu postback’leri alıp kampanyalara eşlemeye çalışır, ancak veri doğası gereği kayıplıdır. GA4 SKAN postback’lerini doğrudan tüketmez; kendi SDK etkinliklerine dayanır. Sonuç, iOS’ta hiçbir dashboard yapılandırmasının tamamen kapatamayacağı yapısal bir boşluktır.

Uzlaştırma katmanı oluşturmak

Bunu iyi yöneten ekipler, genellikle haftalık bir BigQuery işi veya Looker Studio sayfası olan hafif bir uzlaştırma katmanı oluşturur. Her iki kaynaktan ham verileri çeker, kampanya adlandırma kurallarını normalize eder ve tek bir birleşik görünüm üretir. Temel sütunlar mmp_installs, ga4_first_opens, delta_pct ve yüzde 20’nin üzerindeki herhangi bir sapma için bir bayrak’tır.

Uzlaştırma sorgusunun temel iskeleti aşağıda. AppsFlyer'in raw data export'unu BigQuery'e bağladıktan sonra GA4 export ile birleştirilir:

BigQuery · MMP vs GA4 reconciliationWITH mmp AS (
  SELECT
    DATE(install_time) AS date,
    campaign_name,
    COUNT(DISTINCT app_id || advertising_id) AS mmp_installs
  FROM `project.appsflyer.installs`
  WHERE DATE(install_time) BETWEEN @start_date AND @end_date
  GROUP BY 1, 2
),
ga4 AS (
  SELECT
    event_date AS date,
    traffic_source.name AS campaign_name,
    COUNT(DISTINCT user_pseudo_id) AS ga4_first_opens
  FROM `project.analytics_xxx.events_*`
  WHERE event_name = 'first_open'
    AND _TABLE_SUFFIX BETWEEN @start_date AND @end_date
  GROUP BY 1, 2
)
SELECT
  COALESCE(mmp.date, ga4.date) AS date,
  COALESCE(mmp.campaign_name, ga4.campaign_name) AS campaign,
  mmp_installs,
  ga4_first_opens,
  SAFE_DIVIDE(ga4_first_opens - mmp_installs, mmp_installs) AS delta_pct,
  IF(ABS(SAFE_DIVIDE(ga4_first_opens - mmp_installs, mmp_installs)) > 0.20, 'INVESTIGATE', 'OK') AS flag
FROM mmp
FULL OUTER JOIN ga4 USING (date, campaign_name)
ORDER BY date DESC, ABS(delta_pct) DESC;

Bu sorguyu haftalık scheduled query olarak çalıştır, sonucu Looker Studio'ya bağla. flag = "INVESTIGATE" satırlar otomatik incelemeye düşer; %20'den daha büyük varyans her zaman bir attribution mismatch'ine işaret eder.

Kaynaklar / Sources

MMP ve GA4 hakkında sıkça sorulanlar

AppsFlyer veya GA4 tek başına yeterli mi?

Mobile-first marka için MMP zorunlu (medya optimizasyonu için cihaz-level kredi gerek). Web-only marka için GA4 yeterli (atribüsyon ve davranış analizi için). Hybrid (web + app) marka için ikisi de gerek; MMP medya satın almayı, GA4 ürün davranışını ölçer. "Tek araç tüm cevapları verir" sözüne kanma; her aracın kör noktası var.

iOS ATT sonrası kayıp veriyi nasıl geri kazanırım?

Tam geri kazanım yok; yapısal kayıp. Üç telafi: (1) SKAdNetwork postback'lerini doğru consume et, MMP'in postback consolidation'ı kullan. (2) Server-side tracking (CAPI Meta'da, Enhanced Conversions Google'da) ekle; first-party data dropoff'u %15-25 azaltır. (3) Modeled conversions'ı ayrı raporla; "kanıtlı" değil "tahmini" olduğu için medya kararına %50 ağırlıkta katıl. ATT sonrası iOS verisinin %75'i tahmin; bunu kabullen.