Method: accounts.participationReportViews.query

可查詢 (取得、篩選及區隔) 特定帳戶的參與度報表。

HTTP 要求

GET https://travelpartner.googleapis.com/v3/{name=accounts/*}/participationReportViews:query

這個網址使用 gRPC 轉碼語法。

路徑參數

參數
name

string

要查詢的帳戶資源名稱。格式為 accounts/{account_id}

查詢參數

參數
filter

string

用於篩選所查詢帳戶參與度指標的條件 (欄位和運算式)。語法需要在 in 運算子周圍加上空格。否則可以省略空格。您可以使用 AND 運算子連結條件。

重要事項:新增多個條件的正確語法為:"?filter=<condition>=<value>%20AND%20<condition>=<value>..."

date 欄位為必填欄位。其他欄位則為選填。

有效條件範例如下:

  • advanceBookingWindow = 2
  • advanceBookingWindow >= 0
  • advanceBookingWindow <= 5
  • checkinDate = '2020-10-01'
  • checkinDate >= '2020-10-01'
  • checkinDate <= '2020-10-01'
  • checkinDate between '2020-10-01' and '2020-10-05'
  • 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')
  • lengthOfStayDays = 2
  • lengthOfStayDays >= 0
  • lengthOfStayDays <= 5
  • occupancy = 2
  • occupancy >= 0
  • occupancy <= 5
  • occupancy between 1 and 5
  • partnerHotelId = 'AAA'
  • partnerHotelId in ('AAA', 'BBB')
  • userRegionCode = 'US'
  • userRegionCode in ('US', 'CA')
aggregateBy

string

指定如何區隔查詢傳回的指標。舉例來說,如果將 userRegionCode 指定為 aggregateBy 值,participationResult 就會提供依使用者地區匯總的指標。

字串值是以逗號分隔的欄位清單。有效欄位包括:dateuserRegionCodedeviceTypepartnerHotelIdhotelRegionCodeadvanceBookingWindowlengthOfStayDayscheckinDateoccupancy。未指定的欄位不會納入 ParticipationResult。

重要事項:使用 aggregateBy 參數時,如果提供 partnerHotelId 個以上的值,可能會導致錯誤。使用 partnerHotelIddate 篩選資料,減少資料列數量,即可避免發生錯誤。

pageSize

integer

要傳回的參與結果數上限。服務傳回的產品數量可能會少於這個值。如未指定,最多將傳回 10,000 個結果。許可的最大值為 10,000;超出的數值將一律指定為 10,000。

pageToken

string

這是從先前的 participationReportViews.query 要求收到的網頁權杖。提供此項目即可接收後續網頁。

進行分頁時,提供至 participationReportViews.query 的所有其他參數須與提供網頁權杖的呼叫相符。

要求主體

要求主體必須為空白。

回應主體

ParticipationReportService.QueryParticipationReport 的回應訊息。

如果成功,回應主體會含有以下結構的資料:

JSON 表示法
{
  "results": [
    {
      object (ParticipationResult)
    }
  ],
  "nextPageToken": string
}
欄位
results[]

object (ParticipationResult)

符合查詢的結果清單。

nextPageToken

string

用來擷取下一頁結果的分頁符記。

授權範圍

需要下列 OAuth 範圍:

  • https://www.googleapis.com/auth/travelpartner

詳情請參閱OAuth 2.0 Overview

ParticipationResult

代表查詢帳戶參與統計資料的結果。

JSON 表示法
{
  "key": {
    object (Key)
  },
  "opportunityCount": string,
  "participationCount": string,
  "participationPercent": number,
  "missedParticipationCount": string,
  "missedParticipationCountDetails": {
    object (MissedParticipationCountDetails)
  },
  "partnerHotelDisplayName": string
}
欄位
key

object (Key)

結果的鍵。

opportunityCount

string (int64 format)

特定飯店可用的商機總數。商機代表系統能向使用者顯示飯店廣告的總次數。

participationCount

string (int64 format)

可參與 Google Ads 競價程序的商機總數。

participationPercent

number

將成功參與競價的機會次數,除以商機總數後算出的參與度百分比。舉例來說,假設某個房源在 100 次商機中,有 90 次能參與 Google Ads 競價,那麼參與率就是 90%。

missedParticipationCount

string (int64 format)

無法參與 Google Ads 競價程序的商機總數。其中包括:

  • 缺少到達網頁
  • 缺少價格資訊
  • 價格資訊有問題
  • 沒有可用的價格資訊
  • 其他
missedParticipationCountDetails

object (MissedParticipationCountDetails)

導致喪失參與機會的原因 (例如沒有空房),以及各原因的總數。

partnerHotelDisplayName

