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. Bu yüzden SEM stratejisi içinde gelir bazlı dönüşüm ölçümü, yalnız conversion adedine değil rezervasyon değeri ve ROAS katkısına göre karar vermeyi gerektirir.
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 ve online satışta rezervasyon gelirini doğru ölçmek isteyen ekipler için direct booking performansını daha net görünür hale getirir.
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. Ancak bu event’in doğru kampanyaya yazılması için ana site ile booking engine arasındaki oturum ve kaynak bilgisinin korunması gerekir; bu nedenle GA4 ve Google Ads’de rezervasyon gelirini ölçmek ancak cross-domain ve thank-you event kurgusu doğruysa güvenilir hale gelir.
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. Bu nedenle booking value ile kampanya performansını okumak için DataLayer içinde revenue, currency, booking_id ve oda parametrelerini standartlaştırmak gerekir.
Ö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. Bu aşamada Google Ads value ROAS mantığıyla value-based bidding ve gelir bazlı teklif stratejilerini birlikte değerlendirmek gerekir.
“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. Hangi value modelinin kullanılacağına da ayrıca karar vermek gerekir; çünkü rezervasyon gelirine göre ROAS optimizasyonu sabit değil, otelin lead yapısına, rezervasyon akışına ve kampanya modeline göre değişebilir.

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.
Reklam panelinde görünen value ile gerçek operasyonel sonucu aynı tabloda okumak için booking revenue tracking, yani rezervasyon gelir takibini satış dönüşüm raporlamasıyla eşleştirmek gerekir. Böylece direct web rezervasyonu, iptal etkisi ve kanal bazlı gelir katkısı daha güvenilir okunur.

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.
Bu gelir ölçüm yapısını otelinizde daha sistemli kurmak isterseniz oteller için dönüşüm takibi ve Tag Manager kurulumu sayfası bir sonraki doğal adımdır. Karar öncesinde kapsamı, revenue parametrelerini ve uygulama çerçevesini gözden geçirmek için dönüşüm takibi ve Tag Manager hakkında sık sorulan sorular bölümüne de geçebilirsiniz.
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
- → otel rezervasyon geliri GA4
- → SEM stratejisi içinde gelir bazlı dönüşüm ölçümü
- → GA4 ve Google Ads’de rezervasyon gelirini ölçmek
- → booking value ile kampanya performansını okumak
- → Google Ads value ROAS
- → rezervasyon gelirine göre ROAS optimizasyonu
- → booking revenue tracking
- → online satışta rezervasyon gelirini doğru ölçmek
- → dönüşüm takibi ve Tag Manager hakkında sık sorulan sorular
İlgili Yazılar
