Method: accounts.participationReportViews.query

permite consultar (receber, filtrar e segmentar) um relatório de participação de uma conta específica.

Solicitação HTTP

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

O URL usa a sintaxe de transcodificação gRPC.

Parâmetros de caminho

Parâmetros
name

string

O nome do recurso da conta que está sendo consultada. O formato é accounts/{account_id}.

Parâmetros de consulta

Parâmetros
filter

string

São as condições (campos e expressões) usadas para filtrar as métricas de participação da conta que está sendo consultada. A sintaxe requer espaços ao redor do operador in. Caso contrário, é possível omitir espaços. As condições podem ser mescladas usando o operador and.

O campo date é obrigatório. Todos os outros campos são opcionais.

Veja abaixo exemplos de condições válidas:

  • 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

Especifica como segmentar as métricas retornadas pela consulta. Por exemplo, se userRegionCode for especificado como o valor aggregateBy, o participationResult vai fornecer métricas agregadas por região do usuário.

O valor da string é uma lista de campos separada por vírgulas. Os campos válidos são: date, userRegionCode, deviceType, partnerHotelId, hotelRegionCode, advanceBookingWindow, lengthOfStayDays, checkinDate e occupancy. Os campos não especificados não são incluídos no ParticipationResult.

Usar uma especificação aggregateBy que produz um grande número de linhas causará um erro. Isso é especialmente verdadeiro ao agregar por partnerHotelId ou mais de dois campos. Para reduzir a possibilidade de um erro, filtre por partnerHotelId e date para incluir apenas um número específico de hotéis e datas. Contas com muitos hotéis precisarão reduzir ainda mais os dados com mais filtragem.

pageSize

integer

O número máximo de resultados de participação a serem retornados. O serviço pode retornar menos que esse valor. Se não for especificado, serão retornados no máximo 10.000 resultados. O valor máximo é 10.000. Valores maiores serão convertidos para 10.000.

pageToken

string

Um token de página, recebido de uma solicitação requestReportViews.query anterior. Forneça isso para receber a página subsequente.

Ao paginar, todos os outros parâmetros fornecidos para participantesReportReports.query precisam corresponder à chamada que forneceu o token da página.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Mensagem de resposta para ParticipationReportService.QueryParticipationReport.

Representação JSON
{
  "results": [
    {
      object (ParticipationResult)
    }
  ],
  "nextPageToken": string
}
Campos
results[]

object (ParticipationResult)

A lista de resultados que correspondem à consulta.

nextPageToken

string

Token de paginação usado para recuperar a próxima página de resultados.

Escopos da autorização

Requer o seguinte escopo OAuth:

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

Para mais informações, consulte a Visão geral do OAuth 2.0.

Resultado de participação

Representa um resultado da consulta de estatísticas de participação de uma conta.

Representação JSON
{
  "key": {
    object (Key)
  },
  "opportunityCount": string,
  "participationCount": string,
  "participationPercent": number,
  "missedParticipationCount": string,
  "missedParticipationCountDetails": {
    object (MissedParticipationCountDetails)
  },
  "partnerHotelDisplayName": string
}
Campos
key

object (Key)

Chave do resultado.

opportunityCount

string (int64 format)

O número total de oportunidades disponíveis para um hotel específico. "Oportunidades" é o número total de vezes que um anúncio de hotel pode ser exibido a um usuário.

participationCount

string (int64 format)

O número total de oportunidades em que você teve qualificação para entrar no processo de leilão do Google Ads.

participationPercent

number

A taxa de participação percentual em que o número de oportunidades de participação é dividido pelo número total de oportunidades. Por exemplo, se uma propriedade estiver qualificada para participar do leilão do Google Ads 90 vezes de 100 oportunidades, a taxa de participação será de 90%.

missedParticipationCount

string (int64 format)

O número total de oportunidades não qualificadas para o processo de leilão do Google Ads. Ter o seguinte:

  • Página de destino ausente
  • Preço ausente
  • Problema no preço
  • Preço indisponível
  • Outro
missedParticipationCountDetails

object (MissedParticipationCountDetails)

Os motivos que contribuíram para a contagem de participação perdida (por exemplo, sem disponibilidade) e a contagem total para cada motivo.

partnerHotelDisplayName

string

Nome de exibição do hotel do parceiro. Este campo só é preenchido quando o resultado é agregado por partnerHotelId.

Chave

Chave de um resultado.

Representação JSON
{
  "date": {
    object (Date)
  },
  "userRegionCode": string,
  "deviceType": enum (Device),
  "partnerHotelId": string,
  "hotelRegionCode": string,
  "advanceBookingWindow": integer,
  "lengthOfStayDays": integer,
  "checkinDate": {
    object (Date)
  },
  "occupancy": integer
}
Campos
date

