ข้ามไปยังเนื้อหา

การผสานรวม GTM Analytics

คุณสามารถเชื่อมต่อ คอนเทนเนอร์ Google Tag Manager (GTM) ใดก็ได้ กับ Wink โดยการป้อน GTM Container ID ในพอร์ทัล Wink เมื่อเชื่อมต่อแล้ว คอนเทนเนอร์ของคุณจะโหลดโดยอัตโนมัติสำหรับที่พักของคุณและอ่านเหตุการณ์การจองของ Wink โดยตรง — ครอบคลุมเส้นทางของแขกตั้งแต่การค้นหาจนถึงการจองที่เสร็จสมบูรณ์ กรณีการใช้งานทั่วไปคือคอนเทนเนอร์ Sojern สำหรับรีทาร์เก็ตติ้งและโฆษณา แต่คอนเทนเนอร์ GTM ใด ๆ ก็ทำงานในลักษณะเดียวกัน


  1. รับ GTM Container ID ของคุณ

    ขอรับ GTM Container ID ของคุณ (รูปแบบ GTM-XXXXXXX) หากมาจากพันธมิตร เช่น Sojern โปรดขอ GTM Container ID โดยเฉพาะ — ซึ่งแตกต่างจากพิกเซลหรือรหัสแท็ก

  2. ป้อนในพอร์ทัล Wink

    เข้าสู่ระบบที่ app.wink.travel เลือกบัญชีของคุณ และเปิดการตั้งค่าการปรับแต่ง ในส่วน Analytics & integrations วาง GTM Container ID ของคุณในช่อง GTM Container ID แล้วบันทึก การผสานรวมของคุณจะเริ่มทำงานทันที

  3. ยืนยันกับผู้ให้บริการของคุณ

    หากคอนเทนเนอร์ของคุณมาจากพันธมิตร เช่น Sojern แจ้งผู้จัดการบัญชีของคุณว่าการผสานรวมเปิดใช้งานแล้ว พวกเขาสามารถตรวจสอบจากฝั่งของตนว่าแท็กทำงานถูกต้องบน wink.travel สำหรับที่พักของคุณและข้อมูลไหลเข้าสู่บัญชีของคุณ


เพื่อความโปร่งใส นี่คือสิ่งที่ Wink กำหนดค่าเพื่อให้การผสานรวมนี้ทำงานได้:

  • มีช่อง GTM Container ID ในส่วน Analytics & integrations ของการตั้งค่าการปรับแต่งของคุณ เมื่อคุณป้อน Container ID Wink จะตรวจสอบรูปแบบ (GTM-XXXXXXX) และจัดเก็บอย่างปลอดภัยกับที่พักของคุณ
  • บนทุกหน้าที่ที่ที่พักของคุณเปิดใช้งาน บน Wink คอนเทนเนอร์ของคุณจะถูกฝังโดยตรงในหน้า — ใช้ร่วมกับ window.dataLayer ของ Wink — เพื่อให้โหลดพร้อมกับคอนเทนเนอร์ของ Wink โดยไม่มีการพึ่งพาการตั้งค่าเพิ่มเติมใด ๆ สิ่งนี้เกิดขึ้นโดยอัตโนมัติ โดยไม่ต้องมีงานเฉพาะสำหรับแต่ละที่พักจากทีม Wink
  • คอนเทนเนอร์ของคุณโหลดแบบอะซิงโครนัส ดังนั้นจึงไม่ส่งผลกระทบต่อประสิทธิภาพการโหลดหน้าเว็บสำหรับแขกของคุณ
  • การติดตามของ Wink และคอนเทนเนอร์ของคุณทำงานคู่ขนาน โดยอ่านจาก dataLayer ร่วมกัน เหตุการณ์การจองทุกเหตุการณ์ที่ Wink ติดตามจะพร้อมใช้งานในคอนเทนเนอร์ของคุณพร้อมกัน
  • เมื่อที่พักของคุณไม่ได้ถูกดู — เช่น เมื่อแขกกำลังเรียกดูโรงแรมอื่นบน Wink — คอนเทนเนอร์ของคุณจะไม่ถูกโหลด ดังนั้นจะได้รับข้อมูลที่เกี่ยวข้องกับที่พักของคุณเท่านั้น
  • เหตุการณ์การจองที่เสร็จสมบูรณ์ (purchase) จะถูกยิงในเบราว์เซอร์บนหน้าขอบคุณ GTM Container ID เป็นกล่องดำ — Wink ไม่สามารถสมมติได้ว่าแท็กใดอยู่ภายใน — ดังนั้น Wink จะไม่เรียก Google ในนามของคุณจากเซิร์ฟเวอร์ของเรา แทนที่จะเป็นเช่นนั้น แท็ก GA4 หรือแท็กแปลงใด ๆ ที่อยู่ในคอนเทนเนอร์ของคุณจะได้รับเหตุการณ์ purchase ทางฝั่งไคลเอนต์ เหมือนกับเหตุการณ์การจองอื่น ๆ เนื่องจากผู้ให้บริการชำระเงินจะเปลี่ยนเส้นทางเบราว์เซอร์ของแขกออกไปและกลับมา Wink จะเชื่อมต่อเซสชันวิเคราะห์ที่ถูกขัดจังหวะโดยการเปลี่ยนเส้นทาง ก่อน ยิงเหตุการณ์ purchase ดังนั้นการขายจึงถูกนับให้กับการเยี่ยมชมเดิมของแขกแทนที่จะนับเป็นเซสชันใหม่

