Hotel Ads price accuracy tracking pixel

Note: A new version of the price accuracy pixel, with updated functionality, is being developed under the gTag framework. Please reach out to your account manager if you're interested in piloting this feature. The implementation below is deprecated and should not be utilized by partners.

With Hotel Ads, you can track how accurately your prices submitted on Google match the prices on your website. This information will help you show your most updated pricing information to people who are looking to book your hotel.

Note: You must meet the minimum price accuracy threshold to show your information on Google.

How it works

Hotel Ads price accuracy tracking can be activated by placing an HTML code snippet on your landing page. The landing page is the page that your customers see when they click a booking link on a Hotel ad. Using the snippet, Hotel Ads tracks price information on your website and measures its accuracy against the prices you’ve submitted in your price transaction messages. If you have multiple booking sites (or points of sale), you need to add snippets to landing pages for each booking site, including mobile and desktop versions.

TIP: Tag manager libraries such as Google Tag Manager can simplify the population of variables within the HTML code.

Install the snippet

Follow the steps below to test and add the code snippet on your landing page(s).

Step 1: Build the code snippet in HTML

  1. Copy the following code snippet into a local HTML file:
    <!-- Google Code for Hotels Price Accuracy Tracking -->
       <div style="display:done;">
       <img height="1" width="1"
       style="border-style:none;" alt=""
       <!-- End Google Code for Hotels Price Accuracy Tracking -->
  2. Replace PARTNER_ID with your unique partner ID in the following two locations:
    • PARTNER_ID in the image’s source URL path
    • The value of the partner_id parameter in the <img> block​
  3. Use your website markup to generate dynamic values for the following variables in the <img> block:
    Variable Description
    partner_hotel_id Partner’s hotel ID
    base_price_value_string Base price of the hotel, preceded by the three-letter currency code, for example USD5432.34 (Do not include any commas in the price)
    tax_price_value_string Total amount of taxes for the hotel, preceded by the three-letter currency code, for example USD5432.42 (Do not include any commas in the price)


    Total price (all inclusive) of the entire stay preceded by the three-letter currency code, for example USD5432.34 (Do not include any commas in the price)
    display_price_value_string Total price displayed to the user. The value must be preceded by the three-letter currency code, for example USD5432.34 (Do not include any commas in the price)
    display_price_description_string Description of what’s included in the display price. Use only one of the values below:
    • “UNKNOWN” – Partner is not sure what costs are included (no value is treated as “UNKNOWN”)
    • "BASE_PRICE" – Base price, without any taxes/fees
    • "ALL_INCLUSIVE "– The total price, including all taxes and fees
    page_type Where in the booking funnel a user landed on the partner site:
    • “HOTEL_SELECTION ”– User can choose another hotel, even if primary hotel is pinned
    • “ROOM_SELECTION ”– User can choose a room from the hotel displayed on the page
    • “RATE_SELECTION” – User is choosing a rate (e.g. AAA, non-refundable) for one hotel
    • “BOOKING” – User has selected the hotel and room, and can continue to book
    • “OTHER” – (default value) For partners whose landing page selection doesn’t match one of the previous options

    Downstream partner providing price. Used in the case where the landing partner may not be the final booking provider.

    Format: string (max 50 chars)
    Example: “agoda”

    adults Number of adults reported on the page
    children Number of children reported on the page
    room_id Key value for room data (package/bundle), if passed in
    rate_plan_id Partner's rate plan ID, if passed in
    room_type Room type info, if reported
    Format: String
    check_in_date First night of stay
    Format: YYYY-MM-DD
    length_of_stay Length of stay in nights

    Note: Do not include line breaks in the <img> tag, otherwise the image will not render correctly.
  4. To avoid cache issues, generate a random number for the ord value in the image’s src URL.
  5. Add the completed code snippet to a test version of your landing page. This is where a user lands after clicking a Hotel Search result.

Step 2: Test the code snippet in your test environment

To test the code snippet, follow the instructions below:

  1. Send an HTTP GET request to the test page where you placed your HTML snippet.
  2. Review results in the Google Chrome browser network inspector:
    1. Perform a test booking from your landing page using the Google Chrome browser. Don't press the final confirmation button.
    2. Open the Chrome inspector (Menu > More Tools > Javascript Console) and choose the Network tab.
    3. Run the final booking step to see the GET request, including values sent to Google. Make sure the page does not load any errors.
    4. Confirm the following key issues:
      • Values are sent as intended
      • Your partner ID is in two locations in the message:
        • URL path
        • Value of the partner_id parameter in the <img> block
      • All variables are replaced with test values

Step 3: Schedule a final test

Coordinate a final booking test time and date with your Technical Account Manager (TAM). Once you’ve scheduled a final booking test, do the following:

  1. Deploy your code snippet to a controlled environment in your production system.
  2. Run a test booking as a final check.

Step 4: Push your code snippet live

Publish the code snippet to your production environment. The following example shows a complete code snippet with sample values:

 <div style="display:none;">
   <img height="1" width="1"
   style="border-style:none;" alt=""
Was this helpful?
How can we improve it?