object (Date)

A data para a qual você está solicitando métricas.

Se date não for um valor do parâmetro aggregateBy na chamada da solicitação, o campo date não será retornado no Key.

userRegionCode

string

Código regional ISO 3116 do país/região do usuário.

Se userRegionCode não for um valor do parâmetro aggregateBy na chamada da solicitação, o campo userRegionCode não será retornado no Key.

deviceType

enum (Device)

O tipo de dispositivo do usuário.

Se deviceType não for um valor do parâmetro aggregateBy na chamada da solicitação, o campo deviceType não será retornado no Key.

partnerHotelId

string

ID do hotel do parceiro.

Se partnerHotelId não for um valor do parâmetro aggregateBy na chamada da solicitação, o campo partnerHotelId não será retornado no Key.

hotelRegionCode

string

Código regional do CLDR do país/região do hotel.

Se hotelRegionCode não for um valor do parâmetro aggregateBy na chamada da solicitação, o campo hotelRegionCode não será retornado no Key.

advanceBookingWindow

integer

O número de dias de antecedência com que o usuário quer reservar o itinerário.

Se advanceBookingWindow não for um valor do parâmetro aggregateBy na chamada da solicitação, o campo advanceBookingWindow não será retornado no Key.

lengthOfStayDays

integer

O número de noites do itinerário.

Se lengthOfStayDays não for um valor do parâmetro aggregateBy na chamada da solicitação, o campo lengthOfStayDays não será retornado no Key.

checkinDate

object (Date)

A data do check-in do itinerário.

Se checkinDate não for um valor do parâmetro aggregateBy na chamada da solicitação, o campo checkinDate não será retornado no Key.

occupancy

integer

Ocupação total do itinerário.

Se occupancy não for um valor do parâmetro aggregateBy na chamada da solicitação, o campo occupancy não será retornado no Key.

DetailsParticipationCountDetails

Contagem de participações perdidas dividida por motivo.

Representação 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)
  }
}
Campos
noAvailabilityCount
(deprecated)

string (int64 format)

O número total de participantes perdidos devido à indisponibilidade do hotel/itinerário ou porque o viajante não estava qualificado para as tarifas. Para participar dos leilões, forneça mais informações sobre os preços.

hotelSuspendedCount
(deprecated)

string (int64 format)

O número total de participações perdidas devido a uma ou mais hotéis que estão sendo suspensos devido a violações do nível de precisão do preço.

noTaxBreakdownCount
(deprecated)

string (int64 format)

O número total de participantes perdidos devido a um ou mais hotéis que não especificam tributos e taxas separadamente.

noLandingPageCount

string (int64 format)

Nenhuma página de destino correspondeu ao usuário.

noPriceCount
(deprecated)

string (int64 format)

O número total de participações perdidas devido a um preço não oferecido para o itinerário solicitado.

noPriceCountDetails
(deprecated)

object (NoPriceCountDetails)

Os motivos que contribuíram para a contagem de sem preço (por exemplo, preço em tempo real não disponível) e a contagem total para cada motivo.

otherReasonCount

string (int64 format)

O hotel não participou por um motivo desconhecido.

priceMissingCount

string (int64 format)

O número total de participações perdidas devido a um preço que não está presente no cache do Google ou à falta de resposta ao preço ativo. Ter o seguinte:

  • Largura de banda esgotada
  • Taxa de cache ausente
  • Itinerário bloqueado
  • Preço ativo não configurado
  • Tempo limite do preço ativo
  • Erro no preço em tempo real
priceMissingCountDetails

object (PriceMissingCountDetails)

Os motivos que contribuíram para a ausência do preço.

priceProblemCount

string (int64 format)

O número total de participantes perdidos devido a um problema na precisão do preço fornecido para o itinerário. Ter o seguinte:

  • Hotel suspenso
  • Preço excepcionalmente alto
  • Preço excepcionalmente baixo
  • Tributos e feeds ausentes
priceProblemCountDetails

object (PriceProblemCountDetails)

Os motivos que contribuíram para a contagem de problemas de preço.

priceUnavailableCount

string (int64 format)

O número total de participações perdidas devido ao preço listado como indisponível (-1) para o itinerário solicitado. Ter o seguinte:

  • Preço indisponível
  • Participação pouco provável
  • Outro
priceUnavailableCountDetails

object (PriceUnavailableCountDetails)

Os motivos que contribuíram para a contagem de preço indisponível.