string

合作夥伴的飯店顯示名稱。只有在結果依 partnerHotelId 匯總時,才會填入這個欄位。

結果的鍵。

JSON 表示法
{
  "date": {
    object (Date)
  },
  "userRegionCode": string,
  "deviceType": enum (Device),
  "partnerHotelId": string,
  "hotelRegionCode": string,
  "advanceBookingWindow": integer,
  "lengthOfStayDays": integer,
  "checkinDate": {
    object (Date)
  },
  "occupancy": integer
}
欄位
date

object (Date)

您要求指標的日期。

如果 date 不是要求呼叫中 aggregateBy 參數的值,則 Key 中不會傳回 date 欄位。

userRegionCode

string

使用者的國家/地區 ISO 3116 區域代碼。

如果 userRegionCode 不是要求呼叫中 aggregateBy 參數的值,則 Key 中不會傳回 userRegionCode 欄位。

deviceType

enum (Device)

使用者的裝置類型。

如果 deviceType 不是要求呼叫中 aggregateBy 參數的值,則 Key 中不會傳回 deviceType 欄位。

partnerHotelId

string

合作夥伴的飯店 ID。

如果 partnerHotelId 不是要求呼叫中 aggregateBy 參數的值,則 Key 中不會傳回 partnerHotelId 欄位。

hotelRegionCode

string

飯店所在國家/地區的 CLDR 地區代碼。

如果 hotelRegionCode 不是要求呼叫中 aggregateBy 參數的值,則 Key 中不會傳回 hotelRegionCode 欄位。

advanceBookingWindow

integer

使用者想要提前預訂行程的天數。

如果 advanceBookingWindow 不是要求呼叫中 aggregateBy 參數的值,則 Key 中不會傳回 advanceBookingWindow 欄位。

lengthOfStayDays

integer

行程晚數。

如果 lengthOfStayDays 不是要求呼叫中 aggregateBy 參數的值,則 Key 中不會傳回 lengthOfStayDays 欄位。

checkinDate

object (Date)

行程的入住日期。

如果 checkinDate 不是要求呼叫中 aggregateBy 參數的值,則 Key 中不會傳回 checkinDate 欄位。

occupancy

integer

行程的總入住人數。

如果 occupancy 不是要求呼叫中 aggregateBy 參數的值,則 Key 中不會傳回 occupancy 欄位。

MissedParticipationCountDetails

按原因細分的喪失參與機會次數。

JSON 表示法
{
  "noAvailabilityCount": string,
  "hotelSuspendedCount": string,
  "noTaxBreakdownCount": string,
  "noLandingPageCount": string,
  "noPriceCount": string,
  "noPriceCountDetails": {
    object (NoPriceCountDetails)
  },
  "otherReasonCount": string,
  "priceMissingCount": string,
  "priceMissingCountDetails": {
    object (PriceMissingCountDetails)
  },
  "priceProblemCount": string,
  "priceProblemCountDetails": {
    object (PriceProblemCountDetails)
  },
  "priceUnavailableCount": string,
  "priceUnavailableCountDetails": {
    object (PriceUnavailableCountDetails)
  }
}
欄位
noAvailabilityCount
(deprecated)

string (int64 format)

因無法預訂飯店/行程組合,或旅客不符合費率資格而喪失的參與機會總數。如要參與這些競價,你可能需要提供更多價格資訊。

hotelSuspendedCount
(deprecated)

string (int64 format)

因一或多間飯店因價格準確度違規而遭停權,導致喪失的參與機會總數。

noTaxBreakdownCount
(deprecated)

string (int64 format)

因一或多間飯店未另外說明稅金和相關費用而喪失的參與機會總數。

noLandingPageCount

string (int64 format)

沒有與使用者相符的到達網頁。

noPriceCount
(deprecated)

string (int64 format)

因要求的行程未提供價格而喪失的參與機會總數。

noPriceCountDetails
(deprecated)

object (NoPriceCountDetails)

導致無價格的各項原因 (例如即時價格不適用),以及各項原因的總數。

otherReasonCount

string (int64 format)

飯店並未參與競價,原因不明。

priceMissingCount

string (int64 format)

因 Google 快取中沒有價格,或無法成功回應即時價格要求而喪失的參與機會總數。其中包括:

  • 頻寬用盡
  • 缺少快取率
  • 行程已封鎖
  • 未設定即時價格
  • 即時價格逾時
  • 即時價格錯誤
priceMissingCountDetails

object (PriceMissingCountDetails)

導致價格遺漏計數的原因。

priceProblemCount

string (int64 format)

因行程價格準確性相關問題而喪失的參與機會總數。其中包括:

  • 飯店已遭權
  • 價格異常高
  • 價格異常低
  • 缺少稅金和相關費用
