Uygulamanızın ROAS değeri Apple ve Google'ın iade ettiği satın alımları hâlâ sayıyor, bu yüzden teklifinizi net ROAS'a göre verin
İadeler reklam platformlarına nadiren geri akar, bu yüzden ROAS, Apple ve Google'ın çoktan geri ödediği satın alımları kampanyaya yazmaya devam eder. Firebase, Google Ads ve AdAttributionKit'in iadeleri nerede kaybettiğini, bunun maliyetini ve bir uygulama için net ROAS'ı nasıl kuracağınızı anlatıyoruz.

Önemli noktalar
- Firebase'in otomatik toplanan app_store_refund etkinliği yalnızca Google Play bir uygulama içi satın alımı iade ettiğinde tetiklenir. Google bu etkinliği yalnızca Android olarak işaretler, bu yüzden App Store iadeleri Firebase'in kaydettiği in_app_purchase gelirini hiçbir zaman düşürmez.
- Google Ads, Android uygulamaları için Google Play uygulama içi satın alımlarını otomatik olarak izler ve satın alma değerini dönüşüm değeri olarak raporlar. Aboneliklerde yalnızca ilk satın alımı ve ilk ödeme değerini kaydeder.
- Google Ads dönüşüm düzeltmeleri bir dönüşümün değerini yeniden belirleyebilir ya da onu geri çekip sıfıra indirebilir. Google'a göre çevrimiçi dönüşümler yalnızca bir işlem kimliğiyle gönderildilerse düzeltilebilir.
- Apple'ın AdAttributionKit çerçevesinde ilk açılıştan sonra üç dönüşüm penceresi vardır: 0 ile 2, 3 ile 7 ve 8 ile 35. günler. Ayrıntılı dönüşüm değeri yalnızca ilk postback'te yer alır.
- Net ROAS, reklama atfedilen gelirden bu satın alımlara ait iadelerin çıkarılıp reklam harcamasına bölünmesiyle bulunur. Brüt ROAS'ı daha yüksek olan bir kampanya, alıcıları daha çok iade istediğinde net ROAS'ta daha aşağıda kalabilir.
- İade sinyalleri reklam ağına değil, geliştiricinin sunucusuna ulaşır. Apple bir REFUND App Store Server Notification gönderir. Google Play ise iptalleri gerçek zamanlı geliştirici bildirimleri ve 30 gün geriye bakan Voided Purchases API üzerinden bildirir.
- Geliştiricinin kanıt sunabildiği yalnızca iki iade akışı vardır: 12 saat içinde yanıtlanan Apple CONSUMPTION_REQUEST ve orders.reviewrefund üzerinden 24 saat içinde yanıtlanan Google Play ters ibraz incelemesi.
Reklam panoları bir uygulama içi satın alımı gerçekleştiği anda kaydeder ve çoğu bunu hiçbir zaman geri almaz. Apple veya Google o satın alımı daha sonra iade ettiğinde para ödemenizden çıkar ama kampanyanın gelirinde kalır. Böylece ROAS, satışı yapan reklama itibar yazmaya devam eder. Net ROAS, yani iadelerden sonraki gelirin reklam harcamasına bölümü, hangi kampanyaların gerçekten kazandırdığını gösteren sayıdır. Bunu kendiniz kurmanız gerekir, çünkü iade sinyali reklam ağına değil, sizin sunucunuza düşer.
İadeler hesaba katılmadığında ROAS geliri neden olduğundan yüksek gösterir
ROAS, atfedilen geliri reklam harcamasına böler. Gelir tarafı genellikle bir kez, satın alma anında yazılır: cihazdaki bir SDK ya da mağazadan yapılan bir dönüşüm aktarımı tarafından. İade ise daha sonra, cihazın dışında, müşteri ile Apple veya Google arasında gerçekleşen bir olaydır. Bir şey onu aynı kampanyaya geri taşımadıkça satın alım sayılmaya devam eder.
İadeler nadir ve eşit dağılmış olsaydı bunun bir zararı olmazdı. Genellikle öyle değildir. Uygulamanın sunduğundan fazlasını vaat eden bir kreatif, yanlış kitleye gösterilen bir teklif ya da çalıntı kartlarla dolu bir trafik kaynağı iadeleri belirli kampanyalara çeker. Brüt ROAS tam olarak bu farkı gizler.
Net ROAS nedir?
Net ROAS, iadelerin üst satırdan düşüldüğü aynı orandır: bir kampanyaya atfedilen gelir, eksi aynı satın alımlara ait iadeler, bölü kampanyanın maliyeti. Bazı ekipler mağaza komisyonunu ve vergiyi de düşer. Başka neyi çıkarırsanız çıkarın, hangi kampanyanın kazandığını değiştiren kısım iadelerdir.
İadeler mağaza ile reklam panonuz arasında nerede kayboluyor
Firebase, App Store iadelerini değil Google Play iadelerini kaydeder
Google'ın otomatik toplanan etkinlikler listesinde in_app_purchase bulunur. Bu etkinlik, bir kullanıcı Apple App Store veya Google Play tarafından işlenen bir uygulama içi satın alımı tamamladığında tetiklenir, ilk abonelik de buna dahildir. İade karşılığı olan app_store_refund ise bir uygulama içi satın alım Google Play tarafından iade edildiğinde tetiklenir ve Google onu yalnızca Android olarak işaretler. Ne app_store_refund ne de otomatik abonelik etkinlikleri BigQuery'ye aktarılır.
Aynı sayfa, Analytics'in ücretli uygulama satın alma gelirini ve iadelerini otomatik olarak ölçmediğini ve raporlanan gelirin Google Play Developer Console'dan farklı olabileceğini belirtir. iOS'ta, Firebase'in zaten kaydettiği bir satın alımdan App Store iadesini otomatik olarak düşen hiçbir şey yoktur.
Google Ads satın alma değerini dönüşüm değeri olarak kaydeder
Uygulama içi faturalandırma kullanan Android uygulamalarında Google Ads, reklamınıza tıklayan kişilerin uygulama içi satın alımlarını uygulamaya kod eklemeden izleyebilir. Google'a göre satın alma değeri otomatik olarak dönüşüm değeri olarak raporlanır. Aboneliklerde yalnızca ilk satın alım dönüşüm olarak, yalnızca ilk ödeme değeri de değer olarak kaydedilir. Yardım makalesi iadelerden söz etmez.
Google Ads'in bir düzeltme aracı vardır. Dönüşüm düzeltmeleri, sayıyı değiştirmeden bir dönüşümün değerini yeniden belirlemenizi ya da onu geri çekmenizi sağlar. Geri çekme değeri 0.00 yapar ve hem CPA hem de ROAS teklif stratejilerini besler. Google'a göre çevrimiçi dönüşümler yalnızca bir işlem kimliği kullandıysanız düzeltilebilir ve geri çekilmiş bir dönüşüm tekrar düzeltilemez. O sayfa uygulama dönüşümlerinden söz etmez. Bu yüzden üzerine bir şey kurmadan önce dönüşüm kurulumunuzun düzeltmeleri desteklediğini doğrulayın.
Apple'ın reklam postback'leri pek çok iade gelmeden kapanır
AdAttributionKit'te kullanıcı uygulamayı ilk kez açtığında başlayan üç dönüşüm penceresi vardır: 0 ile 2. günler, 3 ile 7. günler ve 8 ile 35. günler. Uygulama bir pencere bitene kadar dönüşüm değerini güncelleyebilir. Apple ardından postback'i rastgele bir gecikmeyle gönderir: ilki için 24 ile 48 saat, ikinci ve üçüncü için 24 ile 144 saat. Uygulama bir değeri erken kilitlerse sistem o penceredeki sonraki güncellemeleri yok sayar.
Ayrıntılı dönüşüm değeri yalnızca ilk postback'te yer alır. Sonraki postback'ler en iyi ihtimalle kaba bir değer taşır. 1. günde yapılan ve Apple'ın 10. günde iade ettiği bir satın alım, artık değiştirilemeyen bir postback'te raporlanmış olur.
| Ölçüm yüzeyi | Satın alma anında kaydettiği | Satın alım iade edildiğinde ne olur |
|---|---|---|
| Firebase in_app_purchase, Android ve iOS | Ürün kimliği, fiyat, değer, para birimi, adet | Android: app_store_refund tetiklenir. iOS: otomatik iade etkinliği yok |
| Google Ads, Google Play dönüşümleri, Android | Dönüşüm değeri olarak satın alma değeri, aboneliklerde yalnızca ilk ödeme | Açıklanmamış. Düzeltmeler, işlem kimliğiyle gönderilen çevrimiçi dönüşümleri yeniden belirleyebilir ya da geri çekebilir |
| AdAttributionKit postback'leri, iOS | Pencere başına bir dönüşüm değeri, ayrıntılısı yalnızca ilkinde | O pencerenin postback'i hazırlandığında sabitlenir |
| Kendi sunucunuz | Kullanıcı kimliğinize bağlı her işlem | Apple REFUND bildirimi, Google Play iptal edilmiş satın alım sinyalleri |
Uygulama iadeleri ne zaman gelir ve kim karar verir
İadeler tek bir takvime göre gelmez. Bazıları satın alımdan birkaç saat sonra, bazıları aylar sonra gelir. Kampanya raporu kesinleşmiş göründükten sonra bir kohortun ROAS değerinin düşmeye devam etmesinin nedeni budur.
| İade yolu | Mağazanın kendi ifadesiyle zamanlama | Kim karar verir | Sunucunuzdaki sinyal |
|---|---|---|---|
| Google Play iade talebi | Müşteri ilk 48 saat içinde Google'a başvurur. Sonrasında Google onu geliştiriciye yönlendirir | Önce Google, sonra siz | RTDN ve Voided Purchases API üzerinden iptal edilmiş satın alım |
| Google Play geliştirici iadesi | Siz ne zaman yaparsanız | Siz | Erişimi iptal ederseniz iptal edilmiş satın alım |
| Google Play yetkisiz ödeme bildirimi | İşlemden sonraki 120 gün içinde | İptal edilmiş satın alım | |
| Apple iadesi | reportaproblem.apple.com üzerinden istenir, 24 ile 48 saat içinde güncelleme gelir | Apple | revocationReason içeren REFUND bildirimi |
| Apple tüketim talebi | 12 saat içinde yanıtlarsınız | Verilerinizi kullanarak Apple | CONSUMPTION_REQUEST |
| Google Play ters ibraz incelemesi | orders.reviewrefund üzerinden 24 saat içinde yanıtlarsınız | Kanıtlarınızdan sonra banka | Ters ibraz geçerli kalırsa iptal edilmiş satın alım |
İadeleri görmeyen bir ROAS'ın parasal maliyeti
Aynı bütçeye sahip iki kampanya düşünün. Aşağıdaki rakamlar bir kıyaslama değil, bir örnektir.
| Kalem | Kampanya A | Kampanya B |
|---|---|---|
| Reklam harcaması | $10,000 | $10,000 |
| Atfedilen satın alma geliri | $14,000 | $12,500 |
| Brüt ROAS | 1.40 | 1.25 |
| Bu gelirin iade edilen payı | 18% | 4% |
| İadelerden sonraki gelir | $11,480 | $12,000 |
| Net ROAS | 1.15 | 1.20 |
Brüt ROAS parayı A'ya kaydırmanızı söyler. Net ROAS ise B'nin her dolardan daha fazlasını elde tuttuğunu söyler. Teklif verme brüt değerle çalışıyorsa algoritma A'nın alıcılarından daha fazlasını bulmaya devam eder, çünkü hiçbir şey ona bu alıcıların paralarını geri istediğini söylemez.
Reklam harcaması yalnızca ilk faturadır. İade alan bir müşteri geride şunları da bırakır:
- Ödemeler. Satın alım başına ödenen ortaklık, içerik üreticisi ve influencer anlaşmaları, sözleşme aksini söylemedikçe genellikle iadeler düşülmüş satış üzerinden değil, satış üzerinden ödenir.
- İşlem gücü, API çağrıları ve depolama. İade alan kullanıcı, erişimi iptal edilene kadar sunucularınızı, ücretli üçüncü taraf API'lerinizi ve depolama alanınızı kullandı. O faturalar iade edilmez.
- Ters ibraz maliyetleri. 3 Ağustos 2026'dan bu yana Google, ters ibraza konu satın alma bedelini ve banka ücretlerini geliştiriciye yüklüyor. Bu yüzden itirazı bol bir Android trafik kaynağı, kaybettirdiği gelirden daha pahalıya gelir.
- Daha kötü hedefleme. İade edilmiş satın alımlarla eğitilen değer tabanlı teklif verme, parası geri ödenen kişilere benzeyen daha fazla insan aramaya başlar.

