Method: accounts.participationReportViews.query

특정 계정에 대한 참여 보고서를 쿼리 (가져오기, 필터링, 분류)하는 기능을 제공합니다.

HTTP 요청

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

URL은 gRPC 트랜스코딩 구문을 사용합니다.

경로 매개변수

매개변수
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는 사용자 리전별로 집계된 측정항목을 제공합니다.

문자열 값은 쉼표로 구분된 필드 목록입니다. 유효한 필드는 date, userRegionCode, deviceType, partnerHotelId, hotelRegionCode, advanceBookingWindow, lengthOfStayDays, checkinDate, occupancy입니다. 지정되지 않은 필드는 ResulticipationResult에 포함되지 않습니다.

많은 수의 행을 생성하는 aggregateBy 사양을 사용하면 오류가 발생합니다. partnerHotelId나 3개 이상의 필드를 기준으로 집계하는 경우 특히 그렇습니다. 오류 가능성을 줄이려면 선택한 호텔 수와 날짜만 포함하도록 partnerHotelIddate으로 필터링합니다. 호텔 수가 많은 계정은 필터링을 사용해 데이터를 더욱 줄여야 합니다.

pageSize

integer

반환할 최대 참여 결과 수입니다. 서비스가 이 값보다 더 적게 반환할 수 있습니다. 지정하지 않으면 최대 10,000개의 결과가 반환됩니다. 최댓값은 10,000이며 10,000을 초과하는 값은 10,000으로 변환됩니다.

pageToken

string

이전 engagementReportViews.query 요청에서 받은 페이지 토큰입니다. 후속 페이지를 받으려면 이 값을 입력합니다.

페이지로 나누기를 수행할 때 engagementReportViews.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 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 매개변수의 값이 아니면 date 필드가 Key에 반환되지 않습니다.

userRegionCode

string

사용자 국가/지역의 ISO 3116 지역 코드입니다.

userRegionCode가 요청 호출에서 aggregateBy 매개변수의 값이 아니면 userRegionCode 필드가 Key에 반환되지 않습니다.

deviceType

enum (Device)

사용자의 기기 유형입니다.

deviceType가 요청 호출에서 aggregateBy 매개변수의 값이 아니면 deviceType 필드가 Key에 반환되지 않습니다.

partnerHotelId

string

파트너의 호텔 ID입니다.

partnerHotelId가 요청 호출에서 aggregateBy 매개변수의 값이 아니면 partnerHotelId 필드가 Key에 반환되지 않습니다.

hotelRegionCode

string

호텔의 국가/지역에 해당하는 CLDR 지역 코드입니다.

hotelRegionCode가 요청 호출에서 aggregateBy 매개변수의 값이 아니면 hotelRegionCode 필드가 Key에 반환되지 않습니다.

advanceBookingWindow

integer

사용자가 운항 일정을 예약하려는 기간(일수)입니다.

advanceBookingWindow가 요청 호출에서 aggregateBy 매개변수의 값이 아니면 advanceBookingWindow 필드가 Key에 반환되지 않습니다.

lengthOfStayDays

integer

운항 일정의 숙박 일수

lengthOfStayDays가 요청 호출에서 aggregateBy 매개변수의 값이 아니면 lengthOfStayDays 필드가 Key에 반환되지 않습니다.

checkinDate

object (Date)

운항 일정의 체크인 날짜입니다.

checkinDate가 요청 호출에서 aggregateBy 매개변수의 값이 아니면 checkinDate 필드가 Key에 반환되지 않습니다.

occupancy

integer

운항 일정의 총 점유입니다.

occupancy가 요청 호출에서 aggregateBy 매개변수의 값이 아니면 occupancy 필드가 Key에 반환되지 않습니다.

참석 인원 누락

놓친 참여 횟수가 이유별로 세분화됩니다.

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)

가격을 사용할 수 없는 이유가 계산됩니다.

가격 없음 세부정보

가격 없음에 기여한 이유 및 각 사유의 총 개수

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)

다른 실시간 가격 문제로 인해 놓친 참여 수입니다.

가격 누락 세부정보

가격 누락의 원인이 된 이유와 각 사유의 총횟수입니다.

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)

이 운항 일정의 가격이 캐시되지 않았습니다. 실시간 쿼리가 타임아웃되지 않았지만 시스템에서 오류를 반환했습니다.

가격 문제 개수 세부정보

가격 문제 원인과 각 이유의 총 개수가 계산됩니다.

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)

이 숙박 일정의 가격이 캐시되지 않았으며 서버에서 일반적으로 호텔을 사용할 수 없거나 매진이라고 알려주었기 때문에 실시간 쿼리가 이루어지지 않았습니다.