Method: accounts.participationReportViews.query

特定のアカウントの参加レポートに対して、クエリ(取得、フィルタ、セグメント化)を行うことができます。

HTTP リクエスト

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

この URL は gRPC Transcoding 構文を使用します。

パスパラメータ

パラメータ
name

string

クエリ対象のアカウントのリソース名。形式は accounts/{account_id} です。

クエリ パラメータ

パラメータ
filter

string

クエリ対象のアカウントの参加指標のフィルタに使用する条件(フィールドと式)。この構文では、in 演算子を囲むスペースが必要です。それ以外の場合は、スペースを省略できます。条件は and 演算子で結合できます。

date フィールドは必須です。その他のフィールドはすべて省略可能です。

有効な条件の例を以下に示します。

  • advanceBookingWindow = 2
  • advanceBookingWindow >= 0
  • advanceBookingWindow <= 5
  • advanceBookingWindow between 1 and 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
  • lengthOfStayDays between 1 and 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

クエリによって返される指標を分割する方法を指定します。たとえば、userRegionCodeaggregateBy 値として指定されている場合、participationResult ではユーザー リージョンごとに集計された指標が提供されます。

文字列値はフィールドのカンマ区切りのリストです。有効なフィールドは、dateuserRegionCodedeviceTypepartnerHotelIdhotelRegionCodeadvanceBookingWindowlengthOfStayDayscheckinDateoccupancy です。指定されていないフィールドは、ParticipationResult には含まれません。

多数の行を生成する aggregateBy 仕様を使用すると、エラーが発生します。これは、partnerHotelId または 3 つ以上のフィールドで集計する場合に特に当てはまります。エラーの可能性を減らすには、partnerHotelIddate でフィルタし、選択したホテルと日付の数のみを含めます。多数のホテルを含むアカウントでは、フィルタを使ってデータをさらに減らす必要があります。

pageSize

integer

返される参加結果の最大数。サービスはこの値より少ない値を返すことがあります。指定しない場合は、最大 10,000 件の結果が返されます。最大値は 10,000 です。10,000 を超える値は 10,000 に強制変換されます。

pageToken

string

前回の使用量レポートビュー リクエストから受け取ったページトークン。次のページを取得するためにこれを指定してください。

ページ分けする際は、participantReportViews.query に与えられた他のすべてのパラメータは、ページトークンを提供した呼び出しと一致する必要があります。

リクエスト本文

リクエストの本文は空にする必要があります。

レスポンスの本文

成功すると、レスポンスの本文に次の構造のデータが含まれます。

ParticipationReportService.QueryParticipationReport に対するレスポンス メッセージです。

JSON 表現
{
  "results": [
    {
      object (ParticipationResult)
    }
  ],
  "nextPageToken": string
}
フィールド
results[]

object (ParticipationResult)

クエリに一致する結果のリスト。

nextPageToken

string

結果の次のページを取得するために使用されるページ設定トークン。

認証スコープ

次の OAuth スコープが必要です。

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

詳しくは、OAuth 2.0 の概要をご覧ください。

参加結果

アカウントの参加統計のクエリの結果を表します。

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 広告オークションに参加できた機会の総数。

participationPercent

number

参加できた機会の回数を機会の総数で割った、参加割合のパーセンテージ。たとえば、100 回の機会に対して宿泊施設が Google 広告オークションに 90 回参加できた場合、参加率は 90% になります。

missedParticipationCount

string (int64 format)

Google 広告オークションの対象とならなかった機会の総数。以下の項目で構成されます。

  • ランディング ページがありません
  • 料金が未入力です
  • 料金に関する問題があります
  • 料金情報がありません
  • その他
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)

指標をリクエストする日付。

リクエスト呼び出しの dateaggregateBy パラメータの値でない場合、date フィールドは Key で返されません。

userRegionCode

string

ユーザーの国/地域の ISO 3116 地域コード。

リクエスト呼び出しの userRegionCodeaggregateBy パラメータの値でない場合、userRegionCode フィールドは Key で返されません。