Wink ส่งเหตุการณ์ที่เข้ากันได้กับ GA4 ไปยัง dataLayer ตลอดเส้นทางของแขก คอนเทนเนอร์ GTM ของคุณอ่านจาก dataLayer ร่วมกันนี้ ดังนั้นทริกเกอร์หรือค่าตัวแปรใด ๆ ที่คุณกำหนดค่าจะเข้าถึงคุณสมบัติทั้งหมดที่อธิบายไว้ด้านล่าง

แต่ละเหตุการณ์เป็นไปตามโครงสร้าง GA4 Enhanced Ecommerce มาตรฐาน: สตริง event ระดับบนสุดและอ็อบเจ็กต์ ecommerce ก่อนที่จะส่งข้อมูลแต่ละครั้ง Wink จะล้างข้อมูล ecommerce ก่อนหน้าเพื่อป้องกันข้อมูลเก่ารั่วไหลไปยังทริกเกอร์ใหม่


เหตุการณ์เหล่านี้จะถูกยิงโดยอัตโนมัติเมื่อแขกเคลื่อนผ่านช่องทางการจอง กำหนดค่าทริกเกอร์ GTM ของคุณเป็นทริกเกอร์ Custom Event ที่ตรงกับชื่อเหตุการณ์ด้านล่าง

ขั้นตอนเหตุการณ์เมื่อใดที่ยิง
1view_item_listโหลดกริดหรือรายการสินค้าของโรงแรม
2view_itemแขกดูหน้าที่พักเฉพาะ
3add_to_cartแขกเพิ่มห้องพักลงในรถเข็น
4begin_checkoutโหลดหน้าชำระเงิน/เช็คเอาต์
5add_payment_infoแขกเลือกวิธีชำระเงิน
6loginแขกยืนยันตัวตนผ่าน SSO
7purchaseยืนยันการจอง
8refundยกเลิกการจอง

ยิงเมื่อกริดหรือรายการสินค้าของโรงแรมถูกแสดงผล

{
"event": "view_item_list",
"ecommerce": {
"item_list_id": "featured_hotels",
"item_list_name": "Featured Hotels",
"items": [ ]
}
}

ยิงเมื่อแขกดูที่พักเฉพาะ

{
"event": "view_item",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"items": [ ]
}
}

ยิงเมื่อแขกเพิ่มห้องพักลงในรถเข็น

{
"event": "add_to_cart",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"items": [ ]
}
}

ยิงเมื่อโหลดหน้าชำระเงิน/เช็คเอาต์

{
"event": "begin_checkout",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"coupon": "SUMMER10",
"items": [ ]
}
}

coupon จะมีเฉพาะเมื่อมีการใช้รหัสส่วนลด


ยิงเมื่อแขกเลือกหรือยืนยันวิธีชำระเงิน

{
"event": "add_payment_info",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"coupon": "SUMMER10",
"payment_type": "STRIPE",
"items": [ ]
}
}

payment_type จะถูกเติมจากประเภทผู้รับชำระเงิน coupon จะมีเฉพาะเมื่อมีการใช้รหัสส่วนลด


ยิงเมื่อแขกยืนยันตัวตนผ่านระบบ single sign-on

{
"event": "login",
"ecommerce": {
"method": "IAM"
}
}

ยิงเมื่อยืนยันการจอง

