Integrasi GTM Analytics
Anda dapat menghubungkan kontainer Google Tag Manager (GTM) apa pun ke Wink dengan memasukkan ID Kontainer GTM di portal Wink. Setelah terhubung, kontainer Anda akan dimuat secara otomatis untuk properti Anda dan membaca event pemesanan Wink secara langsung — mencakup seluruh perjalanan tamu dari pencarian hingga pemesanan selesai. Kasus penggunaan umum adalah kontainer Sojern untuk retargeting dan iklan, tetapi kontainer GTM apa pun bekerja dengan cara yang sama.
Apa yang Perlu Anda Lakukan
Section titled “Apa yang Perlu Anda Lakukan”-
Dapatkan ID Kontainer GTM Anda
Dapatkan ID Kontainer GTM Anda (format
GTM-XXXXXXX). Jika berasal dari mitra seperti Sojern, minta ID Kontainer GTM secara spesifik — ini berbeda dari pixel atau ID tag. -
Masukkan di Portal Wink
Masuk ke app.wink.travel, pilih akun Anda, dan buka tab Customizations. Tempelkan ID Kontainer GTM Anda ke kolom GTM dan simpan. Integrasi Anda sekarang aktif.
-
(Opsional) Tambahkan ID Pengukuran GA4 + API Secret untuk Pembelian Server-Side
Kontainer GTM berjalan sepenuhnya di browser tamu, jadi pemesanan yang selesai bisa terlewat jika tamu menutup tab saat pengalihan pembayaran. Jika kontainer Anda memuat properti GA4 dan Anda ingin pemesanan yang selesai tercatat dengan andal, masukkan juga ID Pengukuran dan API secret Measurement Protocol GA4 tersebut di bagian GTM. Wink kemudian akan mengirimkan event
purchaseuntuk properti itu secara server-side, persis seperti yang dijelaskan dalam panduan Integrasi GA4 Analytics. Biarkan kosong jika Anda hanya membutuhkan pelacakan di browser. -
Konfirmasi dengan Penyedia Anda
Jika kontainer Anda berasal dari mitra seperti Sojern, beri tahu manajer akun Anda bahwa integrasi sudah aktif. Mereka dapat memverifikasi dari sisi mereka bahwa tag berjalan dengan benar di
wink.traveluntuk properti Anda dan data mengalir ke akun Anda.
Apa yang Dilakukan Wink di Sisi Kami
Section titled “Apa yang Dilakukan Wink di Sisi Kami”Untuk transparansi, berikut yang dikonfigurasi Wink agar integrasi ini berfungsi:
- Field ID Kontainer GTM tersedia di tab Customizations portal Wink Anda. Saat Anda memasukkan ID Kontainer, Wink memvalidasi formatnya (
GTM-XXXXXXX) dan menyimpannya dengan aman terkait properti Anda. - Di setiap halaman tempat properti Anda aktif di Wink, kontainer Anda disuntikkan langsung ke halaman — berbagi
window.dataLayermilik Wink — sehingga dimuat bersamaan dengan kontainer Wink tanpa ketergantungan konfigurasi tambahan. Ini terjadi otomatis, tanpa pekerjaan per properti dari tim Wink. - Kontainer Anda dimuat secara asinkron, sehingga tidak memengaruhi performa pemuatan halaman bagi tamu Anda.
- Pelacakan Wink dan kontainer Anda berjalan paralel, membaca dari
dataLayerbersama yang sama. Setiap event pemesanan yang dilacak Wink tersedia secara bersamaan untuk kontainer Anda. - Saat properti Anda tidak sedang dilihat — misalnya, saat tamu menjelajah hotel lain di Wink — kontainer Anda tidak dimuat, sehingga hanya menerima data yang relevan untuk properti Anda.
- Jika Anda memberikan ID Pengukuran GA4 + API secret (langkah 3 di atas), event
purchaseuntuk pemesanan yang selesai juga dikirim secara server-side melalui Measurement Protocol GA4, sehingga penjualan tercatat meskipun tamu tidak kembali ke halaman konfirmasi.
Referensi DataLayer
Section titled “Referensi DataLayer”Wink mendorong event kompatibel GA4 ke dataLayer sepanjang perjalanan tamu. Kontainer GTM Anda membaca dari dataLayer bersama yang sama, sehingga trigger atau variabel apa pun yang Anda konfigurasi memiliki akses ke semua properti yang dijelaskan di bawah.
Setiap event mengikuti struktur GA4 Enhanced Ecommerce standar: string event tingkat atas dan objek ecommerce. Sebelum setiap push, Wink menghapus payload ecommerce sebelumnya untuk mencegah data lama masuk ke trigger baru.
Event Perjalanan Pemesanan
Section titled “Event Perjalanan Pemesanan”Event ini otomatis dipicu saat tamu bergerak melalui funnel pemesanan. Konfigurasikan trigger GTM Anda sebagai trigger Custom Event yang cocok dengan nama event di bawah.
| Langkah | Event | Kapan Dipicu |
|---|---|---|
| 1 | view_item_list | Grid atau daftar inventaris hotel dimuat |
| 2 | view_item | Tamu melihat halaman properti tertentu |
| 3 | add_to_cart | Tamu menambahkan kamar ke keranjang belanja |
| 4 | begin_checkout | Halaman checkout / pembayaran dimuat |
| 5 | add_payment_info | Tamu memilih metode pembayaran |
| 6 | login | Tamu melakukan autentikasi via SSO |
| 7 | purchase | Pemesanan dikonfirmasi |
| 8 | refund | Pemesanan dibatalkan |
view_item_list
Section titled “view_item_list”Dipicu saat grid atau daftar inventaris hotel dirender.
{ "event": "view_item_list", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_item
Section titled “view_item”Dipicu saat tamu melihat properti tertentu.
{ "event": "view_item", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}add_to_cart
Section titled “add_to_cart”Dipicu saat tamu menambahkan kamar ke keranjang.
{ "event": "add_to_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}begin_checkout
Section titled “begin_checkout”Dipicu saat halaman checkout / pembayaran dimuat.
{ "event": "begin_checkout", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "items": [ ] }}coupon hanya ada saat kode diskon diterapkan.
add_payment_info
Section titled “add_payment_info”Dipicu saat tamu memilih atau mengonfirmasi metode pembayaran.
{ "event": "add_payment_info", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "payment_type": "STRIPE", "items": [ ] }}payment_type diisi dari tipe pengakuisisi pembayaran. coupon hanya ada saat kode diskon diterapkan.
Dipicu saat tamu melakukan autentikasi melalui single sign-on.
{ "event": "login", "ecommerce": { "method": "IAM" }}purchase
Section titled “purchase”Dipicu saat pemesanan dikonfirmasi.
{ "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 adalah pengenal unik kontrak pemesanan. coupon, shipping, dan tax hanya ada jika berlaku.
refund
Section titled “refund”Dipicu saat pemesanan dibatalkan.
{ "event": "refund", "ecommerce": { "currency": "USD", "transaction_id": "bc-a1b2c3d4", "value": 299.00, "coupon": "SUMMER10", "shipping": 0.00, "tax": 0.00, "items": [ ] }}transaction_id sama dengan event purchase untuk pemesanan yang sama. coupon, shipping, dan tax hanya ada jika berlaku.
Properti Item
Section titled “Properti Item”Semua event yang menyertakan array items menggunakan skema item yang sama. Setiap properti bersifat opsional kecuali yang ditandai wajib.
Field GA4 standar
Section titled “Field GA4 standar”Field ini dikenali secara native oleh GA4 dan muncul di laporan ecommerce standar tanpa konfigurasi tambahan.
| Properti | Tipe | Wajib | Deskripsi |
|---|---|---|---|
item_id | string | Ya | Pengenal unik untuk kamar atau produk |
item_name | string | — | Nama kamar atau produk |
affiliation | string | — | Nama afiliasi atau penjual |
coupon | string | — | Kode kupon yang diterapkan pada item |
currency | string | — | Kode mata uang ISO 4217 (misal USD) |
creative_name | string | — | Nama kreatif yang digunakan dalam promosi |
creative_slot | string | — | Posisi slot dari kreatif promosi |
discount | number | — | Jumlah diskon yang diterapkan |
index | number | — | Posisi dalam daftar (berbasis 1) |
item_brand | string | — | Nama hotel atau merek |
item_category | string | — | Jenis produk — misal GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA |
item_list_id | string | — | Pengenal daftar tempat item ini berada |
item_list_name | string | — | Nama tampilan daftar |
location_id | string | — | Koordinat geo properti |
price | number | — | Harga satuan |
promotion_id | string | — | Pengenal promosi |
promotion_name | string | — | Nama tampilan promosi |
quantity | number | — | Kuantitas (default 1) |
Parameter khusus item
Section titled “Parameter khusus item”Parameter ini membawa konteks pemesanan spesifik Wink. GA4 tidak otomatis menampilkan di laporan — Anda harus mendaftarkan masing-masing sebagai dimensi khusus item di properti GA4 Anda sebelum muncul di eksplorasi atau laporan standar. Lihat Dimensi Khusus di GA4 di bawah untuk instruksi setup.
| Properti | Tipe | Deskripsi |
|---|---|---|
property_id | string | Pengenal properti Wink |
property_name | string | Nama tampilan properti |
property_brand | string | Merek tempat properti berada |
property_chain | string | Rantai tempat properti berada |
property_url_name | string | Slug URL-friendly untuk properti |
city_name | string | Kota tempat properti berada |
country_code | string | Kode negara ISO 3166-1 alpha-2 |
start_date | string | Tanggal check-in dalam format YYYY-MM-DD |
end_date | string | Tanggal check-out dalam format YYYY-MM-DD |
num_adults | number | Jumlah dewasa dalam pemesanan |
num_children | number | Jumlah anak dalam pemesanan |
cancellation_policy | string | Salah satu: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions |
rate_plan_id | string | Pengenal rencana tarif |
room_rate_id | string | Pengenal tarif kamar spesifik |
room_rate_name | string | Nama tampilan tarif kamar |
num_perks | number | Jumlah fasilitas yang termasuk dengan tarif |
room_location | string | Deskripsi lokasi kamar (misal Overwater, Garden) |
room_view | string | Deskripsi pemandangan kamar (misal Ocean, City) |
room_classification | string | Klasifikasi atau tingkat kamar (misal Suite, Standard) |
bed_type | string | Konfigurasi tempat tidur kamar (misal King, Twin) |
Dimensi Khusus di GA4
Section titled “Dimensi Khusus di GA4”GA4 mengabaikan parameter item khusus dalam laporan sampai Anda mendaftarkannya secara eksplisit sebagai dimensi khusus item. Anda hanya perlu mendaftarkan parameter yang ingin Anda gunakan dalam laporan — tidak perlu mendaftarkan semua 20.
-
Buka Definisi Kustom
Di GA4, buka Admin (ikon roda gigi kiri bawah) → pilih properti Anda → Data display → Custom definitions.
-
Buat dimensi khusus baru
Klik Create custom dimensions.
-
Isi detail dimensi
- Dimension name — label yang mudah dibaca yang muncul di laporan GA4 (lihat tabel di bawah)
- Scope — pilih Item
- Event parameter — nama parameter persis seperti di dataLayer (lihat tabel di bawah)
- Description — opsional tapi disarankan
-
Simpan dan ulangi
Klik Save, lalu ulangi untuk setiap parameter yang ingin Anda lacak.
Gunakan tabel berikut sebagai referensi saat membuat dimensi khusus. Nilai Event parameter harus cocok persis — GA4 peka huruf besar/kecil.
| Nama dimensi | Event parameter | Tipe |
|---|---|---|
| Property ID | property_id | Teks |
| Property name | property_name | Teks |
| Property brand | property_brand | Teks |
| Property chain | property_chain | Teks |
| Property URL name | property_url_name | Teks |
| City name | city_name | Teks |
| Country code | country_code | Teks |
| Check-in date | start_date | Teks |
| Check-out date | end_date | Teks |
| Number of adults | num_adults | Angka |
| Number of children | num_children | Angka |
| Cancellation policy | cancellation_policy | Teks |
| Rate plan ID | rate_plan_id | Teks |
| Room rate ID | room_rate_id | Teks |
| Room rate name | room_rate_name | Teks |
| Number of perks | num_perks | Angka |
| Room location | room_location | Teks |
| Room view | room_view | Teks |
| Room classification | room_classification | Teks |
| Bed type | bed_type | Teks |
Event Tambahan yang Tersedia
Section titled “Event Tambahan yang Tersedia”Event berikut tersedia di dataLayer Wink tetapi bukan bagian dari funnel pemesanan standar. Mereka mungkin dipicu oleh interaksi lain di platform.
add_to_wishlist
Section titled “add_to_wishlist”{ "event": "add_to_wishlist", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}remove_from_cart
Section titled “remove_from_cart”{ "event": "remove_from_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}select_item
Section titled “select_item”{ "event": "select_item", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_cart
Section titled “view_cart”{ "event": "view_cart"}Tidak ada payload ecommerce yang disertakan dengan event ini.
view_promotion
Section titled “view_promotion”{ "event": "view_promotion", "ecommerce": { "creative_name": "Summer Banner", "creative_slot": "hero", "promotion_id": "promo_001", "promotion_name": "Summer Sale", "items": [ ] }}select_promotion
Section titled “select_promotion”{ "event": "select_promotion", "ecommerce": { "creative_name": "Summer Banner", "creative_slot": "hero", "promotion_id": "promo_001", "promotion_name": "Summer Sale", "items": [ ] }}search
Section titled “search”{ "event": "search", "ecommerce": { "search_term": "beachfront resort" }}select_content
Section titled “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
Section titled “sign_up”{ "event": "sign_up", "ecommerce": { "method": "email" }}generate_lead
Section titled “generate_lead”{ "event": "generate_lead", "ecommerce": { "currency": "USD", "value": 0.00 }}join_group
Section titled “join_group”{ "event": "join_group", "ecommerce": { "group_id": "group_abc" }}earn_virtual_currency
Section titled “earn_virtual_currency”{ "event": "earn_virtual_currency", "ecommerce": { "virtual_currency_name": "WinkPoints", "value": 100 }}spend_virtual_currency
Section titled “spend_virtual_currency”{ "event": "spend_virtual_currency", "ecommerce": { "virtual_currency_name": "WinkPoints", "value": 50, "item_name": "Room Upgrade" }}level_start
Section titled “level_start”{ "event": "level_start", "ecommerce": { "level_name": "Gold" }}level_end
Section titled “level_end”{ "event": "level_end", "ecommerce": { "level_name": "Gold", "success": true }}level_up
Section titled “level_up”{ "event": "level_up", "ecommerce": { "level": 2, "character": "traveler" }}post_score
Section titled “post_score”{ "event": "post_score", "ecommerce": { "score": 980, "level": 2, "character": "traveler" }}unlock_achievement
Section titled “unlock_achievement”{ "event": "unlock_achievement", "ecommerce": { "achievement_id": "first_booking" }}tutorial_begin
Section titled “tutorial_begin”{ "event": "tutorial_begin", "ecommerce": {}}tutorial_complete
Section titled “tutorial_complete”{ "event": "tutorial_complete", "ecommerce": {}}virtualPageView
Section titled “virtualPageView”Ini adalah event khusus Wink — bukan bagian dari set event GA4 standar. Event ini didorong pada setiap navigasi halaman dan membawa konteks perangkat serta sesi. Tidak menyertakan objek ecommerce.
{ "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"}| Properti | Deskripsi |
|---|---|
device | Tipe perangkat terdeteksi — Desktop, Android, iPhone, iPad, atau serupa |
deviceAgent | String user agent mentah |
os | Sistem operasi terdeteksi — Windows, MacOS, Linux, UNIX |
path | Path halaman saat ini |
title | Judul halaman saat ini |
userId | Pengenal pengguna yang sudah autentikasi (dihilangkan jika belum login) |
startDate | Tanggal check-in dari sesi pencarian saat ini |
endDate | Tanggal check-out dari sesi pencarian saat ini |
guests | Jumlah tamu dari sesi pencarian saat ini |
rooms | Jumlah kamar dari sesi pencarian saat ini |
