Things to watch out for during migration

Product id should match service_id of the old feed Things to do activities understanding is based on product ids (previously called service_id). The product id of the new feed has to be the same as the service_id of the old feed in order for the system to reconcile to the same product and avoid interruptions in product serving.

Landing page URL changes

Things to do products now use URL templates as the primary means in which to inform landing pages the user's preferred language and currency. It is now up to the landing page to either redirect or show the correct language/currency. We expect landing pages reflect the user currency and language, in the case of unsupported language/currency, we expect the fallback currency to be of the activities destination and language fallback to something relevant (e.g. en-AU if unsupported, fallback to en-US or en).

We recommend implementing a fallback language and currency in the event you do not support the user selected currency/language.

While Google will only send languages which are supported by the product in the feed the language code passed on to the landing page via URL templates may differ to that of the language in the feed. For example, even if the language code passed in the feed content is in en we may choose to show this content to en-GB or en-AU users and as a result pass en-GB or en-AU as the language code.

Using PriceOptions

Google Things to do feed currently only supports adult prices. Please refrain from sending discount prices such as children or student prices as this can cause an incorrect price being displayed on for the product, leading to a price accuracy violation.

The new feed supports geo criteria to allow setting separate prices for each market. This is meant for the situations where prices available in different countries have significant variations. It is strongly recommended not to use this functionality to provide the same price in different currencies -- one price in the base currency should be provided instead (Google recommends the product's local currency as the base currency). The base currency will then be converted to the user's currency with the current exchange rate when serving.

When multiple prices need to be specified, it's recommended to always provide a fallback "catch-all" price with no geo criteria as the last item on the price option list (i.e. the price options geo restrictions are evaluated in-order).

Preparing for automated tagging pipeline

Google will gradually ramp up to use location information derived from the feed for serving. By providing the following data fields, you can ensure a smooth transition and products surfacing immediately once the new system is turned on.

  • product/options/related_locations: POI information provided with related_locations tells Google the list of POIs related to the product offering and their relationship.

  • product/options/base_ticket: This field indicates the product option in question should be used to represent the base entry ticket to an attraction. Customers are encouraged to set this to true on product options which best represent the cheapest single adult entry ticket. If multiple product options have base_ticket set for a POI, Google will use the cheapest option.

  • product/inventory_type: Partners who have been allowlisted and are the official providers of the ticketed attractions can set inventory_type to INVENTORY_TYPE_OFFICIAL. Products with this will be marked as an official ticket to the POI in the UI.
  • product/options/option_categories: Google uses this field to provide category filters on certain surfaces. While Google recommends to fill in all categories applicable to a product option, the following categories are important and likely play a large role in the user experience.

    • adults-only
    • audio-guide
    • city-cards
    • family-friendly
    • fast-track
    • self-guided