1. Gelir takibi neden önemli? Rezervasyon sayısı vs gelir farkı
Kısa cevap : Rezervasyon sayısı “kaç satış”ı gösterir; gelir ise “ne kadar satış”ı gösterir. Otellerde oda tipi, gece sayısı, paket ve pazar farkları yüzünden aynı rezervasyon adedi çok farklı gelir üretebilir. Bu nedenle kampanya optimizasyonu ve bütçe tahsisi için gelir takibi zorunludur.
Otel örneği (mini)
- •Kampanya A: 8 rezervasyon → düşük paket/tek gece → düşük toplam gelir
- •Kampanya B: 3 rezervasyon → uzun konaklama/üst segment oda → yüksek toplam gelir
Adet odaklı bakarsanız A “daha iyi” görünür; gelir odaklı bakarsanız B.
Gelir odaklı ölçümün iş etkisi
Sheet’teki veri noktasına uyumlu şekilde: Dönüşüm takibine gelir parametresi eklendiğinde, optimizasyon kararları sadece adet değil, kârlılık odaklı hâle gelir. Bu da pazarlama ile gelir yönetimi ekipleri arasında ortak dil kurar.
Mini Check
- • Kampanyaları bugün “adet” mi “gelir” mi konuşarak değerlendiriyorsunuz?
- • Oda tipleri ve paketler gelirde ciddi fark yaratıyor mu?
- • ROAS hedefiniz var mı, yoksa sadece CPA mı bakıyorsunuz?
- • PMS/rezervasyon raporuyla GA4 geliri arasında fark var mı?
Ne yapmalıyım?
- • “Başarı”yı rezervasyon adedi yerine gelir/ROAS ile tanımlayın.
- • Gelirin tanımını netleştirin: vergiler/komisyon dahil mi hariç mi?
- • value ve currency’yi ölçüme eklemeden optimizasyonu büyütmeyin.
- • PMS ile aylık tutarlılık kontrolü planlayın.

2. GA4’te gelir parametreleri (value, currency) nasıl çalışır?
GA4’te gelir takibinin en temel katmanı, dönüşüm event’iyle birlikte değer bilgisini göndermektir. Otel senaryosunda bu genellikle booking_complete veya purchase event’i ile olur.
Minimum gelir seti (çekirdek)
- •transaction_id (tekil rezervasyon kimliği)
- •value (toplam tutar)
- •currency (TRY/EUR/USD)
Neden transaction_id kritik? Çünkü tekrar tetiklenme (double fire) riskini yönetmenin en sağlıklı yolu tekil bir ID taşımaktır. Aynı rezervasyon iki kez sayılırsa hem adet hem gelir şişer.
Çoklu para birimi riski (technical note)
Sheet’teki teknik nota göre: Farklı para birimiyle çalışan otellerde GA4 ve Ads tarafında para birimi uyumsuzluğu raporlarda kafa karışıklığı yaratabilir. Bu yüzden iki karar kritik:
- •GA4 property’de raporlama para birimi standardı nedir?
- •currency parametresi her event’te doğru geliyor mu?
Varsayım: Otel birden fazla para birimiyle satış yapıyorsa, dönüşüm event’inde gerçek işlem para birimini (currency) göndermek gerekir; raporlamada ise yönetim için tek bir “rapor para birimi”ne dönüştürme ihtiyacı doğabilir (BI/finans katmanı).
KDV/komisyon dahil–hariç mantığı (otel gerçekliği)
Geliri tek cümleyle tanımlayın ve ölçümde aynı tanımı kullanın:
- •“Brüt gelir” mi (KDV dahil), yoksa “net gelir” mi?
- •OTA komisyonları gibi kesintiler bu event değerine dahil mi?
Kural: Pazarlama optimizasyonu için en pratik olan, platformlar arası tutarlı bir “standart değer” kullanmaktır. Finans raporunu birebir kopyalamak yerine, tutarlılık hedeflenir.

