İçeriğe geç

GTM Analytics Entegrasyonu

Herhangi bir Google Tag Manager (GTM) konteynerini, Wink portalına GTM Konteyner ID’si girerek Wink ile bağlayabilirsiniz. Bağlandıktan sonra, konteyneriniz mülkünüz için otomatik olarak yüklenir ve Wink’in rezervasyon etkinliklerini doğrudan okur — aramadan tamamlanmış rezervasyona kadar tüm misafir yolculuğunu kapsar. Yaygın bir kullanım örneği, yeniden hedefleme ve reklam için Sojern konteyneridir, ancak herhangi bir GTM konteyneri aynı şekilde çalışır.


  1. GTM Konteyner ID’nizi Alın

    GTM Konteyner ID’nizi (format GTM-XXXXXXX) edinin. Eğer bir iş ortağından, örneğin Sojern’den geliyorsa, GTM Konteyner ID’sini özellikle talep edin — bu, piksel veya etiket ID’sinden farklıdır.

  2. Wink Portalına Girin

    app.wink.travel adresine giriş yapın, hesabınızı seçin ve Özelleştirmeler sekmesine gidin. GTM Konteyner ID’nizi GTM alanına yapıştırın ve kaydedin. Entegrasyonunuz artık aktif.

  3. (İsteğe Bağlı) Sunucu Tarafı Satın Alma için GA4 Ölçüm ID’si + API Sırrı Ekleyin

    GTM konteynerleri tamamen misafirin tarayıcısında çalışır, bu yüzden ödeme yönlendirmesi sırasında misafir sekmeyi kapatırsa tamamlanmış rezervasyon kaçabilir. Konteyneriniz bir GA4 mülkü yüklüyorsa ve tamamlanmış rezervasyonların güvenilir şekilde kaydedilmesini istiyorsanız, GTM bölümüne o GA4’ün Ölçüm ID’si ve Ölçüm Protokolü API sırrını da girin. Wink, ardından purchase olayını sunucu tarafında gönderir; bu, GA4 Analytics Entegrasyonu rehberinde açıklandığı gibidir. Sadece tarayıcı içi izleme gerekiyorsa bunları boş bırakın.

  4. Sağlayıcınızla Onaylayın

    Konteyneriniz Sojern gibi bir iş ortağından geliyorsa, hesap yöneticinize entegrasyonun aktif olduğunu bildirin. Onlar, mülkünüz için wink.travel üzerinde etiketlerin doğru şekilde tetiklendiğini ve verilerin hesabınıza aktığını doğrulayabilirler.


Şeffaflık için, bu entegrasyonun çalışması için Wink’in yapılandırdıkları:

  • Wink portalınızın Özelleştirmeler sekmesinde bir GTM Konteyner ID alanı bulunur. Konteyner ID’nizi girdiğinizde, Wink formatı (GTM-XXXXXXX) doğrular ve mülkünüze güvenli şekilde kaydeder.
  • Mülkünüzün aktif olduğu her Wink sayfasında, konteyneriniz doğrudan sayfaya enjekte edilir — Wink’in kendi window.dataLayer’ını paylaşır — böylece ekstra bir yapılandırmaya gerek kalmadan Wink’in kendi konteyneriyle birlikte yüklenir. Bu otomatik olarak gerçekleşir, Wink ekibinden mülk başına ekstra bir işlem gerekmez.
  • Konteyneriniz asenkron olarak yüklenir, böylece misafirlerinizin sayfa yükleme performansını etkilemez.
  • Wink’in kendi izleme sistemi ile konteyneriniz paralel çalışır, aynı paylaşılan dataLayer’dan okur. Wink’in takip ettiği her rezervasyon olayı konteyneriniz tarafından da anında erişilebilir.
  • Mülkünüz görüntülenmediğinde — örneğin misafir Wink’te başka bir oteli incelerken — konteyneriniz yüklenmez, böylece sadece mülkünüze ait verileri alır.
  • GA4 Ölçüm ID’si + API sırrı sağladıysanız (yukarıdaki 3. adım), tamamlanmış rezervasyonlar için purchase olayı ayrıca GA4 Ölçüm Protokolü aracılığıyla sunucu tarafında gönderilir; böylece misafir onay sayfasına geri dönmese bile satış kaydedilir.

Wink, misafir yolculuğu boyunca GA4 uyumlu olayları dataLayer’a iter. GTM konteyneriniz aynı paylaşılan dataLayer’dan okur, böylece yapılandırdığınız herhangi bir tetikleyici veya değişken aşağıda açıklanan tüm özelliklere erişebilir.

