Pagsasama ng GTM Analytics
Maaari mong ikonekta ang anumang Google Tag Manager (GTM) container sa Wink sa pamamagitan ng paglagay ng GTM Container ID nito sa Wink portal. Kapag nakakonekta na, awtomatikong naglo-load ang iyong container para sa iyong property at binabasa ang mga booking event ng Wink nang direkta — sumasaklaw sa buong guest journey mula sa paghahanap hanggang sa kumpletong booking. Isang karaniwang gamit ay ang Sojern container para sa retargeting at advertising, ngunit gumagana ang anumang GTM container sa parehong paraan.
Ano ang Kailangan Mong Gawin
Section titled “Ano ang Kailangan Mong Gawin”-
Kunin ang Iyong GTM Container ID
Kunin ang iyong GTM Container ID (format na
GTM-XXXXXXX). Kung ito ay mula sa isang partner tulad ng Sojern, hilingin nang partikular ang GTM Container ID — iba ito sa pixel o tag ID. -
Ilagay Ito sa Wink Portal
Mag-log in sa app.wink.travel, piliin ang iyong account, at pumunta sa tab na Customizations. Idikit ang iyong GTM Container ID sa field na GTM at i-save. Live na ang iyong integration.
-
(Opsyonal) Magdagdag ng GA4 Measurement ID + API Secret para sa Server-Side Purchase
Ang mga GTM container ay tumatakbo nang buo sa browser ng bisita, kaya maaaring hindi maitala ang kumpletong booking kung isasara ng bisita ang tab habang nagre-redirect sa pagbabayad. Kung ang iyong container ay naglo-load ng GA4 property at nais mong maitala nang maaasahan ang mga kumpletong booking, ilagay din ang GA4 na Measurement ID at Measurement Protocol API secret sa seksyon ng GTM. Ipapadala ng Wink ang
purchasepara sa property na iyon server-side, eksaktong tulad ng nakasaad sa gabay na GA4 Analytics Integration. Iwanang blangko ito kung browser tracking lang ang kailangan mo. -
Kumpirmahin sa Iyong Provider
Kung ang iyong container ay mula sa isang partner tulad ng Sojern, ipaalam sa iyong account manager na aktibo na ang integration. Maaari nilang beripikahin mula sa kanilang panig na tama ang pag-fire ng mga tag sa
wink.travelpara sa iyong property at dumadaloy ang data sa iyong account.
Ano ang Ginagawa ng Wink sa Aming Panig
Section titled “Ano ang Ginagawa ng Wink sa Aming Panig”Para sa transparency, narito ang mga inaayos ng Wink upang gumana ang integration na ito:
- May field na GTM Container ID sa tab na Customizations ng iyong Wink portal. Kapag inilagay mo ang Container ID, sine-secure ng Wink ang format (
GTM-XXXXXXX) at iniimbak ito nang ligtas para sa iyong property. - Sa bawat pahina kung saan aktibo ang iyong property sa Wink, direktang ini-inject ang iyong container sa pahina — gamit ang sariling
window.dataLayerng Wink — kaya naglo-load ito kasabay ng sariling container ng Wink nang walang kinakailangang dagdag na configuration. Nangyayari ito nang awtomatiko, walang kailangang gawin ang koponan ng Wink para sa bawat property. - Ang iyong container ay niloload nang asynchronous, kaya hindi nito naaapektuhan ang performance ng pag-load ng pahina para sa iyong mga bisita.
- Ang sariling tracking ng Wink at ang iyong container ay tumatakbo nang sabay, binabasa mula sa parehong shared
dataLayer. Ang bawat booking event na tinatrack ng Wink ay sabay na available sa iyong container. - Kapag hindi tinitingnan ang iyong property — halimbawa, kapag nagba-browse ang bisita sa ibang hotel sa Wink — hindi niloload ang iyong container, kaya tumatanggap lang ito ng data na may kaugnayan sa iyong property.
- Kung nagbigay ka ng GA4 Measurement ID + API secret (hakbang 3 sa itaas), ang
purchasepara sa mga kumpletong booking ay ipinapadala rin server-side gamit ang GA4 Measurement Protocol, kaya naitatala ang benta kahit hindi bumalik ang bisita sa confirmation page.
Sanggunian ng DataLayer
Section titled “Sanggunian ng DataLayer”Nagpapadala ang Wink ng mga GA4-compatible na event sa dataLayer sa buong guest journey. Binabasa ng iyong GTM container ang parehong shared dataLayer, kaya anumang trigger o variable na i-configure mo ay may access sa lahat ng properties na inilalarawan sa ibaba.
Ang bawat event ay sumusunod sa standard na GA4 Enhanced Ecommerce na istruktura: isang top-level na string na event at isang ecommerce object. Bago ang bawat push, nililinis ng Wink ang naunang ecommerce payload upang maiwasan ang lumang data na mapasok sa mga bagong trigger.
Mga Event sa Booking Journey
Section titled “Mga Event sa Booking Journey”Awtomatikong nagfa-fire ang mga event na ito habang gumagalaw ang bisita sa booking funnel. I-configure ang iyong mga GTM trigger bilang Custom Event triggers na tumutugma sa mga pangalan ng event sa ibaba.
| Hakbang | Event | Kailan Ito Nagfa-fire |
|---|---|---|
| 1 | view_item_list | Naglo-load ang hotel inventory grid o listahan |
| 2 | view_item | Tinitingnan ng bisita ang isang partikular na pahina ng property |
| 3 | add_to_cart | Nagdagdag ang bisita ng kuwarto sa shopping cart |
| 4 | begin_checkout | Naglo-load ang checkout / payment page |
| 5 | add_payment_info | Pinipili ng bisita ang paraan ng pagbabayad |
| 6 | login | Nag-authenticate ang bisita gamit ang SSO |
| 7 | purchase | Nakumpirma ang booking |
| 8 | refund | Kinansela ang booking |
view_item_list
Section titled “view_item_list”Nagfa-fire kapag na-render ang hotel inventory grid o listahan.
{ "event": "view_item_list", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_item
Section titled “view_item”Nagfa-fire kapag tinitingnan ng bisita ang isang partikular na property.
{ "event": "view_item", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}add_to_cart
Section titled “add_to_cart”Nagfa-fire kapag nagdagdag ang bisita ng kuwarto sa kanilang cart.
{ "event": "add_to_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}begin_checkout
Section titled “begin_checkout”Nagfa-fire kapag naglo-load ang checkout / payment page.
{ "event": "begin_checkout", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "items": [ ] }}coupon ay naroroon lamang kapag may inilapat na discount code.
add_payment_info
Section titled “add_payment_info”Nagfa-fire kapag pinili o kinumpirma ng bisita ang paraan ng pagbabayad.
{ "event": "add_payment_info", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "payment_type": "STRIPE", "items": [ ] }}Ang payment_type ay galing sa uri ng payment acquirer. Ang coupon ay naroroon lamang kapag may inilapat na discount code.
Nagfa-fire kapag nag-authenticate ang bisita gamit ang single sign-on.
{ "event": "login", "ecommerce": { "method": "IAM" }}purchase
Section titled “purchase”Nagfa-fire kapag nakumpirma ang booking.
{ "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" } ] }}Ang transaction_id ay ang natatanging booking contract identifier. Ang coupon, shipping, at tax ay naroroon lamang kapag naaangkop.
refund
Section titled “refund”Nagfa-fire kapag kinansela ang booking.
{ "event": "refund", "ecommerce": { "currency": "USD", "transaction_id": "bc-a1b2c3d4", "value": 299.00, "coupon": "SUMMER10", "shipping": 0.00, "tax": 0.00, "items": [ ] }}Ang transaction_id ay tumutugma sa purchase event para sa parehong booking. Ang coupon, shipping, at tax ay naroroon lamang kapag naaangkop.
Mga Katangian ng Item
Section titled “Mga Katangian ng Item”Lahat ng event na may kasamang items array ay gumagamit ng parehong item schema. Opsyonal ang bawat property maliban kung nakasaad na required.
Mga Karaniwang GA4 na field
Section titled “Mga Karaniwang GA4 na field”Naiintindihan ng GA4 ang mga field na ito nang native at lumalabas sa mga standard ecommerce report nang walang dagdag na configuration.
| Property | Uri | Required | Paglalarawan |
|---|---|---|---|
item_id | string | Oo | Natatanging identifier para sa kuwarto o produkto |
item_name | string | — | Pangalan ng kuwarto o produkto |
affiliation | string | — | Pangalan ng affiliate o nagbebenta |
coupon | string | — | Coupon code na inilapat sa item |
currency | string | — | ISO 4217 currency code (hal. USD) |
creative_name | string | — | Pangalan ng creative na ginamit sa promosyon |
creative_slot | string | — | Posisyon ng slot ng creative sa promosyon |
discount | number | — | Halaga ng diskwento na inilapat |
index | number | — | Posisyon sa listahan (1-based) |
item_brand | string | — | Pangalan ng hotel o brand |
item_category | string | — | Uri ng produkto — hal. GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA |
item_list_id | string | — | Identifier ng listahan kung saan kabilang ang item |
item_list_name | string | — | Pangalan ng listahan |
location_id | string | — | Geo-coordinates ng property |
price | number | — | Presyo ng unit |
promotion_id | string | — | Identifier ng promosyon |
promotion_name | string | — | Pangalan ng promosyon |
quantity | number | — | Dami (default ay 1) |
Mga Custom na parameter na naka-scope sa item
Section titled “Mga Custom na parameter na naka-scope sa item”Nagdadala ang mga parameter na ito ng Wink-specific na konteksto ng booking. Hindi awtomatikong lumalabas ang mga ito sa GA4 reports — kailangan mong irehistro ang bawat isa bilang item-scoped custom dimension sa iyong GA4 property bago ito lumabas sa explorations o standard reports. Tingnan ang Custom Dimensions in GA4 sa ibaba para sa mga tagubilin sa setup.
| Property | Uri | Paglalarawan |
|---|---|---|
property_id | string | Wink property identifier |
property_name | string | Pangalan ng property |
property_brand | string | Brand kung saan kabilang ang property |
property_chain | string | Chain kung saan kabilang ang property |
property_url_name | string | URL-friendly slug para sa property |
city_name | string | Lungsod kung saan matatagpuan ang property |
country_code | string | ISO 3166-1 alpha-2 country code |
start_date | string | Petsa ng check-in sa format na YYYY-MM-DD |
end_date | string | Petsa ng check-out sa format na YYYY-MM-DD |
num_adults | number | Bilang ng mga adult sa booking |
num_children | number | Bilang ng mga bata sa booking |
cancellation_policy | string | Isa sa: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions |
rate_plan_id | string | Identifier ng rate plan |
room_rate_id | string | Identifier ng partikular na room rate |
room_rate_name | string | Pangalan ng room rate |
num_perks | number | Bilang ng perks na kasama sa rate |
room_location | string | Deskripsyon ng lokasyon ng kuwarto (hal. Overwater, Garden) |
room_view | string | Deskripsyon ng view ng kuwarto (hal. Ocean, City) |
room_classification | string | Klasipikasyon o tier ng kuwarto (hal. Suite, Standard) |
bed_type | string | Konfigurasyon ng kama para sa kuwarto (hal. King, Twin) |
Mga Custom Dimension sa GA4
Section titled “Mga Custom Dimension sa GA4”Hindi pinapansin ng GA4 ang mga custom item parameter sa mga report hangga’t hindi mo ito nirehistro bilang item-scoped custom dimensions. Kailangan mo lang irehistro ang mga parameter na balak mong gamitin sa mga report — hindi mo kailangang irehistro lahat ng 20.
-
Buksan ang Custom Definitions
Sa GA4, pumunta sa Admin (gear icon sa ibaba-kaliwang bahagi) → piliin ang iyong property → Data display → Custom definitions.
-
Gumawa ng bagong custom dimension
I-click ang Create custom dimensions.
-
Punan ang detalye ng dimension
- Dimension name — ang madaling maintindihang label na lalabas sa GA4 reports (tingnan ang talahanayan sa ibaba)
- Scope — piliin ang Item
- Event parameter — ang eksaktong pangalan ng parameter gaya ng nasa dataLayer (tingnan ang talahanayan sa ibaba)
- Description — opsyonal ngunit inirerekomenda
-
I-save at ulitin
I-click ang Save, pagkatapos ay ulitin para sa bawat parameter na nais mong subaybayan.
Gamitin ang sumusunod na talahanayan bilang sanggunian kapag gumagawa ng custom dimensions. Dapat eksaktong tumugma ang Event parameter value — case-sensitive ang GA4.
| Pangalan ng Dimension | Event parameter | Uri |
|---|---|---|
| Property ID | property_id | Text |
| Pangalan ng Property | property_name | Text |
| Brand ng Property | property_brand | Text |
| Chain ng Property | property_chain | Text |
| URL Name ng Property | property_url_name | Text |
| Pangalan ng Lungsod | city_name | Text |
| Country Code | country_code | Text |
| Petsa ng Check-in | start_date | Text |
| Petsa ng Check-out | end_date | Text |
| Bilang ng mga Adult | num_adults | Number |
| Bilang ng mga Bata | num_children | Number |
| Patakaran sa Kanselasyon | cancellation_policy | Text |
| Rate Plan ID | rate_plan_id | Text |
| Room Rate ID | room_rate_id | Text |
| Pangalan ng Room Rate | room_rate_name | Text |
| Bilang ng Perks | num_perks | Number |
| Lokasyon ng Kwarto | room_location | Text |
| View ng Kwarto | room_view | Text |
| Klasipikasyon ng Kwarto | room_classification | Text |
| Uri ng Kama | bed_type | Text |
Karagdagang Available na Mga Event
Section titled “Karagdagang Available na Mga Event”Ang mga sumusunod na event ay available sa Wink dataLayer ngunit hindi bahagi ng standard booking funnel. Maaaring ma-fire ang mga ito sa ibang interaksyon sa 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"}Walang ecommerce payload na kasama sa event na ito.
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”Ito ay isang custom na event ng Wink — hindi bahagi ng standard GA4 event set. Pinapadala ito sa bawat pag-navigate ng pahina at nagdadala ng konteksto ng device at session. Wala itong kasamang ecommerce object.
{ "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"}| Property | Paglalarawan |
|---|---|
device | Natukoy na uri ng device — Desktop, Android, iPhone, iPad, o katulad |
deviceAgent | Raw user agent string |
os | Natukoy na operating system — Windows, MacOS, Linux, UNIX |
path | Kasalukuyang path ng pahina |
title | Kasalukuyang pamagat ng pahina |
userId | Identifier ng authenticated user (hindi kasama kapag hindi naka-log in) |
startDate | Petsa ng check-in mula sa kasalukuyang search session |
endDate | Petsa ng check-out mula sa kasalukuyang search session |
guests | Bilang ng mga bisita mula sa kasalukuyang search session |
rooms | Bilang ng mga kuwarto mula sa kasalukuyang search session |