Mini Check
- • transaction_id her rezervasyonda tekil mi?
- • value “number” formatında mı (virgül/nokta karmaşası yok)?
- • currency her rezervasyon event’inde geliyor mu?
- • Gelir tanımı (brüt/net) dokümante mi?
Ne yapmalıyım?
- • Minimum seti kilitle (transaction_id + value + currency).
- • Para birimi uyumunu GA4 ve Ads tarafında kontrol et.
- • KDV/komisyon dahil–hariç kararını ver ve standardı bozma.
- • Double fire riskini debug ve ID ile yönet.
3. DataLayer ile tutar, gece ve oda bilgisini taşımak (otel ekonomisi)
Gelir event’ini yalnızca value ile göndermek “başlangıç” için yeterlidir; fakat otel ekonomisini anlamak için nights, room_type, rate_plan gibi alanlar çok değerlidir. Çünkü revenue management kararları burada saklıdır: aynı value, farklı gece sayısı ile farklı “oda başı gelir” anlamına gelebilir.
Önerilen otel gelir payload’ı (pratik)
- •Zorunlu: transaction_id, value, currency
- •Çok faydalı: nights, room_code/room_type, rate_plan
- •Opsiyonel: adults, children, rooms_count, promo_code
Örnek dataLayer snippet (booking_complete)
```js window.dataLayer = window.dataLayer || []; window.dataLayer.push({ event: "booking_complete", transaction_id: "RZV-845193", value: 1890.00, currency: "EUR", checkin_date: "2026-06-10", checkout_date: "2026-06-15", nights: 5, room_code: "DSV-01", room_name: "Deluxe Sea View", rate_plan: "Early Booking", adults: 2, children: 1, rooms_count: 1 }); ```
Tek gece vs paket rezervasyon ayrımı
- •Tek gece rezervasyonlar genelde hızlı karar + düşük value olabilir.
- •Paket/uzun konaklama yüksek value taşır ama adet düşük olabilir.
Bu ayrımı nights ve rate_plan ile görmek, Ads optimizasyonunda “değer” odaklı kampanya kurgusu için güçlü sinyaldir.
Revenue değerinin “hangi tutar” olduğu net olmalı
İki ayrı değer tutabilirsiniz (ileri seviye):
- •value_gross (brüt)
- •value_net (net)
Ama platform optimizasyonu için tek bir standart value seçmek daha pratik olur. Diğerini BI/finans katmanında kullanabilirsiniz.


Mini Check
- • booking_complete event’inde nights ve room bilgisi geliyor mu?
- • value her zaman aynı tanıma göre mi (brüt/net)?
- • Paket ve tek gece ayrımı rate_plan ile yapılabiliyor mu?
- • Çok odalı rezervasyonlarda rooms_count doğru mu?
Ne yapmalıyım?
- • Önce value/currency’yi oturt, sonra nights/room alanlarını ekle.
- • rate_plan standardı koy (kampanya analizine yarar).
- • Çok odalı rezervasyonda “özet” yaklaşımıyla başla.
- • DataLayer sözlüğünü developer + pazarlama birlikte kilitlesin.
4. Google Ads’e gelir bazlı dönüşüm aktarmak (value ile)
Geliri Ads’e taşımak, kampanyaları “rezervasyon sayısı” yerine “gelir katkısı” ile optimize etmeyi mümkün kılar. Burada temel mantık:
- •GA4’te değerli conversion (booking_complete/purchase) tanımlı olur
- •Bu conversion, Ads’e import edilir
- •Ads raporlarında conversion value ve ROAS okunur
ROAS’ı otel bağlamında doğru okumak
- •ROAS = (Dönüşüm değeri / Harcama)
Otel için bu “rezervasyon geliri / reklam harcaması” gibi okunur. Dikkat: Para birimi uyumsuzluğu varsa ROAS yanıltır. Bu yüzden currency tutarlılığı ve raporlama para birimi standardı şarttır.
“Sadece adet değil, gelir bazlı bak” mesajı
Bu yazının en önemli çıktısı şudur:
- •Adet KPI’sı: kampanya hacmini gösterir
- •Gelir KPI’sı: kampanya kalitesini gösterir
İkisi birlikte okunmadığında yanlış karar verme riski artar.

