Price Accuracy report

You can use the Price Accuracy report to help ensure adherence to Google's Price Accuracy Policy and Taxes and Fees Policy, and/or determine potential sources of price discrepancies.

To determine accuracy, Google compares what a hotel "really" costs with what you "told" Google the hotel costs. Specifically, Google compares the base rates as well as taxes and fees for a given hotel/itinerary that you supplied to Google (known as feed or cached values) to what Google fetched (or scraped) from your website.

The Price Accuracy report includes a set of sample data from your Hotel Price Feed. The data includes the prices that Google has and the prices on your website for some of your hotels/itineraries.

NOTE: Because the Price Accuracy report includes a subset of your Hotel Price Feed only, use it to detect patterns that might result in price accuracy issues. Do not use the Price Accuracy report as a comprehensive list of prices.

If the feed values are different than the fetched values, Google can take actions described in Price Accuracy Policy.

To get your Price Accuracy Scores:

  1. Open the Hotel Ads Center in a browser.
  2. Select Tools from the navigation bar across the top of the display.
  3. Select Accuracy Score in the left-hand navigation. The Hotel Ads Center displays your Price Accuracy Scores, as the following example shows:

     

    The Average Score represents your overall average performance.

    The Most Recent Score represents your score during the last auction. This is a good indicator of whether your Average Score will trend up or down in the coming days. If your recent score is higher than your average score, you should expect your average score to go up. If your recent score is lower than your average score, you can expect your average score to go down if the trend continues.

  4. The Price Accuracy report shows the trend for your Average Score and the top country-specific scores in the Recent Average Scores Trend graph below your scores.

    This image shows an account whose average score for the UK is Excellent, but the overall average is between Good and Poor. In this example, when fixing inaccuracies, you would focus on non-UK hotels.

    Country-specific scores are shown only when their scores differ significantly from your overall score.

  5. To view inaccuracies Google found, at the bottom of the view, specify a date range to report on using the Fetched Time drop-down list. The default is last 7 Days.
  6. (Optional) Select additional columns to display from the Select columns drop-down list.
  7. Click the Apply Filters button to apply the date range and selected columns to your report.
  8. View the report in the table below or click the Download as CSV button to download it.

    The Price Accuracy report contains a subset of your prices only. It is a representation of your Hotel Price Feed and not a comprehensive list.

The following table describes the columns in the Price Accuracy report:

Name Column name Description
Hotel ID* hotel_id

The unique ID for the hotel that you use in your Hotel List Feed.

Check in check_in The first day of the itinerary, in YYYY-MM-DD format.
Nights* nights The number of days for the itinerary.
Base Price (Fetched) scraped_price The price per night of the given itinerary that Google fetched directly from your website.

 

Google compares this value to the feed price to determine if your prices are accurately displayed in Hotel Ads as compared to on your website. If the values are very different (especially if the scraped price is higher than the feed price), Google might flag this as a price accuracy policy violation, suspend the hotel, and lower your account's Price Accuracy Score.

The value of fetched price is given in the Currency (Fetched).

Currency (Fetched) scraped_currency

A three-letter currency code representing the currency that the price and taxes and fees are given in.

Taxes & Fees (Fetched) scraped_tax The total amount of taxes and fees that Google fetched from your site for the given itinerary. Google compares this value to the feed taxes and fees to determine if your taxes and fees are accurately displayed in Hotel Ads as compared to on your website.

 

If the values are very different (especially if the fetched taxes and fees are higher than the feed taxes and fees), Google might flag this as a price accuracy policy violation, suspend the hotel, and lower your account's Price Accuracy Score.

Prices in the US and Canadian markets typically break out taxes and fees separately from the price. As a result, this value might be 0 for other markets. For more information, see Taxes and Fees Policy.

The value of Taxes & Fees (Fetched) is given in the Currency (Fetched).

Total Price (Fetched)* scraped_total_price  The total fetched price, in local currency.
Fetched Time scraped_time The date and time that Google fetched the price, using the following format:

 

YYYY-MM-DDTHH:MM:SS[+|-]Z1:Z2

Where:

  • YYYY is the four-digit year
  • MM is the two-digit month
  • DD is the two-digit day of month
  • HH is the two-digit hours, using a 24-hour clock
  • MM is the two-digit minutes
  • SS is the two-digit seconds
  • [+|-] indicates if the timezone offset is positive or negative
  • T is a separator
  • Z1 is the two-digit number of hours in the timezone offset
  • Z2 is the two-digit number of minutes in the timezone offset
Base Price (from Feed) feed_price The price per night of the given itinerary that you supplied to Google in your Hotel Price Feed. Google compares this value to the fetched price to determine if your prices are accurately displayed in Hotel Ads as compared to on your website.

 

If the values are very different (especially if the fetched price is higher than the feed price), Google might flag this as a price accuracy policy violation, suspend the hotel, and lower your account's Price Accuracy Score.

The value of feed price is given in the Currency (from Feed).

Currency (from Feed) feed_currency

A three-letter currency code representing the currency that the feed price and taxes and fees are given in. For example, "USD".

Taxes & Fees (from Feed) feed_tax The total amount of taxes and fees that Google has for the given itinerary. Google gets this value from its data cache, which contains the taxes and fees that you supplied with your Hotel Price Feed.

 

Google compares this value to the Taxes & Fees (Fetched) to determine if your feed taxes and fees are accurately displayed in Hotel Ads as compared to your website.