deviceType

enum (Device)

ユーザーのデバイスの種類。

リクエスト呼び出しの deviceTypeaggregateBy パラメータの値でない場合、deviceType フィールドは Key で返されません。

partnerHotelId

string

パートナーのホテル ID。

リクエスト呼び出しの partnerHotelIdaggregateBy パラメータの値でない場合、partnerHotelId フィールドは Key で返されません。

hotelRegionCode

string

ホテルの国または地域の CLDR 地域コード。

リクエスト呼び出しの hotelRegionCodeaggregateBy パラメータの値でない場合、hotelRegionCode フィールドは Key で返されません。

advanceBookingWindow

integer

宿泊プランを予約しようとしている日数。

リクエスト呼び出しの advanceBookingWindowaggregateBy パラメータの値でない場合、advanceBookingWindow フィールドは Key で返されません。

lengthOfStayDays

integer

宿泊プランの宿泊日数。

リクエスト呼び出しの lengthOfStayDaysaggregateBy パラメータの値でない場合、lengthOfStayDays フィールドは Key で返されません。

checkinDate

object (Date)

旅行プランのチェックイン日。

リクエスト呼び出しの checkinDateaggregateBy パラメータの値でない場合、checkinDate フィールドは Key で返されません。

occupancy

integer

旅行プランの総定員。

リクエスト呼び出しの occupancyaggregateBy パラメータの値でない場合、occupancy フィールドは Key で返されません。

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)

料金精度違反により 1 つ以上のホテルが停止されたために入札不可になった合計回数。

noTaxBreakdownCount
(deprecated)

string (int64 format)

税金と諸費用を個別に指定していないホテルが 1 つ以上あったために入札不可になった合計回数。

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)

次のいずれかの理由によってライブ料金の技術的な問題が発生したために入札不可になった合計回数。

  • レスポンスが遅れ、レスポンス期限(約 4,000 ミリ秒)を超えた。
  • エラーが返された。
  • レスポンス形式に誤りがあった。
livePricingNotTriggeredCount

string (int64 format)

次のいずれかの理由でライブ料金がトリガーされなかったために入札不可になった合計回数:

  • 入札単価を設定しなかった。
  • 有効なランディング ページがありませんでした。
  • キャッシュに十分な料金がありませんでした。
livePricingConfigIssueCount

string (int64 format)

次のいずれかの理由でライブ料金がトリガーされなかったために入札不可になった合計回数:

  • これらの検索に対してライブ料金が構成されていませんでした。
  • 該当するホテル宿泊プランは Google によるアクセスが制限されています。
livePricingNotAvailableCount

string (int64 format)

ライブ料金が利用できなかったために入札不可になった合計回数。デフォルトの宿泊プランや UI によっては、ライブ料金が発生しないことがあります。このシナリオでは、パートナーが入札するには、キャッシュされた料金が必要になります。

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
}
フィールド
hotelSuspendedCount

string (int64 format)

ホテルの掲載が停止されました。その理由として、税金や諸費用が不正確であるなどの問題が続いている可能性が考えられます。

priceUnusuallyHighCount

string (int64 format)

この宿泊プランの料金が、地域のトレンドと比べて不自然に高くなっていました。

priceUnusuallyLowCount

string (int64 format)

この宿泊プランの料金が、地域のトレンドと比べて不自然に低くなっていました。

taxesAndFeesMissingCount

string (int64 format)

税金と諸費用が料金に入力されていませんでした。

PriceUnavailableCountDetails

料金が利用できなかった理由と、それぞれの理由の合計回数。

JSON 表現
{
  "priceUnavailableCount": string,
  "participationNotLikelyCount": string
}
フィールド
priceUnavailableCount

string (int64 format)

宿泊プランの日付の料金情報がなかったため、参加しませんでした。

participationNotLikelyCount

string (int64 format)

この宿泊プランの料金はキャッシュされませんでした。また、ホテルが利用不可である、もしくはホテルに空室がないという情報がサーバーからよく返されるため、ライブ クエリが実行されませんでした。