The root element of the landing pages file is <PointsOfSale>
which takes one
child element, <PointOfSale>
and has no attributes. A landing pages file can
have multiple <PointOfSale>
child elements.
Each landing page that you define in the landing pages file is included in a <PointOfSale>
element. This element takes a single attribute, id
that
defines a unique identifier for a landing page. You can use the value
of id
to filter eligible landing pages for a matching hotel. You can do this
by using the <AllowablePointsOfSale>
element in <Transaction>
.
Syntax
<?xml
version="1.0"
encoding="UTF-8"?>
<PointsOfSale>
<PointOfSale
id=" landing_page_id
">
<DisplayNames
display_text=" landing_page_display_name
"
display_language=" language_code
"/>
<Match
status="[yes|never]"
country=" country_code
"
language=" language_code
"
brand=" booking_engine
or
brand
"
currency=" currency_code
"
sitetype="[localuniversal|mapresults]"
device="[desktop|mobile|tablet]"/>
<!--
The
dynamic
landing
page
URL
-->
<URL> landing_page_url
</URL>
</PointOfSale>
</PointsOfSale>
The following table describes the child elements of the <PointOfSale>
element:
Contains display text for Online Travel Agencies (OTAs). This element takes the following attributes:
-
display_text
: Contains the text that is shown in an ad or free booking link. It should be the name of the partner. -
display_language
: A two-letter language code specifies the display language of the ad or free booking link. The value of this attribute must match a supported language specified by the<Match>
element.
The following example shows a display name for a French OTA:
<DisplayNames display_text="TravelAgency.com.fr" display_language="fr" />
Exclude the <DisplayNames>
element for Central
Reservations System (CRS) suppliers, also known as "integration
partners", and Direct Suppliers such as hotel owners or chains. For
these types of partners, ad and free booking link text is taken from the
hotel's <Name>
element in the Hotel List
.
Note:
For OTA's, if you have configured a default display name
with Google Support, then this field is optional. Otherwise OTA's must
provide <DisplayNames>
.
Defines filters for whether your ads and free booking links are displayed based on various characteristics of the user or hotel. For example, you can specify that an ad or free booking link is displayed only to users in a certain country.
This element takes the following attributes:
-
status
: Determines whether a match includes or excludes results for the specified criterion. Valid values areyes
(must match) ornever
(must not match). -
country
: Matches on the Google domain associated with the user and the hotel. This attribute takes a two-letter country code . For example,US
orFR
. -
language
: Matches on the user and hotel's language. This attribute takes a two-letter language code . For example,en
orfr
. -
brand
: Matches on the value of thehotel_brand
attribute specified in your hotel list. This filter can be useful if you have different URLs for your booking engines or various brands. -
currency
: Matches on the user or hotel country's currency. This attribute takes a three-letter currency code . For example,USD
orEUR
. -
sitetype
: Matches on the Google property on which a user viewed your hotel pricing data. This attribute takes the following values:-
localuniversal
: The user found the ad or free booking link through a search, typically by searching ongoogle.com
. -
mapresults
: The user found the hotel booking link throughmaps.google.com
.
NOTE: Setting all sitetypes to
never
is not allowed. This will causesitetype
to be ignored. -
-
device
: Matches on the type of device that the user uses to search. This attribute takesmobile
,desktop
, ortablet
.NOTE: You cannot set
status
tonever
ifdevice
is set totablet
.
For example:
<PointOfSale id="test1"> <Match status="yes" country="US"/> <Match status="yes" currency="USD"/> <Match status="yes" device="mobile"/> <Match status="yes" language="en"/> <URL>www.google.com</URL> </PointOfSale>
You can combine attributes of the <Match>
element to
simplify your matching rules, as the following example shows:
<PointOfSale id="test1"> <Match status="yes" country="US" language="en" currency="USD" device="mobile"/> <URL>www.google.com</URL> </PointOfSale>
For more information, refer to Landing pages matching rules .
PARTNER-HOTEL-ID
variable in the URL: http://partner.com/landing?hid=(PARTNER-HOTEL-ID)
When this link is constructed and displayed to the user, Google
replaces the PARTNER-HOTEL-ID
variable with the appropriate
hotel ID. When the user clicks through to your site, your site can
then extract and process the values of all query string parameters to
create a smooth user experience. For a complete list of variables allowed
in the landing page URL, see Using variables and conditions
.
When using tracking, specify the complete URL including the components needed for tracking. For example:
https://example.tracker.com?campaign_id=(CAMPAIGN-ID)&t_url= http://partner.com/landing%3Fhid%3D(PARTNER-HOTEL-ID)
ValueTrack parameters can't be used in <URL>
.
You can define only one <URL>
element for each
landing page.
Used to support dynamic tracking in the landing page URL. Specifies
the non-tracking segment of the URL defined in the <URL> element.
Tracking segments of the landing page URL must be specified using Google
Ads tracking templates which is available in your Google Ads account
and the final URL suffix. If tracking URLs are not present in Google
Ads, the <LPURL>
element is ignored.
The <LPURL>
value does not need to be escaped. A
correct ValueTrack configuration in Google Ads escapes it
automatically. For example:
http://partner.com/landing?hid=(PARTNER-HOTEL-ID)
ValueTrack parameters can't be used in <LPURL>
.
For more information, see Set up dynamic tracking for a Hotel campaign.
The landing pages file schema defines the structure and constraints of a landing pages file. For more information, read Hotel Ads Schemas