变量和条件

酒店广告和免费的预订链接均包含指向用户的着陆页的链接 可以预订会议室。您可以定义 Google 构建链接的方式, 有关用户及其行程的更多信息。例如: 您可以添加酒店 ID、语言、货币代码等信息 和入住日期。

概览

您可以在着陆页文件中定义着陆页网址。当该广告或 如果系统显示预订链接,则网址中的动态信息会替换为 实际值。要向着陆页网址添加动态值,请使用 以下语法:

<URL>https://partner_url?param_id=(variable_name)</URL>

以下示例显示的网址使用 Google 的变量名称,而不是 实际酒店 ID 和行程:

<URL>https://www.partnerdomain.com?hotelID=(PARTNER-HOTEL-ID)
  &amp;checkinDay=(CHECKINDAY)&amp;checkinMonth=(CHECKINMONTH)
  &amp;checkinYear=(CHECKINYEAR)&amp;nights=(LENGTH)
</URL>

在为搜索结果页构建着陆页链接时,Google 用实际值替换变量,以确保网址包含 动态信息。例如,如果用户预订了 2023 年 5 月 23 日起 42 号酒店入住 6 晚,Google 会显示之前的链接 如下所示:

https://www.partnerdomain.com?hotelID=42&checkinDay=23&checkinMonth=05&checkinYear=2023&nights=6

Google 为查询字符串中的变量指定的值取决于 酒店价格 Feed、酒店列表 Feed 和用户设置中的相应数据。

例如,LENGTH 变量的值被赋给 <Nights> 元素 来自相关行程的价格 Feed。同样, PARTNER-HOTEL-ID 变量在酒店列表的 <id> 元素中定义 与用户搜索条件匹配的 Feed。

部分变量是价格 Feed 元素的子集。例如, CHECKINDAYCHECKINMONTHCHECKINYEAR 变量会从 价格 Feed 中的单个 <Checkin> 元素。计算其他变量 基于用户的语言区域和其他客户端设置。

如需详细了解变量值的来源,请参阅 价格概览酒店列表

网址变量

下表介绍了可用于 构建着陆页网址:

变量 推荐/可选 说明
ADVANCE-BOOKING-WINDOW Optional 入住日前提前预订的天数 预订时酒店所在的时区。例如 36
ALTERNATE-HOTEL-ID Recommended (if you have separate IDs to identify properties versus booking engines) 房源的备用标识符。该属性名称 在您的酒店列表 Feed 中指定。在以下情况下,使用单独的 ID 会非常有用: 您需要为 Feed 信息提供一个房源标识符,并为另一个 房源标识符。
CAMPAIGN-ID Recommended 您希望与 网址。如果点击未与 Google Ads 关联,则此处为空 广告系列。
CHECKINDAY Recommended <Checkin> 元素中定义的两位数日期 “酒店价格 Feed”页面例如 20
CHECKINDAY-OF-WEEK Optional 星期几 - MondaySunday, 入住时间(以酒店所在时区为准)。例如:Tuesday
CHECKINMONTH Recommended <Checkin> 中定义的两位数月份 元素。例如 05
CHECKINYEAR Recommended <Checkin> 中定义的四位数年份 元素。例如 2023
CHECKOUTDAY Recommended 根据 <Nights> 和 酒店价格 Feed 的 <Checkin> 元素。对于 示例 26
CHECKOUTMONTH Recommended 根据 <Nights> 计算得出的两位数月份 以及酒店价格 Feed 的 <Checkin> 元素。例如 05
CHECKOUTYEAR Recommended 根据 <Nights> 计算得出的四位数年份 以及酒店价格 Feed 的 <Checkin> 元素。例如 2023
CHILD-AGE Recommended (must be provided for child occupancy pricing) 根据 <ph type="x-smartling-placeholder"></ph> 价格 Feed 的 <Child "age"> 元素。 此变量必须与 FOR-EACH-CHILD-AGE 条件块。
CHILD-INDEX Optional 从 0 开始计数的循环变量表示每个子项的计数器 行程中指定的乘员和儿童年龄。虽然 则此变量只能与 FOR-EACH-CHILD-AGE 条件块。
CLICK-TYPE Optional 指明用户是否点击了标准酒店的商家信息 提供房价或客房套餐可能的值如下:
  • hotel:用户点击了标准商品详情 房价
  • room:用户点击了 Room 的列表 套装。
