İç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. Bunu Wink Portalına Girin

    app.wink.travel adresine giriş yapın, hesabınızı seçin ve özelleştirme ayarlarını açın. Analytics & integrations bölümünde, GTM Konteyner ID’nizi GTM Container ID alanına yapıştırın ve kaydedin. Entegrasyonunuz artık aktif.

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

    Konteyneriniz Sojern gibi bir iş ortağından geliyorsa, hesap yöneticinize entegrasyonun aktif olduğunu bildirin. Onlar, wink.travel üzerinde mülkünüz için 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ı:

  • Özelleştirme ayarlarınızın Analytics & integrations bölümünde bir GTM Container ID alanı bulunur. Konteyner ID’nizi girdiğinizde, Wink formatı (GTM-XXXXXXX) doğrular ve mülkünüze güvenli şekilde kaydeder.
  • Wink’te mülkünüzün aktif olduğu her sayfada, konteyneriniz doğrudan sayfaya enjekte edilir — Wink’in kendi window.dataLayer’ını paylaşarak — böylece ekstra bir yapılandırmaya gerek kalmadan Wink’in kendi konteyneriyle birlikte yüklenir. Bu işlem otomatik olarak gerçekleşir, Wink ekibinden mülk bazında ekstra bir çalışma gerekmez.
  • Konteyneriniz asenkron olarak yüklenir, böylece misafirlerinizin sayfa yükleme performansını etkilemez.
  • Wink’in kendi takibi ve konteyneriniz paralel olarak çalışır, aynı paylaşılan dataLayer’ı okur. Wink’in takip ettiği her rezervasyon etkinliği konteyneriniz tarafından da eş zamanlı olarak 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 ilgili verileri alır.
  • Tamamlanmış rezervasyon (purchase) teşekkür sayfasında tarayıcıda tetiklenir. GTM Konteyner ID’si bir kara kutudur — Wink içinde hangi etiketlerin olduğunu bilemez — bu yüzden Wink sunucularından Google’ı sizin adınıza asla çağırmaz. Bunun yerine, konteynerinizdeki GA4 veya dönüşüm etiketi, diğer rezervasyon etkinlikleri gibi purchase olayını istemci tarafında alır. Ödeme sağlayıcısı misafirin tarayıcısını yönlendirdiği ve geri getirdiği için, Wink yönlendirme tarafından kesilen analiz oturumunu purchase tetiklenmeden önce yeniden bağlar, böylece satış misafirin orijinal ziyareti olarak sayılır, yeni bir oturum olarak değil.

Wink, misafir yolculuğu boyunca GA4 uyumlu etkinlikleri dataLayer’a iter. GTM konteyneriniz aynı paylaşılan dataLayer’ı 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 etkinlik 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 etkinlikler, misafir rezervasyon hunisinde ilerledikçe otomatik tetiklenir. GTM tetikleyicilerinizi aşağıdaki etkinlik isimleriyle eşleşen Özel Etkinlik tetikleyicileri olarak yapılandırın.

AdımEtkinlikNe 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 bir oda eklediğinde
4begin_checkoutÖdeme / checkout sayfası yüklendiğinde
5add_payment_infoMisafir bir ö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 / checkout 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 etkinliğiyle eşleşir. coupon, shipping ve tax sadece geçerliyse bulunur.


items dizisi içeren tüm etkinlikler 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ı isim
creative_slotstringPromosyon yaratıcı slot pozisyonu
discountnumberUygulanan indirim miktarı
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_idstringBu ürünün ait olduğu liste tanımlayıcısı
item_list_namestringListenin görüntülenen adı
location_idstringMülkün coğrafi koordinatları
pricenumberBirim fiyat
promotion_idstringPromosyon tanımlayıcısı
promotion_namestringPromosyonun görüntülenen 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 GA4 mülkünüzde her birini ü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ülenen 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ülenen 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, Admin (sol alt dişli simgesi) → mülkünüzü seçin → Data displayCustom definitions.

  2. Yeni özel boyut oluşturun

    Create custom dimensions butonuna tıklayın.

  3. Boyut detaylarını doldurun

    • Dimension name — GA4 raporlarında görünen okunabilir etiket (aşağıdaki tabloya bakın)
    • ScopeItem seçin
    • Event parameter — dataLayer’da göründüğü tam parametre adı (aşağıdaki tabloya bakın)
    • Description — isteğe bağlı ama önerilir
  4. Kaydedin ve tekrarlayın

    Save 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. Event parameter değeri tam olarak eşleşmelidir — GA4 büyük/küçük harfe duyarlıdır.

Boyut adıEvent parameterTü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 etkinlikler 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 etkinlikle birlikte herhangi bir ecommerce yükü gönderilmez.

{
"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 etkinlik setinin parçası olmayan özel bir Wink etkinliğidir. 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
pathMevcut sayfa yolu
titleMevcut sayfa başlığı
userIdKimlik doğrulanmış kullanıcı tanımlayıcısı (giriş yapılmadıysa yok)
startDateMevcut arama oturumundan giriş tarihi
endDateMevcut arama oturumundan çıkış tarihi
guestsMevcut arama oturumundan misafir sayısı
roomsMevcut arama oturumundan oda sayısı