Her olay standart GA4 Gelişmiş E-Ticaret yapısını takip eder: üst düzey bir event dizesi ve bir ecommerce nesnesi. Her push öncesinde, Wink eski e-ticaret yükünü temizler, böylece eski veriler yeni tetikleyicilere sızmaz.


Bu olaylar, misafir rezervasyon hunisinde ilerledikçe otomatik tetiklenir. GTM tetikleyicilerinizi aşağıdaki olay isimleriyle eşleşen Özel Olay tetikleyicileri olarak yapılandırın.

AdımOlayNe Zaman Tetiklenir
1view_item_listOtel envanter ızgarası veya listesi yüklendiğinde
2view_itemMisafir belirli bir mülk sayfasını görüntülediğinde
3add_to_cartMisafir sepete oda eklediğinde
4begin_checkoutÖdeme sayfası yüklendiğinde
5add_payment_infoMisafir ödeme yöntemi seçtiğinde
6loginMisafir SSO ile kimlik doğruladığında
7purchaseRezervasyon onaylandığında
8refundRezervasyon iptal edildiğinde

Bir otel envanter ızgarası veya listesi oluşturulduğunda tetiklenir.

{
"event": "view_item_list",
"ecommerce": {
"item_list_id": "featured_hotels",
"item_list_name": "Featured Hotels",
"items": [ ]
}
}

Misafir belirli bir mülkü görüntülediğinde tetiklenir.

{
"event": "view_item",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"items": [ ]
}
}

Misafir sepete bir oda eklediğinde tetiklenir.

{
"event": "add_to_cart",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"items": [ ]
}
}

Ödeme sayfası yüklendiğinde tetiklenir.

{
"event": "begin_checkout",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"coupon": "SUMMER10",
"items": [ ]
}
}

coupon sadece indirim kodu uygulandığında bulunur.


Misafir bir ödeme yöntemi seçtiğinde veya onayladığında tetiklenir.

{
"event": "add_payment_info",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"coupon": "SUMMER10",
"payment_type": "STRIPE",
"items": [ ]
}
}

payment_type ödeme sağlayıcı türünden doldurulur. coupon sadece indirim kodu uygulandığında bulunur.


Misafir tek oturum açma (SSO) ile kimlik doğruladığında tetiklenir.

{
"event": "login",
"ecommerce": {
"method": "IAM"
}
}

Rezervasyon onaylandığında tetiklenir.

{
"event": "purchase",
"ecommerce": {
"currency": "USD",
"transaction_id": "bc-a1b2c3d4",
"value": 299.00,
"coupon": "SUMMER10",
"shipping": 0.00,
"tax": 0.00,
"items": [
{
"item_id": "rr-xyz789",
"item_name": "Deluxe Ocean Suite",
"item_brand": "Grand Resort",
"item_category": "GUEST_ROOM",
"price": 299.00,
"quantity": 1,
"property_id": "prop-abc123",
"property_name": "Grand Resort Maldives",
"property_brand": "Grand Collection",
"property_chain": "Luxury Hotels International",
"city_name": "Malé",
"country_code": "MV",
"start_date": "2026-06-01",
"end_date": "2026-06-05",
"num_adults": 2,
"num_children": 0,
"cancellation_policy": "Refundable",
"rate_plan_id": "rp-summer2026",
"room_rate_id": "rr-xyz789",
"room_rate_name": "Summer Escape — Bed & Breakfast",
"num_perks": 2,
"room_location": "Overwater",
"room_view": "Ocean",
"room_classification": "Suite"
}
]
}
}

transaction_id benzersiz rezervasyon sözleşme tanımlayıcısıdır. coupon, shipping ve tax sadece geçerliyse bulunur.


Rezervasyon iptal edildiğinde tetiklenir.

{
"event": "refund",
"ecommerce": {
"currency": "USD",
"transaction_id": "bc-a1b2c3d4",
"value": 299.00,
"coupon": "SUMMER10",
"shipping": 0.00,
"tax": 0.00,
"items": [ ]
}
}

transaction_id, aynı rezervasyon için purchase olayıyla eşleşir. coupon, shipping ve tax sadece geçerliyse bulunur.


items dizisi içeren tüm olaylar aynı ürün şemasını paylaşır. Her özellik isteğe bağlıdır, zorunlu olanlar belirtilmiştir.