{
"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 คือรหัสสัญญาการจองที่ไม่ซ้ำกัน coupon, shipping และ tax จะมีเฉพาะเมื่อใช้ได้


ยิงเมื่อยกเลิกการจอง

{
"event": "refund",
"ecommerce": {
"currency": "USD",
"transaction_id": "bc-a1b2c3d4",
"value": 299.00,
"coupon": "SUMMER10",
"shipping": 0.00,
"tax": 0.00,
"items": [ ]
}
}

transaction_id ตรงกับเหตุการณ์ purchase สำหรับการจองเดียวกัน coupon, shipping และ tax จะมีเฉพาะเมื่อใช้ได้


เหตุการณ์ทั้งหมดที่มีอาร์เรย์ items ใช้สคีมารายการเดียวกัน ทุกคุณสมบัติเป็นทางเลือก ยกเว้นที่ระบุว่าจำเป็น

ฟิลด์เหล่านี้ GA4 เข้าใจโดยตรงและปรากฏในรายงาน ecommerce มาตรฐานโดยไม่ต้องตั้งค่าเพิ่มเติม

คุณสมบัติประเภทจำเป็นคำอธิบาย
item_idstringใช่ตัวระบุเฉพาะสำหรับห้องพักหรือสินค้า
item_namestringชื่อห้องพักหรือสินค้า
affiliationstringชื่อพันธมิตรหรือผู้ขาย
couponstringรหัสคูปองที่ใช้กับรายการ
currencystringรหัสสกุลเงิน ISO 4217 (เช่น USD)
creative_namestringชื่อครีเอทีฟที่ใช้ในโปรโมชั่น
creative_slotstringตำแหน่งช่องของครีเอทีฟโปรโมชั่น
discountnumberจำนวนส่วนลดที่ใช้
indexnumberตำแหน่งในรายการ (เริ่มนับจาก 1)
item_brandstringชื่อโรงแรมหรือแบรนด์
item_categorystringประเภทสินค้า เช่น GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA
item_list_idstringตัวระบุของรายการที่รายการนี้อยู่
item_list_namestringชื่อแสดงของรายการ
location_idstringพิกัดทางภูมิศาสตร์ของที่พัก
pricenumberราคาต่อหน่วย
promotion_idstringตัวระบุโปรโมชั่น
promotion_namestringชื่อแสดงของโปรโมชั่น
quantitynumberจำนวน (ค่าเริ่มต้นเป็น 1)

พารามิเตอร์เหล่านี้บรรจุบริบทการจองเฉพาะของ Wink GA4 จะไม่แสดงโดยอัตโนมัติในรายงาน — คุณต้องลงทะเบียนแต่ละพารามิเตอร์เป็น มิติแบบกำหนดเองที่มีขอบเขตเป็นรายการ ในทรัพย์สิน GA4 ของคุณก่อนจึงจะปรากฏในรายงานหรือการสำรวจ ดูหัวข้อ มิติแบบกำหนดเองใน GA4 ด้านล่างสำหรับคำแนะนำการตั้งค่า

คุณสมบัติประเภทคำอธิบาย
property_idstringตัวระบุที่พักของ Wink
property_namestringชื่อแสดงของที่พัก
property_brandstringแบรนด์ที่ที่พักเป็นสมาชิก
property_chainstringเครือโรงแรมที่ที่พักเป็นสมาชิก
property_url_namestringชื่อสลัก URL ที่เป็นมิตรสำหรับที่พัก
city_namestringเมืองที่ที่พักตั้งอยู่
country_codestringรหัสประเทศ ISO 3166-1 alpha-2
start_datestringวันที่เช็คอินในรูปแบบ YYYY-MM-DD
end_datestringวันที่เช็คเอาต์ในรูปแบบ YYYY-MM-DD
num_adultsnumberจำนวนผู้ใหญ่ในการจอง
num_childrennumberจำนวนเด็กในการจอง
cancellation_policystringหนึ่งใน: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions
rate_plan_idstringตัวระบุแผนราคา
room_rate_idstringตัวระบุราคาห้องเฉพาะ
room_rate_namestringชื่อแสดงของราคาห้อง
num_perksnumberจำนวนสิทธิพิเศษที่รวมในราคา
room_locationstringคำอธิบายตำแหน่งของห้อง (เช่น Overwater, Garden)
room_viewstringคำอธิบายวิวของห้อง (เช่น Ocean, City)
room_classificationstringการจัดประเภทห้องหรือตำแหน่งชั้น (เช่น Suite, Standard)
bed_typestringการจัดเตียงสำหรับห้อง (เช่น King, Twin)

GA4 จะไม่สนใจพารามิเตอร์รายการแบบกำหนดเองในรายงานจนกว่าคุณจะลงทะเบียนเป็นมิติแบบกำหนดเองที่มีขอบเขตเป็นรายการอย่างชัดเจน คุณต้องลงทะเบียนเฉพาะพารามิเตอร์ที่ต้องการใช้ในรายงานเท่านั้น — ไม่จำเป็นต้องลงทะเบียนทั้งหมด 20 รายการ

  1. เปิดการกำหนดค่าที่กำหนดเอง

    ใน GA4 ไปที่ Admin (ไอคอนเฟืองมุมล่างซ้าย) → เลือกทรัพย์สินของคุณ → Data displayCustom definitions

  2. สร้างมิติแบบกำหนดเองใหม่

    คลิก Create custom dimensions

  3. กรอกรายละเอียดมิติ

    • Dimension name — ป้ายชื่อที่อ่านได้สำหรับมนุษย์ที่ปรากฏในรายงาน GA4 (ดูตารางด้านล่าง)
    • Scope — เลือก Item
    • Event parameter — ชื่อพารามิเตอร์ที่ตรงกับใน dataLayer (ดูตารางด้านล่าง)
    • Description — ตัวเลือกแต่แนะนำให้ใส่
  4. บันทึกและทำซ้ำ

    คลิก Save แล้วทำซ้ำสำหรับแต่ละพารามิเตอร์ที่ต้องการติดตาม

ใช้ตารางต่อไปนี้เป็นข้อมูลอ้างอิงเมื่อสร้างมิติแบบกำหนดเอง ค่า Event parameter ต้องตรงกันอย่างแม่นยำ — GA4 แยกแยะตัวพิมพ์ใหญ่/เล็ก

ชื่อมิติEvent parameterประเภท
Property IDproperty_idข้อความ
Property nameproperty_nameข้อความ
Property brandproperty_brandข้อความ
Property chainproperty_chainข้อความ
Property URL nameproperty_url_nameข้อความ
City namecity_nameข้อความ
Country codecountry_codeข้อความ
Check-in datestart_dateข้อความ
Check-out dateend_dateข้อความ
Number of adultsnum_adultsตัวเลข
Number of childrennum_childrenตัวเลข
Cancellation policycancellation_policyข้อความ
Rate plan IDrate_plan_idข้อความ
Room rate IDroom_rate_idข้อความ
Room rate nameroom_rate_nameข้อความ
Number of perksnum_perksตัวเลข
Room locationroom_locationข้อความ
Room viewroom_viewข้อความ
Room classificationroom_classificationข้อความ
Bed typebed_typeข้อความ

เหตุการณ์ต่อไปนี้มีอยู่ใน dataLayer ของ Wink แต่ไม่ใช่ส่วนหนึ่งของช่องทางการจองมาตรฐาน อาจถูกยิงโดยปฏิสัมพันธ์อื่น ๆ บนแพลตฟอร์ม

{
"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"
}

เหตุการณ์นี้ไม่มีข้อมูล ecommerce แนบมา

{
"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": {}
}

นี่คือเหตุการณ์เฉพาะของ Wink — ไม่ใช่ส่วนหนึ่งของชุดเหตุการณ์ GA4 มาตรฐาน ถูกส่งทุกครั้งที่มีการเปลี่ยนหน้าและบรรจุบริบทของอุปกรณ์และเซสชัน ไม่มีอ็อบเจ็กต์ 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"
}
คุณสมบัติคำอธิบาย
deviceประเภทอุปกรณ์ที่ตรวจพบ — Desktop, Android, iPhone, iPad หรืออื่น ๆ
deviceAgentสตริง user agent ดิบ
osระบบปฏิบัติการที่ตรวจพบ — Windows, MacOS, Linux, UNIX
pathเส้นทางหน้าปัจจุบัน
titleชื่อหน้าปัจจุบัน
userIdตัวระบุผู้ใช้ที่ยืนยันตัวตน (ไม่แสดงเมื่อไม่ได้เข้าสู่ระบบ)
startDateวันที่เช็คอินจากเซสชันการค้นหาปัจจุบัน
endDateวันที่เช็คเอาต์จากเซสชันการค้นหาปัจจุบัน
guestsจำนวนแขกจากเซสชันการค้นหาปัจจุบัน
roomsจำนวนห้องจากเซสชันการค้นหาปัจจุบัน