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.
Yapmanız Gerekenler
Bölüm başlığı “Yapmanız Gerekenler”-
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. -
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.
-
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.
Wink Tarafında Neler Yapılır
Bölüm başlığı “Wink Tarafında Neler Yapılır”Ş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 gibipurchaseolayı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 oturumunupurchasetetiklenmeden önce yeniden bağlar, böylece satış misafirin orijinal ziyareti olarak sayılır, yeni bir oturum olarak değil.
DataLayer Referansı
Bölüm başlığı “DataLayer Referansı”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.
Rezervasyon Yolculuğu Etkinlikleri
Bölüm başlığı “Rezervasyon Yolculuğu Etkinlikleri”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ım | Etkinlik | Ne Zaman Tetiklenir |
|---|---|---|
| 1 | view_item_list | Otel envanter ızgarası veya listesi yüklendiğinde |
| 2 | view_item | Misafir belirli bir mülk sayfasını görüntülediğinde |
| 3 | add_to_cart | Misafir sepete bir oda eklediğinde |
| 4 | begin_checkout | Ödeme / checkout sayfası yüklendiğinde |
| 5 | add_payment_info | Misafir bir ödeme yöntemi seçtiğinde |
| 6 | login | Misafir SSO ile kimlik doğruladığında |
| 7 | purchase | Rezervasyon onaylandığında |
| 8 | refund | Rezervasyon iptal edildiğinde |
view_item_list
Bölüm başlığı “view_item_list”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": [ ] }}view_item
Bölüm başlığı “view_item”Misafir belirli bir mülkü görüntülediğinde tetiklenir.
{ "event": "view_item", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}add_to_cart
Bölüm başlığı “add_to_cart”Misafir sepete bir oda eklediğinde tetiklenir.
{ "event": "add_to_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}begin_checkout
Bölüm başlığı “begin_checkout”Ö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.
add_payment_info
Bölüm başlığı “add_payment_info”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" }}purchase
Bölüm başlığı “purchase”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.
refund
Bölüm başlığı “refund”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.
Ürün Özellikleri
Bölüm başlığı “Ürün Özellikleri”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.
Standart GA4 alanları
Bölüm başlığı “Standart GA4 alanları”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.
| Özellik | Tür | Zorunlu | Açıklama |
|---|---|---|---|
item_id | string | Evet | Oda veya ürün için benzersiz tanımlayıcı |
item_name | string | — | Oda veya ürünün adı |
affiliation | string | — | Satıcı veya bağlı kuruluş adı |
coupon | string | — | Ürüne uygulanan kupon kodu |
currency | string | — | ISO 4217 para birimi kodu (ör. USD) |
creative_name | string | — | Promosyonda kullanılan yaratıcı isim |
creative_slot | string | — | Promosyon yaratıcı slot pozisyonu |
discount | number | — | Uygulanan indirim miktarı |
index | number | — | Listede pozisyonu (1 tabanlı) |
item_brand | string | — | Otel veya marka adı |
item_category | string | — | Ürün türü — örn. GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA |
item_list_id | string | — | Bu ürünün ait olduğu liste tanımlayıcısı |
item_list_name | string | — | Listenin görüntülenen adı |
location_id | string | — | Mülkün coğrafi koordinatları |
price | number | — | Birim fiyat |
promotion_id | string | — | Promosyon tanımlayıcısı |
promotion_name | string | — | Promosyonun görüntülenen adı |
quantity | number | — | Miktar (varsayılan 1) |
Özel ürün kapsamlı parametreler
Bölüm başlığı “Özel ürün kapsamlı parametreler”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.
| Özellik | Tür | Açıklama |
|---|---|---|
property_id | string | Wink mülk tanımlayıcısı |
property_name | string | Mülkün görüntülenen adı |
property_brand | string | Mülkün ait olduğu marka |
property_chain | string | Mülkün ait olduğu zincir |
property_url_name | string | Mülkün URL dostu kısa adı |
city_name | string | Mülkün bulunduğu şehir |
country_code | string | ISO 3166-1 alfa-2 ülke kodu |
start_date | string | Giriş tarihi, YYYY-MM-DD formatında |
end_date | string | Çıkış tarihi, YYYY-MM-DD formatında |
num_adults | number | Rezervasyondaki yetişkin sayısı |
num_children | number | Rezervasyondaki çocuk sayısı |
cancellation_policy | string | Şunlardan biri: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions |
rate_plan_id | string | Fiyat planı tanımlayıcısı |
room_rate_id | string | Belirli oda fiyatı tanımlayıcısı |
room_rate_name | string | Oda fiyatının görüntülenen adı |
num_perks | number | Fiyata dahil avantaj sayısı |
room_location | string | Odanın konum tanımı (ör. Overwater, Garden) |
room_view | string | Oda manzarası tanımı (ör. Ocean, City) |
room_classification | string | Oda sınıflandırması veya seviyesi (ör. Suite, Standard) |
bed_type | string | Oda yatak konfigürasyonu (ör. King, Twin) |
GA4’te Özel Boyutlar
Bölüm başlığı “GA4’te Özel Boyutlar”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.
-
Özel Tanımları Açın
GA4’te, Admin (sol alt dişli simgesi) → mülkünüzü seçin → Data display → Custom definitions.
-
Yeni özel boyut oluşturun
Create custom dimensions butonuna tıklayın.
-
Boyut detaylarını doldurun
- Dimension name — GA4 raporlarında görünen okunabilir etiket (aşağıdaki tabloya bakın)
- Scope — Item 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
-
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 parameter | Tür |
|---|---|---|
| Mülk ID | property_id | Metin |
| Mülk adı | property_name | Metin |
| Mülk markası | property_brand | Metin |
| Mülk zinciri | property_chain | Metin |
| Mülk URL adı | property_url_name | Metin |
| Şehir adı | city_name | Metin |
| Ülke kodu | country_code | Metin |
| Giriş tarihi | start_date | Metin |
| Çıkış tarihi | end_date | Metin |
| Yetişkin sayısı | num_adults | Sayı |
| Çocuk sayısı | num_children | Sayı |
| İptal politikası | cancellation_policy | Metin |
| Fiyat planı ID | rate_plan_id | Metin |
| Oda fiyatı ID | room_rate_id | Metin |
| Oda fiyatı adı | room_rate_name | Metin |
| Avantaj sayısı | num_perks | Sayı |
| Oda konumu | room_location | Metin |
| Oda manzarası | room_view | Metin |
| Oda sınıflandırması | room_classification | Metin |
| Yatak tipi | bed_type | Metin |
Ek Mevcut Etkinlikler
Bölüm başlığı “Ek Mevcut Etkinlikler”Aşağıdaki etkinlikler Wink dataLayer’ında mevcuttur ancak standart rezervasyon hunisinin parçası değildir. Platformdaki diğer etkileşimlerle tetiklenebilirler.
add_to_wishlist
Bölüm başlığı “add_to_wishlist”{ "event": "add_to_wishlist", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}remove_from_cart
Bölüm başlığı “remove_from_cart”{ "event": "remove_from_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}select_item
Bölüm başlığı “select_item”{ "event": "select_item", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_cart
Bölüm başlığı “view_cart”{ "event": "view_cart"}Bu etkinlikle birlikte herhangi bir ecommerce yükü gönderilmez.
view_promotion
Bölüm başlığı “view_promotion”{ "event": "view_promotion", "ecommerce": { "creative_name": "Summer Banner", "creative_slot": "hero", "promotion_id": "promo_001", "promotion_name": "Summer Sale", "items": [ ] }}select_promotion
Bölüm başlığı “select_promotion”{ "event": "select_promotion", "ecommerce": { "creative_name": "Summer Banner", "creative_slot": "hero", "promotion_id": "promo_001", "promotion_name": "Summer Sale", "items": [ ] }}search
Bölüm başlığı “search”{ "event": "search", "ecommerce": { "search_term": "beachfront resort" }}select_content
Bölüm başlığı “select_content”{ "event": "select_content", "ecommerce": { "content_type": "hotel", "content_id": "prop_12345" }}{ "event": "share", "ecommerce": { "method": "copy_link", "content_type": "hotel", "item_id": "prop_12345" }}sign_up
Bölüm başlığı “sign_up”{ "event": "sign_up", "ecommerce": { "method": "email" }}generate_lead
Bölüm başlığı “generate_lead”{ "event": "generate_lead", "ecommerce": { "currency": "USD", "value": 0.00 }}join_group
Bölüm başlığı “join_group”{ "event": "join_group", "ecommerce": { "group_id": "group_abc" }}earn_virtual_currency
Bölüm başlığı “earn_virtual_currency”{ "event": "earn_virtual_currency", "ecommerce": { "virtual_currency_name": "WinkPoints", "value": 100 }}spend_virtual_currency
Bölüm başlığı “spend_virtual_currency”{ "event": "spend_virtual_currency", "ecommerce": { "virtual_currency_name": "WinkPoints", "value": 50, "item_name": "Room Upgrade" }}level_start
Bölüm başlığı “level_start”{ "event": "level_start", "ecommerce": { "level_name": "Gold" }}level_end
Bölüm başlığı “level_end”{ "event": "level_end", "ecommerce": { "level_name": "Gold", "success": true }}level_up
Bölüm başlığı “level_up”{ "event": "level_up", "ecommerce": { "level": 2, "character": "traveler" }}post_score
Bölüm başlığı “post_score”{ "event": "post_score", "ecommerce": { "score": 980, "level": 2, "character": "traveler" }}unlock_achievement
Bölüm başlığı “unlock_achievement”{ "event": "unlock_achievement", "ecommerce": { "achievement_id": "first_booking" }}tutorial_begin
Bölüm başlığı “tutorial_begin”{ "event": "tutorial_begin", "ecommerce": {}}tutorial_complete
Bölüm başlığı “tutorial_complete”{ "event": "tutorial_complete", "ecommerce": {}}virtualPageView
Bölüm başlığı “virtualPageView”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"}| Özellik | Açıklama |
|---|---|
device | Algılanan cihaz türü — Desktop, Android, iPhone, iPad veya benzeri |
deviceAgent | Ham kullanıcı ajanı dizisi |
os | Algılanan işletim sistemi — Windows, MacOS, Linux, UNIX |
path | Mevcut sayfa yolu |
title | Mevcut sayfa başlığı |
userId | Kimlik doğrulanmış kullanıcı tanımlayıcısı (giriş yapılmadıysa yok) |
startDate | Mevcut arama oturumundan giriş tarihi |
endDate | Mevcut arama oturumundan çıkış tarihi |
guests | Mevcut arama oturumundan misafir sayısı |
rooms | Mevcut arama oturumundan oda sayısı |