Bu alanlar GA4 tarafından doğal olarak anlaşılır ve standart e-ticaret raporlarında ek yapılandırma olmadan görünür.

ÖzellikTürZorunluAçıklama
item_idstringEvetOda veya ürün için benzersiz tanımlayıcı
item_namestringOda veya ürünün adı
affiliationstringSatıcı veya bağlı kuruluş adı
couponstringÜrüne uygulanan kupon kodu
currencystringISO 4217 para birimi kodu (ör. USD)
creative_namestringPromosyonda kullanılan yaratıcı adı
creative_slotstringPromosyon yaratıcı slot pozisyonu
discountnumberUygulanan indirim tutarı
indexnumberListede pozisyonu (1 tabanlı)
item_brandstringOtel veya marka adı
item_categorystringÜrün türü — örn. GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA
item_list_idstringÜrünün ait olduğu liste tanımlayıcısı
item_list_namestringListenin görüntü adı
location_idstringMülkün coğrafi koordinatları
pricenumberBirim fiyat
promotion_idstringPromosyon tanımlayıcısı
promotion_namestringPromosyonun görüntü adı
quantitynumberMiktar (varsayılan 1)

Bu parametreler Wink’e özgü rezervasyon bağlamını taşır. GA4 bunları raporlarda otomatik göstermez — görünmeleri için her birini GA4 mülkünüzde ürün kapsamlı özel boyut olarak kaydetmeniz gerekir. Kurulum için aşağıdaki GA4’te Özel Boyutlar bölümüne bakın.

ÖzellikTürAçıklama
property_idstringWink mülk tanımlayıcısı
property_namestringMülkün görüntü adı
property_brandstringMülkün ait olduğu marka
property_chainstringMülkün ait olduğu zincir
property_url_namestringMülkün URL dostu kısa adı
city_namestringMülkün bulunduğu şehir
country_codestringISO 3166-1 alfa-2 ülke kodu
start_datestringGiriş tarihi, YYYY-MM-DD formatında
end_datestringÇıkış tarihi, YYYY-MM-DD formatında
num_adultsnumberRezervasyondaki yetişkin sayısı
num_childrennumberRezervasyondaki çocuk sayısı
cancellation_policystringŞunlardan biri: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions
rate_plan_idstringFiyat planı tanımlayıcısı
room_rate_idstringBelirli oda fiyatı tanımlayıcısı
room_rate_namestringOda fiyatının görüntü adı
num_perksnumberFiyata dahil avantaj sayısı
room_locationstringOdanın konum tanımı (ör. Overwater, Garden)
room_viewstringOda manzarası tanımı (ör. Ocean, City)
room_classificationstringOda sınıflandırması veya seviyesi (ör. Suite, Standard)
bed_typestringOda yatak konfigürasyonu (ör. King, Twin)

GA4, özel ürün parametrelerini raporlarda görmezden gelir; bunları açıkça ürün kapsamlı özel boyut olarak kaydetmeniz gerekir. Raporlarda kullanmayı planladığınız parametreleri kaydetmeniz yeterlidir — tüm 20 parametreyi kaydetmeniz gerekmez.

  1. Özel Tanımları Açın

    GA4’te, Yönetici (sol alt dişli simgesi) → mülkünüzü seçin → Veri GörüntülemeÖzel tanımlar yolunu izleyin.

  2. Yeni özel boyut oluşturun

    Özel boyut oluştur butonuna tıklayın.

  3. Boyut detaylarını doldurun

    • Boyut adı — GA4 raporlarında görünen okunabilir etiket (aşağıdaki tabloya bakın)
    • KapsamÜrün seçin
    • Olay parametresi — dataLayer’da göründüğü tam parametre adı (aşağıdaki tabloya bakın)
    • Açıklama — isteğe bağlı ama önerilir
  4. Kaydedin ve tekrarlayın

    Kaydet butonuna tıklayın, ardından takip etmek istediğiniz her parametre için tekrarlayın.

Aşağıdaki tablo, özel boyut oluştururken referansınız olsun. Olay parametresi tam olarak eşleşmelidir — GA4 büyük/küçük harfe duyarlıdır.