NoPriceCountDetails

Os motivos que contribuíram para a contagem de nenhum preço e o total para cada motivo.

Representação JSON
{
  "livePricingTechnicalIssueCount": string,
  "livePricingNotTriggeredCount": string,
  "livePricingConfigIssueCount": string,
  "livePricingNotAvailableCount": string,
  "livePricingOtherReasonCount": string
}
Campos
livePricingTechnicalIssueCount

string (int64 format)

É o número total de participantes perdidos devido a problemas técnicos com o preço ativo por qualquer um dos motivos a seguir:

  • Você não respondeu rápido o suficiente e excedeu o prazo de resposta (cerca de 4.000 milissegundos).
  • Você retornou um erro.
  • Sua resposta estava incorreta.
livePricingNotTriggeredCount

string (int64 format)

O número total de participantes perdidos devido ao acionamento de preços em tempo real por qualquer um dos motivos a seguir:

  • Você não definiu um lance.
  • Você não tem uma página de destino válida.
  • Não há preços suficientes no cache.
livePricingConfigIssueCount

string (int64 format)

O número total de participantes perdidos devido ao acionamento de preços em tempo real por qualquer um dos motivos a seguir:

  • Os preços ativos não estão configurados para essas pesquisas.
  • Você restringiu o Google a acessar o itinerário do hotel em questão.
livePricingNotAvailableCount

string (int64 format)

O número total de participantes perdidos devido a preços em tempo real indisponíveis. O preço em tempo real não será acionado para alguns itinerários ou IUs padrão. Neste cenário, os parceiros precisarão de um preço em cache para participar.

livePricingOtherReasonCount

string (int64 format)

O número de participações perdidas devido a outros problemas de preços em tempo real.

PriceCountCountDetails

Os motivos que contribuíram para a contagem de preços ausentes e o total de cada motivo.

Representação JSON
{
  "cacheRateMissingCount": string,
  "itineraryBlockedCount": string,
  "livePricingNotSetupCount": string,
  "bandwidthDepletedCount": string,
  "livePricingTimeoutCount": string,
  "livePricingErrorCount": string
}
Campos
cacheRateMissingCount

string (int64 format)

Não há preço no cache para esse itinerário. Não foi possível fazer uma consulta ao vivo devido a restrições de página.

itineraryBlockedCount

string (int64 format)

O itinerário não faz parte dos seus parâmetros básicos. Por isso, ele não extrai nenhum preço da consulta ativa ou do preenchimento de cache.

livePricingNotSetupCount

string (int64 format)

Nenhum preço foi armazenado em cache para esse itinerário, e a consulta em tempo real não foi configurada para esta conta.

bandwidthDepletedCount

string (int64 format)

Nenhum preço foi armazenado em cache para esse itinerário e não restou uma cota de consulta ativa.

livePricingTimeoutCount

string (int64 format)

Nenhum preço foi armazenado em cache para esse itinerário, e uma consulta em tempo real foi enviada para seu sistema.

livePricingErrorCount

string (int64 format)

Nenhum preço foi armazenado em cache para esse itinerário. Uma consulta em tempo real não expirou, mas seu sistema retornou um erro.

Detalhes de problemas de preço

Os motivos que contribuíram para a contagem do problema de preço e a contagem total para cada motivo.

Representação JSON
{
  "hotelSuspendedCount": string,
  "priceUnusuallyHighCount": string,
  "priceUnusuallyLowCount": string,
  "taxesAndFeesMissingCount": string
}
Campos
hotelSuspendedCount

string (int64 format)

O hotel foi suspenso. Isso pode ser devido a problemas persistentes em áreas como tributos e taxas incorretos.

priceUnusuallyHighCount

string (int64 format)

O preço fornecido para esse itinerário parecia estranho em comparação com as tendências regionais.

priceUnusuallyLowCount

string (int64 format)

O preço fornecido para esse itinerário parecia estranho em comparação com as tendências regionais.

taxesAndFeesMissingCount

string (int64 format)

Faltavam tributos e taxas no preço.

DetalhesDePreçoIndisponível

Os motivos que contribuíram para a contagem de preço indisponível e o total de cada motivo.

Representação JSON
{
  "priceUnavailableCount": string,
  "participationNotLikelyCount": string
}
Campos
priceUnavailableCount

string (int64 format)

O hotel não participou porque não estava disponível para as datas do itinerário.

participationNotLikelyCount

string (int64 format)

Nenhum preço foi armazenado em cache para esse itinerário, e nenhuma consulta em tempo real foi feita porque seu servidor normalmente nos informa que o hotel está indisponível ou esgotado.