Mini Check
- • Ads’te conversion value görünür mü?
- • ROAS raporları para birimi açısından tutarlı mı?
- • Conversion seti şişmiyor mu (gelir conversion’ı net mi)?
- • Smart bidding stratejisi gelir sinyalini kullanacak şekilde kurgulandı mı?
Ne yapmalıyım?
- • Gelir conversion’ını tek ve net tut (booking_complete).
- • Ads’te conversion value görünürlüğünü kontrol et.
- • ROAS hedefini (en azından benchmark) belirle.
- • Para birimi uyumsuzluğu varsa önce bunu çöz.
5. PMS raporlarıyla karşılaştırma ve kalite kontrol (QA)
Gelir ölçümünde “doğru” demek için tek kaynak GA4 değildir. Otel operasyonunun gerçek kaydı PMS/rezervasyon sistemidir. Bu yüzden minimum bir QA rutini önerelim:
Aylık doğrulama (minimum)
- •PMS rezervasyon geliri (seçili kanal: direct web)
- •GA4 booking_complete toplam value
- •Ads conversion value (Ads kaynaklı)
Arada fark varsa, önce şu soruları sorun:
- •Double fire var mı?
- •currency yanlış mı?
- •tax/komisyon tanımı farklı mı?
- •iptal/iade senaryoları nasıl ele alınıyor?
İptal ve değişiklikler (ileri seviye not)
Otel rezervasyonlarında iptal/değişiklik olabilir. GA4/Ads tarafında iptal event’i veya value düzeltmesi yönetilmezse, gelir şişik kalabilir. Bu noktada süreç tasarımı gerekir (event update/adjustment). Varsayım: Bu rehber “temel gelir takibi” odaklıdır; iptal/düzeltme senaryosu ayrı bir ileri seviye içerik olarak ele alınabilir.

Mini Check
- • PMS ile GA4 geliri aynı tanıma göre mi?
- • Currency uyumu ve formatlar doğru mu?
- • Double fire / tekrar sayım kontrol edildi mi?
- • Aylık QA rutini dokümante mi?
Ne yapmalıyım?
- • Önce “tanım birliği” kur (brüt/net).
- • Aylık PMS vs GA4 kıyas tablosu çıkar.
- • Sapma varsa kök nedeni bul (currency/double fire).
- • Gelir ölçümü oturduktan sonra ROAS hedeflerini netleştir.
6. Gelir Parametreleri & ROAS Hesaplama Şablonu

Gelir Parametreleri & ROAS Hesaplama Şablonunu İndir — SEM / Revenue Tracking (v1.0)
Bu şablon, otel rezervasyon gelirini GA4 ve Google Ads’te ölçmek için gereken parametre setini (value/currency/transaction_id) standardize eder ve ROAS okuma/yorumlama çerçevesi sağlar. Ayrıca PMS ile aylık tutarlılık kıyası yapmanız için basit bir kontrol tablosu ve “brüt/net gelir” tanımı alanı içerir.
Kim Kullanır?
Otel pazarlama + revenue management + ajans performans + (gerektiğinde) developer.
Nasıl Kullanılır?
- Gelir tanımını seç: brüt mü net mi (KDV/komisyon dahil–hariç).
- Event parametre tablosunu doldur ve dataLayer mapping’i netleştir.
- Ads value ve ROAS raporunu PMS kıyas tablosuyla aylık doğrula.
Ölçüm & Önceliklendirme (Kısa sürüm)
- ▢ ✅ transaction_id + value + currency olmadan gelir ölçümünü “tamam” sayma.
- ▢ ✅ value her zaman number formatında olsun; virgül/nokta standardı koy.
- ▢ ✅ currency çoklu para birimi varsa zorunlu; rapor standardını ayrıca belirle.
- ▢ ✅ Double fire riskini debug ile kontrol et (tekil event).
- ▢ ✅ Ayda 1 PMS kıyasını yap; sapma varsa kök nedeni not al.
PDF içinde: Problem→Kök Neden→Çözüm tablosu + 14 gün sprint planı + önce/sonra KPI tablosu
7. Kapanış – Geliri ölçmeden kârlılığı optimize edemezsin
Rezervasyon adedi tek başına performansı anlatmaz. value ve currency ile gelir ölçümünü kurduğunuzda, kampanyaları ROAS ve gelir katkısına göre değerlendirebilir; pazarlama ve gelir yönetimini aynı KPI dilinde buluşturabilirsiniz.
Bir Sonraki Adım
Geliri GA4 + Ads’te tutarlı ölçüp ROAS kararlarını doğru kurmak isteyen oteller ve ajans ekipleri için.
Sık Sorulan Sorular
Rezervasyon geliri GA4’te nasıl takip edilir?▾
Google Ads’e gelir bazlı dönüşüm nasıl aktarılır?▾
Rezervasyon sayısı ile gelir arasındaki fark neden önemli?▾
ROAS otellerde nasıl hesaplanır?▾
currency alanı neden kritik?▾
KDV/komisyon dahil–hariç nasıl yönetilmeli?▾
PMS ile GA4 geliri neden farklı çıkabilir?▾
İlgili İçerikler
İlgili Yazılar
