Integrasi Analitis GTM
Anda boleh menghubungkan mana-mana bekas Google Tag Manager (GTM) ke Wink dengan memasukkan ID Bekas GTM dalam portal Wink. Setelah disambungkan, bekas anda akan dimuatkan secara automatik untuk hartanah anda dan membaca acara tempahan Wink secara langsung — merangkumi keseluruhan perjalanan tetamu dari carian hingga tempahan selesai. Kes penggunaan biasa adalah bekas Sojern untuk penargetan semula dan pengiklanan, tetapi mana-mana bekas GTM berfungsi dengan cara yang sama.
Apa Yang Perlu Anda Lakukan
Section titled “Apa Yang Perlu Anda Lakukan”-
Dapatkan ID Bekas GTM Anda
Dapatkan ID Bekas GTM anda (format
GTM-XXXXXXX). Jika ia datang dari rakan kongsi seperti Sojern, minta ID Bekas GTM secara khusus — ia berbeza daripada ID piksel atau tag. -
Masukkan Dalam Portal Wink
Log masuk ke app.wink.travel, pilih akaun anda, dan pergi ke tab Customizations. Tampal ID Bekas GTM anda ke dalam medan GTM dan simpan. Integrasi anda kini aktif.
-
(Pilihan) Tambah ID Pengukuran GA4 + Rahsia API untuk Pembelian Server-Side
Bekas GTM berjalan sepenuhnya dalam pelayar tetamu, jadi tempahan yang selesai boleh terlepas jika tetamu menutup tab semasa pengalihan pembayaran. Jika bekas anda memuatkan harta GA4 dan anda mahu tempahan yang selesai direkodkan dengan boleh dipercayai, juga masukkan ID Pengukuran GA4 tersebut dan rahsia API Protokol Pengukuran dalam bahagian GTM. Wink kemudian akan menghantar
purchaseuntuk harta itu server-side, tepat seperti yang diterangkan dalam panduan Integrasi Analitis GA4. Biarkan kosong jika anda hanya memerlukan penjejakan dalam pelayar. -
Sahkan Dengan Penyedia Anda
Jika bekas anda datang dari rakan kongsi seperti Sojern, beritahu pengurus akaun anda bahawa integrasi sudah aktif. Mereka boleh mengesahkan dari pihak mereka bahawa tag berfungsi dengan betul di
wink.traveluntuk hartanah anda dan data mengalir ke akaun anda.
Apa Yang Wink Lakukan Di Pihak Kami
Section titled “Apa Yang Wink Lakukan Di Pihak Kami”Untuk ketelusan, berikut adalah apa yang Wink konfigurasikan untuk menjadikan integrasi ini berfungsi:
- Medan ID Bekas GTM tersedia dalam tab Customizations portal Wink anda. Apabila anda memasukkan ID Bekas, Wink mengesahkan formatnya (
GTM-XXXXXXX) dan menyimpannya dengan selamat untuk hartanah anda. - Pada setiap halaman di mana hartanah anda aktif di Wink, bekas anda disuntik terus ke halaman — berkongsi
window.dataLayerWink sendiri — supaya ia dimuatkan bersama bekas Wink tanpa bergantung pada konfigurasi tambahan. Ini berlaku secara automatik, tanpa kerja per hartanah dari pasukan Wink. - Bekas anda dimuatkan secara tak segerak, jadi ia tidak menjejaskan prestasi muat halaman untuk tetamu anda.
- Penjejakan Wink sendiri dan bekas anda berjalan selari, membaca dari
dataLayeryang sama. Setiap acara tempahan yang Wink jejak tersedia serentak untuk bekas anda. - Apabila hartanah anda tidak sedang dilihat — contohnya, apabila tetamu melayari hotel lain di Wink — bekas anda tidak dimuatkan, jadi ia hanya menerima data yang berkaitan dengan hartanah anda.
- Jika anda menyediakan ID Pengukuran GA4 + rahsia API (langkah 3 di atas),
purchaseuntuk tempahan yang selesai juga dihantar server-side melalui Protokol Pengukuran GA4, jadi jualan direkodkan walaupun tetamu tidak kembali ke halaman pengesahan.
Rujukan DataLayer
Section titled “Rujukan DataLayer”Wink menolak acara yang serasi GA4 ke dataLayer sepanjang perjalanan tetamu. Bekas GTM anda membaca dari dataLayer yang sama ini, jadi mana-mana pencetus atau pembolehubah yang anda konfigurasikan mempunyai akses kepada semua sifat yang diterangkan di bawah.
Setiap acara mengikuti struktur GA4 Enhanced Ecommerce standard: rentetan event peringkat atas dan objek ecommerce. Sebelum setiap tolak, Wink membersihkan muatan ecommerce sebelumnya untuk mengelakkan data lama tercampur ke dalam pencetus baru.
Acara Perjalanan Tempahan
Section titled “Acara Perjalanan Tempahan”Acara ini dipicu secara automatik apabila tetamu bergerak melalui corong tempahan. Konfigurasikan pencetus GTM anda sebagai pencetus Custom Event yang sepadan dengan nama acara di bawah.
| Langkah | Acara | Bila Ia Dipicu |
|---|---|---|
| 1 | view_item_list | Grid atau senarai inventori hotel dimuatkan |
| 2 | view_item | Tetamu melihat halaman hartanah tertentu |
| 3 | add_to_cart | Tetamu menambah bilik ke troli beli-belah |
| 4 | begin_checkout | Halaman pembayaran / checkout dimuatkan |
| 5 | add_payment_info | Tetamu memilih kaedah pembayaran |
| 6 | login | Tetamu mengesahkan identiti melalui SSO |
| 7 | purchase | Tempahan disahkan |
| 8 | refund | Tempahan dibatalkan |
view_item_list
Section titled “view_item_list”Dipicu apabila grid atau senarai inventori hotel dipaparkan.
{ "event": "view_item_list", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_item
Section titled “view_item”Dipicu apabila tetamu melihat hartanah tertentu.
{ "event": "view_item", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}add_to_cart
Section titled “add_to_cart”Dipicu apabila tetamu menambah bilik ke troli mereka.
{ "event": "add_to_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}begin_checkout
Section titled “begin_checkout”Dipicu apabila halaman checkout / pembayaran dimuatkan.
{ "event": "begin_checkout", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "items": [ ] }}coupon hanya hadir apabila kod diskaun digunakan.
add_payment_info
Section titled “add_payment_info”Dipicu apabila tetamu memilih atau mengesahkan kaedah pembayaran.
{ "event": "add_payment_info", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "payment_type": "STRIPE", "items": [ ] }}payment_type diisi dari jenis pemeroleh pembayaran. coupon hanya hadir apabila kod diskaun digunakan.
Dipicu apabila tetamu mengesahkan identiti melalui single sign-on.
{ "event": "login", "ecommerce": { "method": "IAM" }}purchase
Section titled “purchase”Dipicu apabila tempahan disahkan.
{ "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 pengecam kontrak tempahan unik. coupon, shipping, dan tax hanya hadir apabila berkenaan.
refund
Section titled “refund”Dipicu apabila tempahan dibatalkan.
{ "event": "refund", "ecommerce": { "currency": "USD", "transaction_id": "bc-a1b2c3d4", "value": 299.00, "coupon": "SUMMER10", "shipping": 0.00, "tax": 0.00, "items": [ ] }}transaction_id sepadan dengan acara purchase untuk tempahan yang sama. coupon, shipping, dan tax hanya hadir apabila berkenaan.
Sifat Item
Section titled “Sifat Item”Semua acara yang termasuk tatasusunan items berkongsi skema item yang sama. Setiap sifat adalah pilihan kecuali ditandakan wajib.
Medan GA4 Standard
Section titled “Medan GA4 Standard”Medan ini difahami secara asli oleh GA4 dan muncul dalam laporan ecommerce standard tanpa konfigurasi tambahan.
| Sifat | Jenis | Wajib | Penerangan |
|---|---|---|---|
item_id | string | Ya | Pengecam unik untuk bilik atau produk |
item_name | string | — | Nama bilik atau produk |
affiliation | string | — | Nama afiliasi atau penjual |
coupon | string | — | Kod kupon yang digunakan pada item |
currency | string | — | Kod mata wang ISO 4217 (contoh USD) |
creative_name | string | — | Nama kreatif yang digunakan dalam promosi |
creative_slot | string | — | Posisi slot kreatif promosi |
discount | number | — | Jumlah diskaun yang digunakan |
index | number | — | Posisi dalam senarai (bermula 1) |
item_brand | string | — | Nama hotel atau jenama |
item_category | string | — | Jenis produk — contohnya GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA |
item_list_id | string | — | Pengecam senarai yang item ini miliki |
item_list_name | string | — | Nama paparan senarai |
location_id | string | — | Koordinat geo hartanah |
price | number | — | Harga unit |
promotion_id | string | — | Pengecam promosi |
promotion_name | string | — | Nama paparan promosi |
quantity | number | — | Kuantiti (lalai ke 1) |
Parameter item khusus
Section titled “Parameter item khusus”Parameter ini membawa konteks tempahan khusus Wink. GA4 tidak secara automatik memaparkannya dalam laporan — anda mesti mendaftar setiap satu sebagai dimensi khusus berjangka item dalam harta GA4 anda sebelum ia muncul dalam eksplorasi atau laporan standard. Lihat Dimensi Khusus dalam GA4 di bawah untuk arahan penyediaan.
| Sifat | Jenis | Penerangan |
|---|---|---|
property_id | string | Pengecam hartanah Wink |
property_name | string | Nama paparan hartanah |
property_brand | string | Jenama yang hartanah miliki |
property_chain | string | Rangkaian yang hartanah miliki |
property_url_name | string | Slug mesra URL untuk hartanah |
city_name | string | Bandar di mana hartanah terletak |
country_code | string | Kod negara ISO 3166-1 alpha-2 |
start_date | string | Tarikh daftar masuk dalam format YYYY-MM-DD |
end_date | string | Tarikh daftar keluar dalam format YYYY-MM-DD |
num_adults | number | Bilangan dewasa dalam tempahan |
num_children | number | Bilangan kanak-kanak dalam tempahan |
cancellation_policy | string | Salah satu: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions |
rate_plan_id | string | Pengecam pelan kadar |
room_rate_id | string | Pengecam kadar bilik tertentu |
room_rate_name | string | Nama paparan kadar bilik |
num_perks | number | Bilangan keistimewaan yang termasuk dengan kadar |
room_location | string | Penerangan lokasi bilik (contoh Overwater, Garden) |
room_view | string | Penerangan pemandangan bilik (contoh Ocean, City) |
room_classification | string | Klasifikasi atau tahap bilik (contoh Suite, Standard) |
bed_type | string | Konfigurasi katil untuk bilik (contoh King, Twin) |
Dimensi Khusus dalam GA4
Section titled “Dimensi Khusus dalam GA4”GA4 mengabaikan parameter item khusus dalam laporan sehingga anda mendaftarkannya secara eksplisit sebagai dimensi khusus berjangka item. Anda hanya perlu mendaftar parameter yang anda ingin gunakan dalam laporan — anda tidak perlu mendaftar kesemua 20.
-
Buka Definisi Khusus
Dalam GA4, pergi ke Admin (ikon gear bawah kiri) → pilih harta anda → Data display → Custom definitions.
-
Buat dimensi khusus baru
Klik Create custom dimensions.
-
Isikan butiran dimensi
- Dimension name — label mesra manusia yang muncul dalam laporan GA4 (lihat jadual di bawah)
- Scope — pilih Item
- Event parameter — nama parameter tepat seperti yang muncul dalam dataLayer (lihat jadual di bawah)
- Description — pilihan tetapi disyorkan
-
Simpan dan ulang
Klik Save, kemudian ulang untuk setiap parameter yang anda mahu jejak.
Gunakan jadual berikut sebagai rujukan anda semasa membuat dimensi khusus. Nilai Event parameter mesti sepadan tepat — GA4 sensitif huruf besar kecil.
| Nama dimensi | Event parameter | Jenis |
|---|---|---|
| ID Hartanah | property_id | Teks |
| Nama Hartanah | property_name | Teks |
| Jenama Hartanah | property_brand | Teks |
| Rangkaian Hartanah | property_chain | Teks |
| Nama URL Hartanah | property_url_name | Teks |
| Nama Bandar | city_name | Teks |
| Kod Negara | country_code | Teks |
| Tarikh Daftar Masuk | start_date | Teks |
| Tarikh Daftar Keluar | end_date | Teks |
| Bilangan Dewasa | num_adults | Nombor |
| Bilangan Kanak-kanak | num_children | Nombor |
| Polisi Pembatalan | cancellation_policy | Teks |
| ID Pelan Kadar | rate_plan_id | Teks |
| ID Kadar Bilik | room_rate_id | Teks |
| Nama Kadar Bilik | room_rate_name | Teks |
| Bilangan Keistimewaan | num_perks | Nombor |
| Lokasi Bilik | room_location | Teks |
| Pemandangan Bilik | room_view | Teks |
| Klasifikasi Bilik | room_classification | Teks |
| Jenis Katil | bed_type | Teks |
Acara Tambahan Tersedia
Section titled “Acara Tambahan Tersedia”Acara berikut tersedia dalam dataLayer Wink tetapi bukan sebahagian daripada corong tempahan standard. Ia 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"}Tiada muatan ecommerce disertakan dengan acara 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 acara khusus Wink — bukan sebahagian daripada set acara GA4 standard. Ia ditolak pada setiap navigasi halaman dan membawa konteks peranti dan sesi. Ia tidak termasuk 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"}| Sifat | Penerangan |
|---|---|
device | Jenis peranti dikesan — Desktop, Android, iPhone, iPad, atau serupa |
deviceAgent | Rentetan agen pengguna mentah |
os | Sistem operasi dikesan — Windows, MacOS, Linux, UNIX |
path | Laluan halaman semasa |
title | Tajuk halaman semasa |
userId | Pengecam pengguna yang disahkan (dikecualikan apabila tidak log masuk) |
startDate | Tarikh daftar masuk dari sesi carian semasa |
endDate | Tarikh daftar keluar dari sesi carian semasa |
guests | Bilangan tetamu dari sesi carian semasa |
rooms | Bilangan bilik dari sesi carian semasa |
