- HTTP request
- Path parameters
- Query parameters
- Request body
- Response body
- Authorization scopes
- ParticipationResult
- Key
- MissedParticipationCountDetails
- NoPriceCountDetails
- PriceMissingCountDetails
- PriceProblemCountDetails
- PriceUnavailableCountDetails
Provides the ability to query (get, filter, and segment) a participation report for a particular account.
HTTP request
GET https://travelpartner.googleapis.com/v3/{name=accounts/*}/participationReportViews:query
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters | |
---|---|
name |
The resource name of the account being queried. The format is |
Query parameters
Parameters | |
---|---|
filter |
The conditions (fields and expressions) used to filter the participation metrics for the account being queried. The syntax requires spaces surrounding the Important: The correct syntax to add multiple conditions is: The Examples of valid conditions are as follows:
|
aggregateBy |
Specifies how to segment the metrics returned by the query. For example, if The string value is a comma-separated list of fields. Valid fields are: Important: Using the |
pageSize |
The maximum number of participation results to return. The service may return fewer than this value. If unspecified, at most 10,000 results will be returned. The maximum value is 10,000; values above 10,000 will be coerced to 10,000. |
pageToken |
A page token, received from a previous participationReportViews.query request. Provide this to receive the subsequent page. When paginating, all other parameters provided to participationReportViews.query must match the call that provided the page token. |
Request body
The request body must be empty.
Response body
Response message for ParticipationReportService.QueryParticipationReport
.
If successful, the response body contains data with the following structure:
JSON representation |
---|
{
"results": [
{
object ( |
Fields | |
---|---|
results[] |
The list of results that matches the query. |
nextPageToken |
Pagination token used to retrieve the next page of results. |
Authorization scopes
Requires the following OAuth scope:
https://www.googleapis.com/auth/travelpartner
For more information, see the OAuth 2.0 Overview.
ParticipationResult
Represents a result from querying for participation stats for an account.
JSON representation |
---|
{ "key": { object ( |
Fields | |
---|---|
key |
Key of the result. |
opportunityCount |
For a specific hotel, the total number of opportunities that were available. Opportunities are the total number of instances when a hotel ad could have been displayed to a user. |
participationCount |
The total number of opportunities for which you were eligible to enter in the Google Ads auction process. |
participationPercent |
The percentage rate of participation where the number of successfully participated opportunities is divided by the total number of opportunities. For example, if a property was eligible to enter the Google Ads auction 90 times out of 100 opportunities, the participation rate is 90%. |
missedParticipationCount |
The total number of opportunities not eligible for the Google Ads auction process. Comprised of the following:
|
missedParticipationCountDetails |
The reasons that contributed to the missed participation count (for example, no availability) and a total count for each reason. |
partnerHotelDisplayName |
Partner's hotel display name. This field is only populated when the result is aggregated by |
Key
Key of a result.
JSON representation |
---|
{ "date": { object ( |
Fields | |
---|---|
date |
The date for which you are requesting metrics. If |
userRegionCode |
ISO 3116 region code of the country/region of the user. If |
deviceType |
The user’s device type. If |
partnerHotelId |
Partner's hotel ID. If |
hotelRegionCode |
CLDR region code of the country/region of the hotel. If |
advanceBookingWindow |
The number of days in advance the user wants to book the itinerary. If |
lengthOfStayDays |
The number of nights for the itinerary. If |
checkinDate |
The check-in date of the itinerary. If |
occupancy |
The total occupancy of the itinerary. If |
MissedParticipationCountDetails
Missed participation count broken down by reason.
JSON representation |
---|
{ "noAvailabilityCount": string, "hotelSuspendedCount": string, "noTaxBreakdownCount": string, "noLandingPageCount": string, "noPriceCount": string, "noPriceCountDetails": { object ( |
Fields | |
---|---|
noAvailabilityCount |
The total number of missed participation due to the hotel/itinerary combination being unavailable, or the traveler was ineligible for the rates. To participate in these auctions, you may need to provide more pricing information. |
hotelSuspendedCount |
The total number of missed participations due to one or more of your hotels being suspended due to price accuracy violations. |
noTaxBreakdownCount |
The total number of missed participation due to one or more of your hotels not specifying taxes and fees separately. |
noLandingPageCount |
No landing page matched the user. |
noPriceCount |
The total number of missed participations due to a price not being offered for the requested itinerary. |
noPriceCountDetails |
The reasons that contributed to the no price count (for example, live pricing not available) and the total count for each reason. |
otherReasonCount |
Hotel did not participate for an unknown reason. |
priceMissingCount |
The total number of missed participations due to either a price not being present in Google's cache or failing to successfully respond to live pricing. Comprised of the following:
|
priceMissingCountDetails |
The reasons that contributed to the price missing count. |
priceProblemCount |
The total number of missed participation due to an issue with the accuracy of the price provided for the itinerary. Comprised of the following:
|
priceProblemCountDetails |
The reasons that contributed to the price problem count. |
priceUnavailableCount |
The total number of missed participation due to price listed as unavailable (-1) for the requested itinerary. Comprised of the following:
|
priceUnavailableCountDetails |
The reasons that contributed to the price unavailable count. |
NoPriceCountDetails
The reasons that contributed to the no price count and the total count for each reason.
JSON representation |
---|
{ "livePricingTechnicalIssueCount": string, "livePricingNotTriggeredCount": string, "livePricingConfigIssueCount": string, "livePricingNotAvailableCount": string, "livePricingOtherReasonCount": string } |
Fields | |
---|---|
livePricingTechnicalIssueCount |
The total number of missed participation due to technical issues with live pricing for any of the following reasons:
|
livePricingNotTriggeredCount |
The total number of missed participation due to live pricing not being triggered for any of the following reasons:
|
livePricingConfigIssueCount |
The total number of missed participation due to live pricing not being triggered for any of the following reasons:
|
livePricingNotAvailableCount |
The total number of missed participation due to live pricing being unavailable. Live pricing will not be triggered for certain default itineraries or UIs. In this scenario, partners will need a cached price to participate. |
livePricingOtherReasonCount |
The number of missed participations due to other issues with live pricing. |
PriceMissingCountDetails
The reasons that contributed to the price missing count and the total count for each reason.
JSON representation |
---|
{ "cacheRateMissingCount": string, "itineraryBlockedCount": string, "livePricingNotSetupCount": string, "bandwidthDepletedCount": string, "livePricingTimeoutCount": string, "livePricingErrorCount": string } |
Fields | |
---|---|
cacheRateMissingCount |
No price exists in the cache for this itinerary. A live query was not done due to page constraints. |
itineraryBlockedCount |
The itinerary was outside of your basic parameters, so no price was pulled for the itinerary from either live query or cache fill. |
livePricingNotSetupCount |
No price was cached for this itinerary, and live query was not configured for this account. |
bandwidthDepletedCount |
No price was cached for this itinerary, and there was no live query quota remaining. |
livePricingTimeoutCount |
No price was cached for this itinerary, and a live query sent to your system timed out. |
livePricingErrorCount |
No price was cached for this itinerary. A live query did not time out, but your system returned an error. |
PriceProblemCountDetails
The reasons that contributed to the price problem count and the total count for each reason.
JSON representation |
---|
{ "hotelSuspendedCount": string, "priceUnusuallyHighCount": string, "priceUnusuallyLowCount": string, "taxesAndFeesMissingCount": string } |
Fields | |
---|---|
hotelSuspendedCount |
The hotel was suspended. This may be due to persistent problems in areas such as incorrect taxes and fees. |
priceUnusuallyHighCount |
The price given for this itinerary seemed oddly high compared to regional trends. |
priceUnusuallyLowCount |
The price given for this itinerary seemed oddly low compared to regional trends. |
taxesAndFeesMissingCount |
Taxes and fees were missing from pricing. |