Method: accounts.participationReportViews.query

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

string

The resource name of the account being queried. The format is accounts/{account_id}.

Query parameters

Parameters
filter

string

The conditions (fields and expressions) used to filter the participation metrics for the account being queried. The syntax requires spaces surrounding the in operator. Otherwise, spaces can be omitted. Conditions can be joined using the and operator.

The date field is required. All other fields are optional.

Examples of valid conditions are as follows:

  • date = '2020-02-04'
  • date between '2020-02-04' and '2020-02-09'
  • deviceType = 'TABLET'
  • deviceType in ('MOBILE', 'TABLET')
  • hotelRegionCode = 'US'
  • hotelRegionCode in ('US', 'CA')
  • partnerHotelId = 'AAA'
  • partnerHotelId in ('AAA', 'BBB')
  • userRegionCode = 'US'
  • userRegionCode in ('US', 'CA')
aggregateBy

string

Specifies how to segment the metrics returned by the query. For example, if userRegionCode is specified as the aggregateBy value, the participationResult will provide metrics aggregated by user region.

The string value is a comma-separated list of fields. Valid fields are: date, userRegionCode, deviceType, partnerHotelId, and hotelRegionCode. Fields that are not specified are not included in the ParticipationResult.

pageSize

integer

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

string

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

If successful, the response body contains data with the following structure:

Response message for ParticipationReportService.QueryParticipationReport.

JSON representation
{
  "results": [
    {
      object (ParticipationResult)
    }
  ],
  "nextPageToken": string
}
Fields
results[]

object (ParticipationResult)

The list of results that matches the query.

nextPageToken

string

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 (Key)
  },
  "opportunityCount": string,
  "participationCount": string,
  "participationPercent": number,
  "missedParticipationCount": string,
  "missedParticipationCountDetails": {
    object (MissedParticipationCountDetails)
  },
  "partnerHotelDisplayName": string
}
Fields
key

object (Key)

Key of the result.

opportunityCount

string (int64 format)

The total number of opportunities that were available. Opportunities are instances when a hotel ad could have been displayed to a user.

participationCount

string (int64 format)

The total number of opportunities for which you were eligible to enter in the Google Ads auction process.

participationPercent

number

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

string (int64 format)

The total number of opportunities not eligible for the Google Ads auction process.

missedParticipationCountDetails

object (MissedParticipationCountDetails)

The reasons that contributed to the missed participation count (for example, no availability) and a total count for each reason.

partnerHotelDisplayName

string

Partner's hotel display name. This field is only populated when the result is aggregated by partnerHotelId.

Key

Key of a result.

JSON representation
{
  "date": {
    object (Date)
  },
  "userRegionCode": string,
  "deviceType": enum (Device),
  "partnerHotelId": string,
  "hotelRegionCode": string
}
Fields
date

object (Date)

The date for which you are requesting metrics.

If date is not a value of the aggregateBy parameter in the request call, then the date field is not returned in the Key.

userRegionCode

string

ISO 3116 region code of the country/region of the user.

If hotelRegionCode is not a value of the aggregateBy parameter in the request call, then the hotelRegionCode field is not returned in the Key.

deviceType

enum (Device)

The user’s device type.

If deviceType is not a value of the aggregateBy parameter in the request call, then the deviceType field is not returned in the Key.

partnerHotelId

string

Partner's hotel ID.

If partnerHotelId is not a value of the aggregateBy parameter in the request call, then the partnerHotelId field is not returned in the Key.

hotelRegionCode

string

CLDR region code of the country/region of the hotel.

If hotelRegionCode is not a value of the aggregateBy parameter in the request call, then the hotelRegionCode field is not returned in the Key.

Device

Enumerates supported devices.

Enums
DEVICE_UNSPECIFIED Not specified.
DEVICE_UNKNOWN The value is unknown in this version.
DESKTOP Computers.
MOBILE Mobile devices with full browsers.
TABLET Tablets with full browsers.

MissedParticipationCountDetails

Missed participation count broken down by reason.

JSON representation
{
  "noAvailabilityCount": string,
  "hotelSuspendedCount": string,
  "noTaxBreakdownCount": string,
  "noLandingPageCount": string,
  "noPriceCount": string,
  "noPriceCountDetails": {
    object (NoPriceCountDetails)
  },
  "otherReasonCount": string
}
Fields
noAvailabilityCount

string (int64 format)

The total number of missed participations due to the hotel/itinerary combination being unavailable or the traveler being ineligible for the rates. To participate in these auctions, you may need to provide more pricing information.

hotelSuspendedCount

string (int64 format)

The total number of missed participations due to one or more of your hotels being suspended due to price accuracy violations.

noTaxBreakdownCount

string (int64 format)

The total number of missed participations due to one or more of your hotels not specifying taxes and fees separately.

noLandingPageCount

string (int64 format)

The total number of missed participation due to not having a landing page that matches the end-user.

noPriceCount

string (int64 format)

The total number of missed participations due to a price not being offered for the requested itinerary.

noPriceCountDetails

object (NoPriceCountDetails)

The reasons that contributed to the no price count (for example, live pricing not available) and the total count for each reason.

otherReasonCount

string (int64 format)

The number of missed participations due to other issues.

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

string (int64 format)

The total number of missed participations caused by technical issues with live pricing. Either you didn't respond quickly enough to the query, you returned an error, or your response was malformed.

livePricingNotTriggeredCount

string (int64 format)

The total number of missed participations due to live pricing not being triggered for one or more of the following reasons:

  • You did not set a bid.
  • You did not have a valid landing page.
  • There were not enough prices in the cache.
livePricingConfigIssueCount

string (int64 format)

The total number of missed participations due to live pricing not being triggered for any of the following reasons:

  • You did not have live pricing configured for these searches.
  • You restricted Google from accessing the hotel itinerary in question.
  • Your configured bandwidth had been exceeded.
livePricingNotAvailableCount

string (int64 format)

The total number of missed participations due to live pricing being unavailable.

livePricingOtherReasonCount

string (int64 format)

The number of missed participations due to other issues with live pricing.