跳转到内容

GTM 分析集成

您可以通过在 Wink 门户中输入 GTM 容器 ID,将任何 Google Tag Manager (GTM) 容器连接到 Wink。连接后,您的容器会自动为您的物业加载,并直接读取 Wink 的预订事件——覆盖从搜索到完成预订的完整客人旅程。一个常见的用例是用于重定向和广告的 Sojern 容器,但任何 GTM 容器的工作方式相同。


  1. 获取您的 GTM 容器 ID

    获取您的 GTM 容器 ID(格式为 GTM-XXXXXXX)。如果来自 Sojern 等合作伙伴,请专门请求 GTM 容器 ID——它不同于像素或标签 ID。

  2. 在 Wink 门户中输入

    登录 app.wink.travel,选择您的账户,进入 自定义 标签页。将您的 GTM 容器 ID 粘贴到 GTM 字段并保存。您的集成现已生效。

  3. (可选)添加 GA4 测量 ID + API 密钥以实现服务器端购买

    GTM 容器完全在客人的浏览器中运行,因此如果客人在支付重定向期间关闭标签页,可能会错过完成的预订。如果您的容器加载了 GA4 属性,并且您希望可靠地记录完成的预订,请在 GTM 部分同时输入该 GA4 的 测量 ID测量协议 API 密钥。Wink 将按照 GA4 分析集成 指南中描述的方式,服务器端 发送该属性的 purchase 事件。如果只需要浏览器内跟踪,请留空。

  4. 与您的供应商确认

    如果您的容器来自 Sojern 等合作伙伴,请告知您的客户经理集成已激活。他们可以从他们的端验证标签是否在您的物业的 wink.travel 上正确触发,并且数据是否流入您的账户。


为保证透明,以下是 Wink 为使此集成生效所做的配置:

  • 在 Wink 门户的自定义标签页中提供了 GTM 容器 ID 字段。输入容器 ID 后,Wink 会验证格式(GTM-XXXXXXX)并安全地存储于您的物业信息中。
  • 在 Wink 上您的物业激活的每个页面,您的容器会直接注入页面——共享 Wink 自身的 window.dataLayer——因此它会与 Wink 自身的容器一起加载,无需任何额外配置。此过程自动完成,无需 Wink 团队为每个物业单独操作。
  • 您的容器异步加载,不会影响客人的页面加载性能。
  • Wink 自身的跟踪与您的容器并行运行,共享同一个 dataLayer。Wink 跟踪的每个预订事件都会同时提供给您的容器。
  • 当您的物业未被查看时——例如客人在 Wink 浏览其他酒店时——您的容器不会加载,因此只接收与您的物业相关的数据。
  • 如果您提供了 GA4 测量 ID + API 密钥(上述第 3 步),完成预订的 purchase 事件还会通过 GA4 测量协议服务器端发送,即使客人未返回确认页,销售也会被记录。

Wink 在整个客人旅程中向 dataLayer 推送兼容 GA4 的事件。您的 GTM 容器读取同一个共享的 dataLayer,因此您配置的任何触发器或变量都可以访问下述所有属性。

每个事件遵循标准 GA4 增强型电商结构:顶层的 event 字符串和一个 ecommerce 对象。每次推送前,Wink 会清除之前的电商负载,防止旧数据影响新触发器。


当客人通过预订漏斗时,这些事件会自动触发。请将您的 GTM 触发器配置为匹配下表事件名称的自定义事件触发器。

步骤事件触发时机
1view_item_list酒店库存网格或列表加载
2view_item客人查看具体物业页面
3add_to_cart客人将房间加入购物车
4begin_checkout结账/支付页面加载
5add_payment_info客人选择支付方式
6login客人通过单点登录认证
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 仅在使用折扣码时出现。


当客人通过单点登录认证时触发。