CLOSE-RATE-RULE-IDS Optional (only applies if you are using conditional or private rates) 已指定费率的费率规则 ID 列表 但是,如果用户获取了 次要操作。请注意, 不公开费率 在显示相应的界面处理方式时,始终会在此处填充 。
CUSTOM[1-5] Optional <Result> 中定义的自定义字段的值 元素,每个自定义字段的字符数上限为 200。有关 请参阅 概述 事务消息列表。使用 ARI
DATE-TYPE Optional 指明用户选择的是默认日期还是特定日期 。可能的值如下:
  • default:用户点击了酒店广告或免费广告 使用默认日期的预订链接。
  • selected:用户点击了酒店广告或免费广告 显示已设置日期的预订链接。
GOOGLE-SITE Optional 用户查看您的酒店定价数据时所用的 Google 产品和服务。 可能的
    值如下:
  • localuniversal:用户找到了酒店预订链接 google.com搜索。
  • mapresults:用户找到了酒店预订链接 至 maps.google.com
  • verification:Google 在执行 自动对网站进行数据质量测试您无需为这些查询付费。 Google Analytics 可以使用此参数及其值来识别 酒店广告自动验证流量。
  • unknown:用户找到了广告或免费的预订链接 来源不明。
LENGTH Recommended 住宿晚数(由 <Nights> 元素。例如 3
NUM-ADULTS Recommended (must be used with the NUM-CHILDREN or FOR-EACH-CHILD-AGE condition) 用户为行程指定的成人入住人数。 此变量必须与 NUM-CHILDREN 和/或 FOR-EACH-CHILD-AGE
NUM-CHILDREN Recommended 根据 浏览行程NUM-CHILDREN, 必须同时设置 FOR-EACH-CHILD-AGE,或同时设置两者,才能成功 参与行程。
NUM-GUESTS Recommended (if you don't send child occupancy pricing) 为以下酒店指定的入住人数(包括成人和儿童) 用户行程该值是 NUM-ADULTSNUM-CHILDREN 值。接收者 尽可能提高参与率,强烈建议您同时使用 改为 NUM-ADULTSNUM-CHILDREN
PACKAGE-ID Recommended (applies if you use Room Bundles) 酒店价格 Feed 中套餐的唯一标识符。对于 包 ID,则包 ID 是 <Result> 中的 <PackageID> 元素 。对于客房套餐,软件包 ID 是 <PackageID> 元素(在 <RoomBundle><PackageData> 块 “交易”消息的相应部分
PARTNER-CURRENCY Optional 由 3 个字母组成的货币代码,由 <Baserate> 元素的 currency 属性 。例如 USDCAD
PARTNER-HOTEL-ID Recommended 酒店的唯一标识符,由 酒店列表 Feed 中的 <id> 元素。
PARTNER-ROOM-ID Recommended (applies if you use Room Bundles) 酒店价格 Feed 中客房的唯一标识符。对于 客房 ID 是 <Result> 中的 <RoomID> 元素 。对于客房套餐,客房 ID 是分配给 <RoomID> 元素(在 <RoomBundle><RoomData> 块 。
PAYMENT-ID Optional (only applies to Ads) 解析为预定义的字符串 commission 或 Google 的 分配的 IATA 编号(例如“01234567”),如果您使用“佣金”出价策略 代收欠款公司。要更改 IATA 编号的格式,或者 预定义字符串,请与您的技术支持客户经理 (TAM) 联系。
PRICE-DISPLAYED-TAX (Optional) 向用户显示的税额(以用户的本地货币表示)。 PRICE-DISPLAYED-TAX 的值是 酒店价格 Feed 中的 <Tax> 元素。例如: “3.14”。
PRICE-DISPLAYED-TOTAL (Optional) 在用户使用 本地货币。PRICE-DISPLAYED-TOTAL 的值为 <Baserate><Tax> 和 来自酒店价格 Feed 的 <OtherFees> 元素。 例如,"152.13"。
PROMO-CODE (Optional)

如果您使用 ARI promotion 时,此变量的值会分配给所应用的 <Promotion>id 属性。如果 应用了多个促销活动,系统会采用以逗号分隔的 促销 ID,顺序不限。

如果您使用 费率规则,则如果应用了相应的费率规则,系统会将此变量的值分配给 PromoCode 元素。

RATE-PLAN-ID Recommended (only applies if you use RoomBundles) <RatePlanID> 元素在 价格 Feed 的 <RoomBundle> 块。通过 <RatePlanID> 表示唯一标识符 。有关 信息,请参阅 客房套餐
RATE-RULE-ID Recommended (only applies if you use conditional rates or private rates) rate_rule_id 属性定义 价格 Feed 的 <Rate> 块。如需更多信息 请参阅 条件式费率

注意:只能选择条件式费率或不公开费率 未隐藏的项

USER-COUNTRY Recommended 两个字母的 国家/地区代码来指明用户所在位置。这个 信息提取自用户的客户端设置。对于 例如 USFR
USER-CURRENCY Recommended 由三个字母组成的货币代码,表示用户当地的 货币。USER-CURRENCY 变量的值为 根据用户的客户端设置推断出来例如:USDCAD
USER-DEVICE Recommended 用户的设备类型。USER-DEVICE 的值 可以是以下其中一项: <ph type="x-smartling-placeholder">
    </ph>
  • mobile
  • tablet
  • desktop
  • unknown

USER-DEVICE 变量的值根据 用户的客户端设置。

USER-LANGUAGE Recommended 两个字母的 ISO 639-1 语言代码,用于指定 广告或免费的预订链接。USER-LANGUAGE 的值 变量是根据用户的客户端设置推断出来的。例如: enfr
USER-LIST-ID(在 Google Ads 中定义) Optional (only applies if you use Audience Lists in Google Ads) 包含相应受众群体名单或用户的 Google Ads 用户名单 ID 信息。受众群体名单可用作 设置出价 调整。如果用户同时属于多个受众群体名单, 系统将选择出价调整幅度最大的受众群体名单。彼此之间差不多 出价调整幅度最高的受众群体是随机选择的。
VERIFICATION Optional 一个布尔值,用于验证 Google 是否为 测试或自动验证。如果链接是生成的,则为 true 用于测试或自动验证,否则为 false

网址中的条件逻辑

您可以在着陆页文件的 <URL> 元素中使用特殊指令, 有条件地构建端点

条件逻辑支持以下语句:

  • if_statement:如果为 true,则此后的值 条件会插入到网址中,否则后续值 已插入 ELSE 指令。

  • for_statement:创建一个用于迭代的 FOR 循环条件 根据所提供值的数量进行调整。

IF 和 FOR 语句包括:

条件 推荐/可选 说明
IF-AD-CLICK(仅限酒店广告) Optional 如果用户点击源自广告,则解析为 true。 如果用户点击源自免费广告点击,则解析为 false 预订链接。
IF-CLICK-TYPE-HOTEL Optional 如果用户点击某个详情,则解析为 true。 Hotel,否则将解析为 false
IF-CLICK-TYPE-ROOM Optional 如果true 用户点击了 的商家信息 Room Bundle,否则将解析为 false
IF-CLOSE-RATE-RULE-IDS Optional 如果一个或多个条件式费率满足条件,则解析为 true 不可用,因为用户不符合条件,否则将解析为 false。默认情况下,true如果 不公开费率 向用户显示了界面处理方式。
IF-DEFAULT-RATE Optional 如果用户点击的是酒店商家信息,则解析为 true 其中使用默认日期,否则解析为 false
IF-HOTEL-CAMPAIGN Optional 如果用户点击源自网址,则解析为 true 酒店广告系列,否则将解析为 false。这个 对拥有多种广告系列类型的合作伙伴而言,区分功能非常实用 来分配归因。
IF-PAYMENT-ID(仅限酒店广告) Recommended (if you use pay-per-stay Google Ads campaigns) 对于采用按入住付费 (PPS) 模式的酒店,解析为 true 否则解析为 false
IF-PROMO-CODE Optional 如果用户点击的速率为 true,则解析为 基于 ARI 促销活动或具有指定 PromoCode 的费率规则; 否则将解析为 false
IF-PROMOTED(仅限酒店广告) Recommended (if you use Promoted hotels) 如果用户点击了某个属性,则解析为 true 促销广告,否则将解析为 false
IF-RATE-RULE-ID Optional 如果用户选择了true 条件式费率 ,否则将解析为 false
IF-USER-LIST-ID(在 Google Ads 中定义) Optional 如果用户是 Google Ads 的成员,则解析为 true 您在为受众群体设置出价调节系数时指定的客户名单 ID 列表,否则将解析为 false
IF-VERIFICATION Optional 如果链接是由 Google 为以下对象生成的,则解析为 true: 测试或自动验证,否则将解析为 false
ELSE Recommended (if you use any conditional IF statements) 如果不满足前一条件,则遵循此条件的值 条件会插入网址中。
END-IF Optional (required if you have any IF conditional statements) 结束 IF 语句条件块。
FOR-EACH-CHILD-AGE Optional (required for child occupancy pricing) 对于每个 <ph type="x-smartling-placeholder"></ph> <Child "age"> 元素。对于 例如,如果 <OccupancyDetails> 包含 元素 <Child age="17"><Child age= "17">,则该指令会执行两次。
END-FOR-EACH Optional (required if using FOR-EACH block) 结束 FOR-EACH 语句条件块。

IF-AD-CLICK 示例

您可以构建一个条件块,用于检查用户是否点击了某个广告或 免费的预订链接重定向到您的着陆页。

以下示例在着陆页文件中使用此指令:

<URL>https://partner.com?hid=(PARTNER-HOTEL-ID)(IF-AD-CLICK)&amp;adType=1(ELSE)&amp;adType=0(ENDIF)</URL>

在此示例中,如果用户未点击广告,结果如下 网址:

https://www.partner.com?hid=123&adType=0

如果用户点击了广告,结果将如下所示:

https://www.partner.com?hid=123&adType=1

IF-CLICK-TYPE-HOTEL 示例

您可以构建一个条件块,用于检查用户是否选择了一家酒店 没有明确的 Room Bundle。<RatePlanID> 元素在 事务消息的 <Room Bundle> 块将隐式设置为 用户选择的相关客房套餐价格。

以下示例在着陆页文件中使用此指令:

<URL>https://partner.com/(IF-CLICK-TYPE-HOTEL)landing(ELSE)landing_room(ENDIF)?hid=(PARTNER-HOTEL-ID)</URL>

在此示例中,如果用户选择的是房间套餐,结果将如下所示 网址:

https://partner.com/landing_room?hid=123

如果用户未选择客房套餐,结果将如下所示:

https://partner.com/landing?hid=123

IF-CLICK-TYPE-ROOM 示例

您可以构建一个条件块,用于检查用户是否选择了 Room 套装。

以下示例在着陆页文件中使用此指令:

<URL>https://partner.com/(IF-CLICK-TYPE-ROOM)landing_room(ELSE)landing(ENDIF)?hid=(PARTNER-HOTEL-ID)</URL>

在此示例中,如果用户未选择客房套餐,结果为 以下网址:

https://partner.com/landing?hid=123

如果用户选择了客房套餐,结果将如下所示:

https://partner.com/landing_room?hid=123

IF-DEFAULT-DATE 示例

使用 IF-DEFAULT-DATE 条件语句设置一个非日期参数, 然后,在用户未选择产品时,您的网站可以使用 来触发自定义行为 日期。

以下示例检查是否使用了默认日期:

<URL>https://partner.com?hotelID=(PARTNER-HOTEL-ID)&amp;checkinDay=(CHECKINDAY)&amp;checkinMonth=(CHECKINMONTH)&amp;checkinYear=(CHECKINYEAR)&amp;nights=(LENGTH)<strong>(IF-DEFAULT-DATE)</strong>&amp;popup_datepicker=true(ELSE)&amp;popup_datepicker=false(ENDIF)</URL>

在此示例中,如果用户未选择日期,结果可能会类似 添加到显示默认日期选项的以下网址:

https://partner.com?hotelID=123&checkinDay=23&checkinMonth=05&checkinYear=2023&nights=1&popup_datepicker=true

如果用户选择了日期,结果可能与以下网址类似: 具体取决于他们选择的行程:

https://partner.com?hotelID=123&checkinDay=23&checkinMonth=05&checkinYear=2023&nights=2&popup_datepicker=false

IF-HOTEL-CAMPAIGN 示例(酒店广告和免费预订链接点击)

您可以构建一个条件块,用于检查用户是否点击了 来自酒店广告系列。

以下示例在着陆页文件中使用此指令:

<URL>https://partner.com?hotelID=(PARTNER-HOTEL-ID)(IF-HOTEL-CAMPAIGN)&amp;hotel_campaign=(CAMPAIGN-ID)(ELSE)utm_campaign=(CAMPAIGN-ID)(ENDIF)</URL>

在此示例中,如果用户点击一个酒店广告系列网址,结果就是 以下网址:

https://www.partner.com?hotelID=123&hotel_campaign=12345678

如果点击的不是酒店广告系列网址(例如常规搜索广告系列),则 结果如下所示:

https://www.partner.com?hotelID=123&utm_campaign=87654321

当您想要区分酒店广告系列点击的流量时,会非常有用 任何其他点击的影响。

FBL 点击次数出现空白的 CAMPAIGN-ID

如果点击来自免费的预订链接,则 IF-HOTEL-CAMPAIGN 会返回 TRUECAMPAIGN-ID 值设置为空,如以下网址所示:

https://www.partner.com?hotelID=123&hotel_campaign=

您可以使用 IF-AD-CLICK 条件语句来防止广告系列 ID 为空,因为 如以下示例中所示:

<URL>https://partner.com?hotelID=(PARTNER-HOTEL-ID)(IF-HOTEL-CAMPAIGN)(IF-AD-CLICK)&amp;hotel_campaign=(CAMPAIGN-ID)(ELSE)&amp;FreeBookingLink(ENDIF)(ELSE)utm_campaign=(CAMPAIGN-ID)(ENDIF)</URL>

IF-PAYMENT-ID 示例(仅限酒店广告)

使用 IF-PAYMENT-ID 条件语句,根据是否使用 相应点击是否来自 PPS 佣金计划。下面的示例 检查点击是否来自 PPS 佣金计划,并将值指定为 booking_source 参数:

<URL>https://partner.com?hid=(PARTNER-HOTEL-ID)&amp;booking_source=(IF-PAYMENT-ID)(PAYMENT-ID)(ELSE)cpc(ENDIF)</URL>

如果酒店加入了“佣金”计划,结果为以下之一: 以下网址:

  • 如果没有向 Google 分配 IATA 号码:
    https://partner.com?hid=123&amp;booking_source=commissions
  • 如果 IATA 编号已分配给 Google:
    https://partner.com?hid=123&amp;booking_source=01234567

否则,结果将如下所示:

https://partner.com?hid=123&booking_source=cpc

IF-PROMOTED 示例(仅限酒店广告)

您可以构建一个条件块,用于检查用户是否点击了 酒店宣传广告。

以下示例在着陆页文件中使用此指令:

<URL>https://partner.com/(IF-PROMOTED)1(ELSE)0(ENDIF)?hid=(PARTNER-HOTEL-ID)</URL>

在此示例中,如果用户选择了酒店宣传广告,则结果 是以下网址:

https://partner.com/1?hid=123

如果用户没有选择酒店宣传广告,则结果为 以下网址:

https://partner.com/0?hid=123

IF-RATE-RULE-ID 示例

您可以构建一个条件块,用于检查用户是否选择了 条件式费率,如果是这种情况,则使用 <RateRuleID> 的值 元素。<Rate>

以下示例在着陆页文件中使用此指令:

<URL>https://partner.com?hid=(PARTNER-HOTEL-ID)(IF-RATE-RULE-ID)&amp;customerType=42(ELSE)(ENDIF)</URL>

在此示例中,如果用户未选择条件式费率,结果为 以下网址:

https://www.partner.com?hid=123

如果用户选择了条件式费率,结果将如下所示:

https://www.partner.com?hid=123&customerType=42

IF-USER-LIST-ID 示例(在 Google Ads 中定义)

如果您在 Google Ads 中为酒店广告系列中的受众群体名单设置出价调节系数,则: 可以将 IF-USER-LIST-IDUSER-LIST-ID 结合使用来设置 参数,为属于某个 Google Ads 的客户 受众群体名单您可能需要这样做以便进行跟踪或自定义您的 受众群体名单的成员网站

<URL>https://partner.com/?hid=(PARTNER-HOTEL-ID)(IF-USER-LIST-ID)&amp;audience_list=(USER-LIST-ID)(ELSE)(ENDIF)</URL>

在此示例中,如果用户不是受众群体名单的成员,则结果为 以下网址:

https://www.partner.com?hid=123

如果用户曾是受众群体名单 12345678 的成员,则结果为 以下网址:

https://www.partner.com?hid=123&audience_list=12345678

IF-VERIFICATION 示例

如果您需要检查 Google 生成的网址是用于测试还是自动 您可以使用 IF-VERIFICATION

<URL>https://partner.com/?hid=(PARTNER-HOTEL-ID)(IF-VERIFICATION)&amp;isgoogle=true(ENDIF)</URL>

在本示例中,如果 Google 未生成用于测试或验证的网址 结果如下所示:

https://www.partner.com?hid=123

如果网址是 Google 为测试或验证而生成的,那么结果就是 以下网址:

https://www.partner.com?hid=123&isgoogle=true

FOR-EACH-CHILD-AGE 示例

您可以构建一个条件块,用于填充每个 (如酒店价格 Feed 中所指定)。

以下示例在着陆页文件中使用此指令:

<URL>https://partner.com?adults=(NUM-ADULTS)&amp;children=(NUM-CHILDREN)(FOR-EACH-CHILD-AGE)&amp;age=(CHILD-INDEX)_(CHILD-AGE)(END-FOR-EACH)&amp;hid=(PARTNER-HOTEL-ID)&amp;</URL>

在此示例中,如果行程包含 2 名成人和 2 名分别 0 到 17 岁的儿童 对应的结果将如下所示:

https://www.partner.com?adults=2&children=2&age=0_0age=1_17&hid=123

如果行程包含 2 名成人和 0 名儿童,则结果如下 网址:

https://www.partner.com?adults=2&children=0&hid=123

构建网址时的一般规则

所有变量都是可选的。您不需要在 着陆页网址。不过,使用变量传递行程和用户 通常可以为用户提供更好的体验, 符合 Google 的政策。

在目标页面中定义构建的网址时,需遵循以下一般规则 页面文件:

  • 所有变量都用左括号和右括号括起来。

  • 查询字符串参数只能在问号 ("?") 后面传递, 。

  • 查询字符串参数必须在 最终输出。由于和号是 XML 中的特殊字符,且 着陆页文件格式为 XML。因此,您必须使用经过编码的实体 “&amp;"。最终输出会在字符。 例如:

    <!-- Do this: -->
    <URL>https://www.partnerdomain.com?hotelID=(PARTNER-HOTEL-ID)&nights=(LENGTH)</URL>
    
    <!-- Do NOT do this: -->
    <URL>https://www.partnerdomain.com?hotelID=(PARTNER-HOTEL-ID)&nights=(LENGTH)</URL>
    

    您还必须对可能包含在 着陆页网址。例如:

    • 空格 (" "):将空格字符替换为“%20;”在 <URL> 元素中
    • 正斜杠(“/”):将正斜杠替换为“%2F;”<URL>内 元素

    并非所有非字母字符都必须经过网址编码。例如: 连字符 (-) 无需进行网址编码。下面列出了 必须经过网址编码的字符,请查阅 网址编码表

  • 单个参数的值可以由多个变量构成。通过 以下示例通过checkinDate CHECKINDAYCHECKINMONTHCHECKINYEAR 变量:

    <URL>https://www.partnerdomain.com?checkinDate=(CHECKINDAY)%2F;(CHECKINMONTH)%2F;(CHECKINYEAR)</URL>
    

    该示例生成的网址可能如下所示:

    https://www.partnerdomain.com?checkinDate=7/23/1971
    
  • 您可以使用任意 ID 作为查询字符串参数的名称。您的服务器 处理这些值。不过,您传递的值仅限于 可用变量列表

  • 除了可用的自定义变量列表外,您最多可以使用五个自定义变量。 变量。