Attractions products are eligible to serve on the Attractions booking module as well as within experience modules in cases where the attraction has free entry. Optimizing attraction products in your feed increases the chances of attraction products being shown and reduces the chances of the product being disabled due to quality related issues.
Provide prices in multiple currencies when possible
If the product on the landing page can be transacted in different currencies, you can improve the accuracy of prices shown on Google by providing multiple currencies for that product in the Feed. Accurate prices helps to:
- Build user trust
- Improves conversion rates after the user lands on the page
- Reduces the chance of products being disabled due to large price discrepancies between the landing page and what Google is serving.
You can implement multiple currency support with the following steps:
- Find the list of currency and their prices supported for your product
- Determine a currency as the default currency in cases when user chooses a currency which isn't supported (we strongly recommend using the local currency of the product as most users are in country)
- In the product feed, for each
product/option
, create the price_option list in JSON such that:- Each
price_option
entry contains a price for a different currency - Each
price_option
hasgeo_criteria
set with the country the currency is associated with (e.g. AUD with AU, CHF with CH, EUR with all Euro countries). - The last
price_option
should be the default currency with nogeo_criteria
set.
- Each
Example JSON:
"price_options": [
{
"id": "adult-usd",
"title": "ADULT",
"price": { "currencyCode": "USD", "units": "75" },
"geo-criteria": [{ "country_code": "US", "is_negative": "false"}]. //geo-criteria must be used to show users from which country will see this price.
},
{
"id": "adult-cny",
"title": "ADULT",
"price": { "currencyCode": "CNY", "units": "300" },
"geo-criteria": [{"country_code": "CN", "is_negative": "false"}]
},
{
"id": "adult-eur", // Except for the last price_option, all other price options should have geocriteria set to limit which countries this currency should be used. This is an example of EU countries
"title": "ADULT",
"price": { "currencyCode": "EUR", "units": "70" },
"geo-criteria": [{"country_code": "AT"}, {"country_code": "BE"}, {"country_code": "CY"}, {"country_code": "EE"}, {"country_code": "FI"}, {"country_code": "FR"}, {"country_code": "DE"}, {"country_code": "GR"}, {"country_code": "IE"}, {"country_code": "IT"}, {"country_code": "LV"}, {"country_code": "LT"}, {"country_code": "LU"},{"country_code": "MT"}, {"country_code": "NL"},{"country_code": "PT"}, {"country_code": "SK"}, {"country_code": "SI"}, {"country_code": "ES"}]
},
{
"id": "adult-default",
"title": "ADULT-USD",
"price": { "currencyCode": "USD", "units": "75" } // Last price_option should default, we recommend using currency from location of product.
}
]
Provide accurate location information for attractions
For products (or options) to be considered related to an attraction:
- the location of the attraction must be provided using the
related_location
field - the
relation_type
of the location must be set asRELATION_TYPE_ADMISSION_TICKET
Multiple related location entries can be provided for pass type products that provide entry to multiple locations.
Example of the JSON representing a attraction related_location:
"related_locations": [
{
"location": {
"location": {
"place_id": "ChIJ3S-JXmauEmsRUcIaWtf4MzE"
}
},
"relation_type": "RELATION_TYPE_ADMISSION_TICKET"
}
]
Additional details on how locations and points of interest work in Things to do can be found in the Location and point of interest section.
Make sure the attractions product or option is marked as self-guided
The Attractions booking module is designed to provide prices for products that provide self-guided entry (i.e. no tours) to ticketed locations. To ensure Google knows a product option is self-guided, add self-guided to option-categories field of eligible products.
Following is an example of how product category should be set in JSON:
"option_categories": [
{
"label": "self-guided"
},
{
"label": "family-friendly"
}
],
For the full list of product categories see the Product categories section.
Add fields which provides additional UX treatment
Optional informational fields such as fulfillment_type
, confirmation_type
gets additional UI treatment on certain surfaces. Seeing these additional
information builds user trust, generates additional interest and improves the
overall user experience. It is recommended to include ratings if the data is
available.
The following fields are particularly important for Attractions booking module:
- fulfillment_type
- confirmation_type
- rating (if participating in TTD Ads)
- related_media (if participating in TTD Ads)
Ads only: Provide multiple images when possible
While attractions products don't require images to serve, Things to do Ads participation require at least one image. As a general principle Google recommends multiple images to be provided.
For more information on how to improve your images, see Image and photography guidelines.
Restechs only: Ensure brand_name field is set
If you need to send products sold under different brands, make sure
the product/brand_name
field is set correctly. Things to do make use of
this field when the name of the seller is shown to users.
Restechs only: Make sure product is marked as official when appropriate
If you represent the attraction or tour operator, make sure the
inventory_types
field is correctly set. For attractions products that deeplink
into the official attraction website, INVENTORY_TYPE_OFFICIAL
should be
provided. This ensures that the product gets special UX treatment and
is shown in the top three positions.
For products that deeplink directly into the landing page of the actual operator
of the tour, make sure INVENTORY_TYPE_OPERATOR_DIRECT
is provided in
order to receive special official products UX treatment.
Optimization checklist
The following checklist summarizes the best practices for Attractions products
- General optimizations:
- Attractions optimizations: