Landing Pages File Syntax

The root element of the landing pages (point of sale) file is <PointsOfSale>. This element has no attributes and takes one child element, <PointOfSale>. A landing pages file can have any number of <PointOfSale> child elements.

Each landing page that you define in the landing pages file is contained in a <PointOfSale> element. This element takes a single attribute, id. The id attribute 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 do this by using the <AllowablePointsOfSale> element in <Transaction>.

The landing pages file uses the following 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"
      currency="currency code"
      sitetype="[localuniversal|mapresults|placepage]"
      device="[desktop|mobile|tablet]"
    />
    ...

  </PointOfSale>
  ...

  <!-- The dynamic landing page URL -->
  <URL>landing page url</URL>

</PointsOfSale>

The following table describes the child elements of the <PointOfSale> element:

Element Required Description
<DisplayNames> Optional Contains ad display text for Online Travel Agencies (OTAs). This element takes the following attributes:
  • display_text: Contains the text that displays in an ad. It must only be the name of the partner.
  • display_language: A two-letter language code that specifies the display language of the ad. 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"
/>

Omit 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 text is taken from the hotel's <Name> element in the Hotel List Feed.

<Match> Required

Defines filters for whether your ad is displayed based on various characteristics of the end-user or hotel. For example, you can specify that an ad 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 are "yes" (must match) or "never" (must not match).
  • country: Matches on the Google domain associated with the end-user and the hotel. This attribute takes a two-letter country code (ISO 3166-1 alpha-2). For example, "US" or "FR" (in upper case).
  • language: Matches on the end-user and hotel's language. This attribute takes a two-letter language code (in lower case). For example, "en" or "fr".
  • currency: Matches on the end-user or hotel country's currency. This attribute takes a three-letter currency code. For example, "USD" or "EUR".
  • 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 through organic search, typically by searching on google.com.
    • "mapresults": The user found the ad through maps.google.com.
  • device: Matches on the type of device that the end-user uses to search. This attribute takes can be "mobile", "desktop", or "tablet".

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"
</PointOfSale>

For more information, refer to Landing Page Matching Rules.

<URL> Required Defines a link to your site where the end-user can book a room. You can insert dynamic information about the user and their itinerary as query string parameters. For example, you can include the hotel ID by using the PARTNER-HOTEL-ID variable in the URL:
http://partner.com/landing?hid=(PARTNER-HOTEL-ID)

When this link is constructed and displayed to the end-user, Google replaces the PARTNER-HOTEL-ID variable with the appropriate hotel ID. When the end-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.

You can define only one <URL> element for each landing page.

For a complete list of variables allowed in the landing page URL, see Building Dynamic URLs.

The landing pages file schema defines the structure and constraints of a landing pages file. For more information, read Schemas.