{
"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 是唯一的预订合同标识符。couponshippingtax 仅在适用时出现。


当预订取消时触发。

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

transaction_id 与同一预订的 purchase 事件匹配。couponshippingtax 仅在适用时出现。


所有包含 items 数组的事件共享相同的商品架构。除非标记为必填,否则所有属性均为可选。

这些字段被 GA4 原生识别,无需额外配置即可在标准电商报告中显示。

属性类型必填描述
item_idstring房间或产品的唯一标识符
item_namestring房间或产品名称
affiliationstring联盟或卖方名称
couponstring应用于商品的优惠码
currencystringISO 4217 货币代码(如 USD
creative_namestring促销中使用的创意名称
creative_slotstring促销创意的插槽位置
discountnumber应用的折扣金额
indexnumber列表中的位置(从 1 开始)
item_brandstring酒店或品牌名称
item_categorystring产品类型——如 GUEST_ROOMACTIVITYATTRACTIONMEETING_ROOMRESTAURANTSPA
item_list_idstring该商品所属列表的标识符
item_list_namestring列表的显示名称
location_idstring物业的地理坐标
pricenumber单价
promotion_idstring促销标识符
promotion_namestring促销显示名称
quantitynumber数量(默认为 1

这些参数携带 Wink 特定的预订上下文。GA4 不会自动在报告中显示它们——您必须在 GA4 属性中将每个参数注册为商品范围的自定义维度,它们才会出现在探索或标准报告中。请参见下文 GA4 中的自定义维度 了解设置说明。

属性类型描述
property_idstringWink 物业标识符
property_namestring物业显示名称
property_brandstring物业所属品牌
property_chainstring物业所属连锁
property_url_namestring物业的 URL 友好别名
city_namestring物业所在城市
country_codestringISO 3166-1 alpha-2 国家代码
start_datestring入住日期,格式为 YYYY-MM-DD
end_datestring退房日期,格式为 YYYY-MM-DD
num_adultsnumber预订中的成人数量
num_childrennumber预订中的儿童数量
cancellation_policystring取消政策之一:RefundableNon-RefundableRefundable-With-RestrictionsNon-Refundable-With-Restrictions
rate_plan_idstring费率计划标识符
room_rate_idstring具体房价标识符
room_rate_namestring房价显示名称
num_perksnumber费率包含的优惠数量
room_locationstring房间位置描述(如 OverwaterGarden
room_viewstring房间景观描述(如 OceanCity
room_classificationstring房间分类或等级(如 SuiteStandard
bed_typestring房间床型配置(如 KingTwin

GA4 在报告中忽略自定义商品参数,除非您明确将它们注册为商品范围的自定义维度。您只需注册计划在报告中使用的参数——无需注册全部 20 个。

  1. 打开自定义定义

    在 GA4 中,进入 管理(左下齿轮图标)→ 选择您的属性 → 数据展示自定义定义

  2. 创建新的自定义维度

    点击 创建自定义维度

  3. 填写维度详情

    • 维度名称 — GA4 报告中显示的人类可读标签(见下表)
    • 范围 — 选择 商品
    • 事件参数 — 与 dataLayer 中参数名称完全一致(见下表)
    • 描述 — 可选但推荐填写
  4. 保存并重复

    点击 保存,然后为每个要跟踪的参数重复此操作。

创建自定义维度时,请参考下表。事件参数值必须完全匹配——GA4 区分大小写。

维度名称事件参数类型
物业 IDproperty_id文本
物业名称property_name文本
物业品牌property_brand文本
物业连锁property_chain文本
物业 URL 名称property_url_name文本
城市名称city_name文本
国家代码country_code文本
入住日期start_date文本
退房日期end_date文本
成人数量num_adults数字
儿童数量num_children数字
取消政策cancellation_policy文本
费率计划 IDrate_plan_id文本
房价 IDroom_rate_id文本
房价名称room_rate_name文本
优惠数量num_perks数字
房间位置room_location文本
房间景观room_view文本
房间分类room_classification文本
床型bed_type文本

以下事件存在于 Wink 的 dataLayer 中,但不属于标准预订漏斗。它们可能由平台上的其他交互触发。

{
"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检测到的设备类型——DesktopAndroidiPhoneiPad 或类似
deviceAgent原始用户代理字符串
os检测到的操作系统——WindowsMacOSLinuxUNIX
path当前页面路径
title当前页面标题
userId已认证用户标识符(未登录时省略)
startDate当前搜索会话的入住日期
endDate当前搜索会话的退房日期
guests当前搜索会话的客人数量
rooms当前搜索会话的房间数量