Boyut adıOlay parametresiTür
Mülk IDproperty_idMetin
Mülk adıproperty_nameMetin
Mülk markasıproperty_brandMetin
Mülk zinciriproperty_chainMetin
Mülk URL adıproperty_url_nameMetin
Şehir adıcity_nameMetin
Ülke koducountry_codeMetin
Giriş tarihistart_dateMetin
Çıkış tarihiend_dateMetin
Yetişkin sayısınum_adultsSayı
Çocuk sayısınum_childrenSayı
İptal politikasıcancellation_policyMetin
Fiyat planı IDrate_plan_idMetin
Oda fiyatı IDroom_rate_idMetin
Oda fiyatı adıroom_rate_nameMetin
Avantaj sayısınum_perksSayı
Oda konumuroom_locationMetin
Oda manzarasıroom_viewMetin
Oda sınıflandırmasıroom_classificationMetin
Yatak tipibed_typeMetin

Aşağıdaki olaylar Wink dataLayer’ında mevcuttur ancak standart rezervasyon hunisinin parçası değildir. Platformdaki diğer etkileşimlerle tetiklenebilirler.

{
"event": "add_to_wishlist",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"items": [ ]
}
}
{
"event": "remove_from_cart",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"items": [ ]
}
}
{
"event": "select_item",
"ecommerce": {
"item_list_id": "featured_hotels",
"item_list_name": "Featured Hotels",
"items": [ ]
}
}
{
"event": "view_cart"
}

Bu olayla birlikte ecommerce yükü yoktur.

{
"event": "view_promotion",
"ecommerce": {
"creative_name": "Summer Banner",
"creative_slot": "hero",
"promotion_id": "promo_001",
"promotion_name": "Summer Sale",
"items": [ ]
}
}
{
"event": "select_promotion",
"ecommerce": {
"creative_name": "Summer Banner",
"creative_slot": "hero",
"promotion_id": "promo_001",
"promotion_name": "Summer Sale",
"items": [ ]
}
}
{
"event": "search",
"ecommerce": {
"search_term": "beachfront resort"
}
}
{
"event": "select_content",
"ecommerce": {
"content_type": "hotel",
"content_id": "prop_12345"
}
}
{
"event": "share",
"ecommerce": {
"method": "copy_link",
"content_type": "hotel",
"item_id": "prop_12345"
}
}
{
"event": "sign_up",
"ecommerce": {
"method": "email"
}
}
{
"event": "generate_lead",
"ecommerce": {
"currency": "USD",
"value": 0.00
}
}
{
"event": "join_group",
"ecommerce": {
"group_id": "group_abc"
}
}
{
"event": "earn_virtual_currency",
"ecommerce": {
"virtual_currency_name": "WinkPoints",
"value": 100
}
}
{
"event": "spend_virtual_currency",
"ecommerce": {
"virtual_currency_name": "WinkPoints",
"value": 50,
"item_name": "Room Upgrade"
}
}
{
"event": "level_start",
"ecommerce": {
"level_name": "Gold"
}
}
{
"event": "level_end",
"ecommerce": {
"level_name": "Gold",
"success": true
}
}
{
"event": "level_up",
"ecommerce": {
"level": 2,
"character": "traveler"
}
}
{
"event": "post_score",
"ecommerce": {
"score": 980,
"level": 2,
"character": "traveler"
}
}
{
"event": "unlock_achievement",
"ecommerce": {
"achievement_id": "first_booking"
}
}
{
"event": "tutorial_begin",
"ecommerce": {}
}
{
"event": "tutorial_complete",
"ecommerce": {}
}

Bu, standart GA4 olay setinin parçası olmayan özel bir Wink olayıdır. Her sayfa gezinmesinde itilir ve cihaz ile oturum bağlamını taşır. ecommerce nesnesi içermez.

{
"event": "virtualPageView",
"device": "Desktop",
"deviceAgent": "Mozilla/5.0 ...",
"os": "MacOS",
"path": "/hotels/grand-resort",
"title": "Grand Resort — Wink",
"userId": "user_abc123",
"startDate": "2026-06-01",
"endDate": "2026-06-05",
"guests": "2",
"rooms": "1"
}
ÖzellikAçıklama
deviceAlgılanan cihaz türü — Desktop, Android, iPhone, iPad veya benzeri
deviceAgentHam kullanıcı ajanı dizisi
osAlgılanan işletim sistemi — Windows, MacOS, Linux, UNIX
pathGeçerli sayfa yolu
titleGeçerli sayfa başlığı
userIdKimliği doğrulanmış kullanıcı tanımlayıcısı (giriş yapılmadıysa yok)
startDateGeçerli arama oturumundan giriş tarihi
endDateGeçerli arama oturumundan çıkış tarihi
guestsGeçerli arama oturumundan misafir sayısı
roomsGeçerli arama oturumundan oda sayısı