priceProblemCountDetails

object (PriceProblemCountDetails)

導致價格問題數量的原因。

priceUnavailableCount

string (int64 format)

因要求的行程價格顯示為無法取得 (-1) 而喪失的參與機會總數。其中包括:

  • 沒有可用的價格資訊
  • 參與機會較小
  • 其他
priceUnavailableCountDetails

object (PriceUnavailableCountDetails)

導致價格無法提供次數的原因。

NoPriceCountDetails

導致沒有價格的原因,以及各原因的總計次數。

JSON 表示法
{
  "livePricingTechnicalIssueCount": string,
  "livePricingNotTriggeredCount": string,
  "livePricingConfigIssueCount": string,
  "livePricingNotAvailableCount": string,
  "livePricingOtherReasonCount": string
}
欄位
livePricingTechnicalIssueCount

string (int64 format)

由於下列任一原因,導致即時價格發生技術問題而喪失的參與機會總數:

  • 你的回應速度不夠快,且超過回應時間限制 (約 4000 毫秒)。
  • 你傳回錯誤訊息。
  • 回覆格式錯誤。
livePricingNotTriggeredCount

string (int64 format)

由於下列任一原因,導致即時定價未觸發而喪失的參與機會總數:

  • 你未設定出價。
  • 到達網頁無效。
  • 快取中的價格不足。
livePricingConfigIssueCount

string (int64 format)

由於下列任一原因,導致即時定價未觸發而喪失的參與機會總數:

  • 你尚未針對這些搜尋設定即時價格。
  • 你已限制 Google 存取有問題的飯店行程。
livePricingNotAvailableCount

string (int64 format)

因無法取得即時價格而喪失的參與機會總數。特定預設行程或使用者介面無法觸發即時價格。在這種情況下,合作夥伴必須具備快取價格才能參與競價。

livePricingOtherReasonCount

string (int64 format)

因即時價格的其他問題而喪失的參與機會數。

PriceMissingCountDetails

導致價格遺漏次數的原因,以及各原因的總次數。

JSON 表示法
{
  "cacheRateMissingCount": string,
  "itineraryBlockedCount": string,
  "livePricingNotSetupCount": string,
  "bandwidthDepletedCount": string,
  "livePricingTimeoutCount": string,
  "livePricingErrorCount": string
}
欄位
cacheRateMissingCount

string (int64 format)

該行程的快取中沒有價格。由於頁面限制,系統無法執行即時查詢。

itineraryBlockedCount

string (int64 format)

該行程不在基本參數範圍內,因此系統並未針對該行程,透過即時查詢或快取填補擷取價格。

livePricingNotSetupCount

string (int64 format)

該行程的價格未快取,且這個帳戶未設定即時查詢。

bandwidthDepletedCount

string (int64 format)

該行程的價格未快取,也沒有任何剩餘的即時查詢配額。

livePricingTimeoutCount

string (int64 format)

該行程的價格未快取,且傳送至系統的即時查詢逾時。

livePricingErrorCount

string (int64 format)

該行程的價格未快取。即時查詢並未逾時,但系統傳回錯誤。

PriceProblemCountDetails

造成價格問題的各項原因,以及每項原因的總數。

JSON 表示法
{
  "hotelSuspendedCount": string,
  "priceUnusuallyHighCount": string,
  "priceUnusuallyLowCount": string,
  "taxesAndFeesMissingCount": string,
  "basePriceViolationsCount": string,
  "priceAccuracyIssueCount": string
}
欄位
hotelSuspendedCount

string (int64 format)

飯店已遭停權。這可能是因為飯店有持續性的問題,例如稅金和相關費用有誤。

priceUnusuallyHighCount

string (int64 format)

相較於區域趨勢,這個行程的價格似乎特別高。

priceUnusuallyLowCount

string (int64 format)

相較於區域趨勢,這個行程的價格似乎特別低。

taxesAndFeesMissingCount

string (int64 format)

價格缺少稅金和相關費用。

basePriceViolationsCount

string (int64 format)

底價相較於總價過低。

priceAccuracyIssueCount

string (int64 format)

價格準確度問題。

PriceUnavailableCountDetails

導致價格無法使用次數的原因,以及每個原因的總次數。

JSON 表示法
{
  "priceUnavailableCount": string,
  "participationNotLikelyCount": string
}
欄位
priceUnavailableCount

string (int64 format)

飯店未提供行程日期的價格資訊,因此未能參與競價。

participationNotLikelyCount

string (int64 format)

該行程的價格未快取,且由於你的伺服器常常傳回飯店無法預訂或無空房,因此無法執行即時查詢。