If the values are very different (especially if the feed value is higher than the fetched value), Google might flag this as a price accuracy policy violation, suspend the hotel, and lower your account's Price Accuracy Score.

Prices in the US and Canadian markets typically break out taxes and fees separately from the price. As a result, this value might be 0 for other markets. For more information, see Taxes and Fees Policy.

The value of feed value is given in the feed currency.

Total Price (from Feed)* total_price

The total price, from your feed, in the local currency.

Price Feed Last Update feed_time The date and time that Google received and stored the feed price (usually from your Hotel Price Feed), using the following format:
YYYY-MM-DDTHH:MM:SS[+|-]Z1:Z2
Where:
  • YYYY is the four-digit year
  • MM is the two-digit month
  • DD is the two-digit day of month
  • HH is the two-digit hours, using a 24-hour clock
  • MM is the two-digit minutes
  • SS is the two-digit seconds
  • [+|-] indicates if the timezone offset is positive or negative
  • T is a separator
  • Z1 is the two-digit number of hours in the timezone offset
  • Z2 is the two-digit number of minutes in the timezone offset

The value of feed time might not be when you most recently sent a pricing update to Google for the hotel/itinerary. It might reflect a different time if Google received a Live Query response from you for that hotel/itinerary.

Total Price Deviation* total_price_deviation

The difference between the feed price and taxes and fees and the scraped price and taxes and fees. A positive percent indicates the total scraped price is greater than the total feed price.

Base Price Deviation base_price_deviation

The difference between feed price and scraped price. A positive percent indicates the scraped price is greater than the feed price.

Price Freshness* price_freshness

Fetched time minus feed time, in hours.

This is how fresh the price and is the difference between when we fetched (scraped_time), and the last time this price was updated (feed_time). This is a good column to use to spot patterns of prices or hotel IDs for which prices are stale.

Advance Purchase Window* advance_purchase_window

Check-in minus fetched time, in days.

This is the difference between when we fetched the price (scraped_time) and the check-in date for the itinerary (check_in). This is also a good column to use to spot patterns of prices or hotel IDs for which we have inaccurate prices

Feed Corrected Time feed_corrected_time

The time that a price update that matched the one fetched from your web site was made.

For price inaccuracies, we will look at subsequent updates from your price feed to see if you have sent us the correct price at a later time. If we detect that the the correct price update was sent to us after we have fetched the site, we will note the time that your feed updated and had the correct price. This should also be displayed in YYYY-MM-DDTHH:MM:SS[+|-]Z1:Z2.

NOTE: This field is new in version 2 of the Price Accuracy Report.
Feed Number of Incorrect Updates feed_num_incorrect_
updates

The number of non-matching price updates that we received between when the price was fetched and either the feed_corrected_time or when the price accuracy report was generated, whichever was earlier.

If we have detected a correct price at a later time, and we saw intervening price updates that were incorrect, we aren't sure if your price feed is delayed or if there are incorrect prices in the feed. In this case, we log the number of incorrect price feed updates between the time we fetched and the time we got the correct price.

NOTE: This field is new in version 2 of the Price Accuracy Report.
Mismatch Reason* mismatch_reason

The reason for a price mismatch. Can be one of the following values:

  • Price Feed Delayed: feed_corrected_time is not null and feed_num_incorrect_updates = 0.
  • Price Feed Delayed, Incorrect Prices: feed_corrected_time is not null and feed_num_incorrect_updates > 0.
  • Undetermined The reason for the price mismatch is unknown.
URL* url

The URL that Google used to fetch the price and taxes and fees values.

Deal deal Indicates whether or not a row represented a deal (the prices were low enough to be labelled as a good deal).
NOTE: This field is new in version 2 of the Price Accuracy Report.
Rate Rule ID rate_rule_id

If a fetched price is associated with a fenced rate or rate rule, the ID of the rate rule appears in this column.

Hotel Country hotel_country Indicates the country where the hotel is located.
Validtation Details validation_subkey Shows price history and how the price was validated.

* Default columns in the report. To select additional columns, use the Select columns drop-down list.

About price validation

The “Validation Details” column can show you how Google calculated a price. When you select View Details under “Validation Details,” you will see a “Price history” table listing times and scraped prices.

If you see a Price Mismatch: View Details note by one of the prices, you can select it to see how the price mismatch occurred, including expected and fetched base prices, taxes and fees, and total price. You can also see screenshots Google took of web pages that contained price data.

Example usage


The following example shows the header and a single line of data from a sample downloaded Price Accuracy report (CSV):

Sample Price Accuracy Report
hotel_id,check_in,nights,scraped_price,scraped_tax,scraped_currency,scraped_time,feed_price,feed_currency,feed_tax,feed_time,url
sample,3135,7/5/2015,1,222.39,0,BRL,2015-12-15T11:46:14-08:00,BRL,2015-12-15T11:46:14-08:00,
http://capyb1.sample.com/media/redir.php?p=977&c=192007&a=k27&destination=42
&di=05&mi=07&yearIn=2015&n=1&an=2&cn=0&mid=2

 

Note that not all fields are included in the download by default. You must select them to include them in the CSV file that you download.

In a spreadsheet application, you might calculate the difference in prices and flag when the scraped price is not that same as the feed price. The following example divides the value of the scraped price by feed price and highlights price accuracy issues in red in the "DIFF" column (which was added after the report data was imported into a spreadsheet application):

Was this article helpful?
How can we improve it?