Tek bir kampanyadaki yüksek iade oranı dolandırıcılık mı, yoksa tutulmayan bir vaat mi?
Çoğu zaman sorun vaattir. Apple'ın revocationReason alanı bir iadenin hangi tarafa düştüğünü söyler. 0, App Store'un işlemi başka nedenlerle, örneğin yanlışlıkla yapılan bir satın alım yüzünden iade ettiği anlamına gelir. 1, uygulamanızdaki gerçek ya da algılanan bir sorun nedeniyle iade ettiği anlamına gelir. Tek bir kampanyadan gelen 1 yığılması genellikle reklam kreatifine ya da onun yönlendirdiği ilk kullanım akışına işaret eder. Google Play'de yetkisiz ödeme bildirimlerinin yığılması ise trafik kaynağına işaret eder.
Bir uygulama için net ROAS nasıl kurulur
Başlamak için yeni bir araca ihtiyacınız yok. Verilerinizin muhtemelen henüz yapmadığı birkaç birleştirmeye ihtiyacınız var.
- Kampanyayı kullanıcıya bağlı tutun. Atıf sonucunu kurulum anında kendi kullanıcı kimliğinizin yanına kaydedin, böylece sonraki her işlem bir kampanyaya kadar izlenebilir.
- İşlemi kullanıcıya bağlı tutun. iOS satın alımlarında bir appAccountToken, Google Play satın alımlarında gizlenmiş bir hesap kimliği ayarlayın, böylece her mağaza etkinliği tahmine gerek kalmadan kullanıcınızla eşleşir.
- İadeleri sunucuda dinleyin. App Store Server Notifications V2 üzerinden gelen Apple REFUND bildirimini ve Google Play'in iptal edilmiş satın alım bildirimlerini işleyin. Voided Purchases API yalnızca son 30 günün iptallerini döndürdüğü için onu bir yedek olarak düzenli sorgulayın.
- Brüt ve neti satın alma kohortuna göre yan yana raporlayın. Her iadeyi, iadenin göründüğü güne değil, onu kazandıran kampanyaya ve satın alma tarihine yazın.
- Bir platform düzeltme kabul ediyorsa düzeltme gönderin. Google Ads dönüşümleriniz bir işlem kimliği taşıyorsa iade edilenlerin değerini yeniden belirleyin ya da onları geri çekin. Düzeltme kabul etmeyen platformlarda bütçeyi net rakamlara göre kaydırın.
- İki kanıt talebini zamanında yanıtlayın. RefundHalt, Apple CONSUMPTION_REQUEST talebini 12 saatlik süre içinde, Google Play ters ibraz incelemesini de 24 saat içinde yanıtlar. Böylece itiraz edebileceğiniz iadelerde sizin tarafınızın anlatımı da dosyaya girer.
İadeler satın alma tarihine mi, iade tarihine mi yazılmalı?
Kampanya kararları için satın alma tarihine. İade, bir satın alıma ait bir olgudur ve satın alım bir kampanyaya aittir. Finans ekibi onu iade tarihine kaydeder. ROAS raporunuzun ve ödemenizin herhangi bir günde uyuşmamasının nedeni budur. İki görünümü de tutun ve etiketleyin.
Bir kohortun net ROAS değeri ne zaman kesinleşir?
Adım adım oturur. Google'ın self servis iade penceresi 48 saat sonra kapanır. Apple müşterilere bir iade talebiyle ilgili güncellemeyi 24 ile 48 saat içinde beklemelerini söyler. Google Play yetkisiz ödeme bildirimi ise işlemden sonraki 120 gün içinde gelebilir. İlk rakamları geçici kabul edin ve aynı kohortu daha sonra yeniden kontrol edin.
Sık sorulan sorular
- Firebase iadeleri uygulama içi satın alma gelirinden düşer mi?
- Yalnızca Google Play için. Firebase'in otomatik toplanan app_store_refund etkinliği Google Play bir uygulama içi satın alımı iade ettiğinde tetiklenir ve Google onu yalnızca Android olarak işaretler. App Store iadeleri için otomatik bir karşılık yoktur. Google ayrıca Analytics'in ücretli uygulama satın alma gelirini ve iadelerini otomatik olarak ölçmediğini belirtir.
- Google Ads iade edilen uygulama içi satın alımları dönüşümlerden çıkarır mı?
- Google'ın Google Play dönüşümleri hakkındaki kendi makalesi bunu yaptığını söylemez. Satın alma değerinin dönüşüm değeri olarak raporlandığını söyler ve iadelerden söz etmez. Google Ads dönüşüm düzeltmeleri bir dönüşümün değerini yeniden belirleyebilir ya da onu geri çekebilir. Google'a göre çevrimiçi dönüşümler yalnızca bir işlem kimliğiyle gönderildilerse düzeltilebilir.
- AdAttributionKit postback'leri bir iadeyi yansıtabilir mi?
- Yalnızca iade, o dönüşüm penceresinin postback'i hazırlanmadan önce gerçekleşirse. Pencereler ilk açılıştan sonraki 0 ile 2, 3 ile 7 ve 8 ile 35. günleri kapsar. Bir pencere bittiğinde ya da değer kilitlendiğinde Apple o penceredeki sonraki güncellemeleri yok sayar.
- Bir uygulama için net ROAS nasıl hesaplanır?
- Bir kampanyaya atfedilen geliri alın, aynı satın alımlara ait iadeleri çıkarın ve kampanyanın reklam harcamasına bölün. İade kaydı olarak Apple REFUND bildirimini ve Google Play'in iptal edilmiş satın alım sinyallerini kullanarak her iadeyi onu kazandıran satın alma kohortuna yazın.
- ROAS değerimi düşüren iadelere itiraz edebilir miyim?
- Yalnızca iki türüne. Apple CONSUMPTION_REQUEST, tüketim verilerini 12 saat içinde göndermenize izin verir. orders.reviewrefund üzerinden yürüyen Google Play ters ibraz incelemesi ise size 24 saat tanır. Google Play'in 48 saatlik iadeleri, destek iadeleri ve iptal edilmiş satın alımlar siz olmadan karara bağlanır. Banka ters ibrazları ise kesindir.
Kaynaklar ve ek okumalar
- Firebase Help: [GA4] Automatically collected events
- Google Ads Help: Measure app conversions with Google Play
- Google Ads Help: About conversion adjustments
- Apple Developer Documentation: Receiving postbacks in multiple conversion windows
- Apple Developer Documentation: notificationType
- Apple Developer Documentation: revocationReason
- Google Play Developer API: Voided Purchases API
- Google Play Help: Apps, games, and in-app purchases refund policies
- Google Play Help: Learn about Google Play refund policies
- Apple Support: Request a refund for apps or content that you bought from Apple
RefundHalt
App Store ve Google Play için geri ödeme otomatik pilotu
Okumaya devam edin
Müşterinin makbuzundaki App Store order ID, ne satın aldığını ve Apple'ın parayı çoktan iade edip etmediğini söyler
Apple'ın Look Up Order ID endpoint'i, müşterinin App Store makbuzundaki order ID'yi iade tarihleri ve nedenleri dahil signed transactions'a dönüştürür. İade e-postalarında nasıl kullanılacağı, neyi yapamadığı ve Google Play'in order ID'siyle farkı burada.
iOS web ödeme iadeleri artık Apple'a değil size geliyor, banka itirazları da öyle
ABD'deki iPhone uygulamaları artık alıcıları bir web ödeme sayfasına yönlendirebiliyor. Apple bu satışlardaki iadelere yardımcı olamayacağını söylüyor, bu yüzden iade masası, ters ibrazlar ve $15'lık itiraz ücretleri size geçiyor. Neyin değiştiğini, bunun neye mal olduğunu ve itirazları nasıl azaltacağınızı anlatıyoruz.