API de Relatórios de Anúncios de Preços de Hotel

Nota

Esta versão beta do Hotel Price Ads está disponível apenas para participantes selecionados. Para obter informações sobre como participar no programa de versão beta, contacte o seu gestor de conta ou inscreva-se aqui.

A API e a documentação estão sujeitas a alterações.

Os relatórios são um processo assíncrono. Segue-se o fluxo geral para pedir um relatório.

  • Criar um pedido com os parâmetros do relatório
  • Enviar um pedido para o serviço de relatórios
  • O serviço coloca o pedido em fila até conseguir processá-lo
  • Consultar periodicamente o serviço para obter o estado da tarefa de relatório
  • Quando o estado for Concluído, utilize o URL que o serviço fornece para transferir o relatório.

Para obter um exemplo que mostra como pedir e transferir um relatório, veja Exemplo de código de relatório.

Pedir um relatório

Para pedir um relatório, envie um pedido HTTP POST para o seguinte ponto final (para o ponto final do sandbox, veja Pontos finais):

https://partner.api.bingads.microsoft.com/Travel/v1/Customers({customerId})/Accounts({accountId})/ReportJobs

O corpo do pedido é um objeto ReportJob . Tem de especificar os seguintes campos no pedido:

  • StartDate — O início do período de relatórios
  • EndDate — O fim do período de relatórios
  • Colunas — As colunas a incluir no relatório
  • ReportType — O tipo de relatório ou entidade a transferir

Todos os outros campos são opcionais.

A granularidade mais baixa disponível é diária (a hora não é suportada). Se Columns incluir a coluna Data, o relatório contém linhas para cada dia na StartDate janela e EndDate , inclusivamente. Se não incluir Data, os dados do relatório mostram o resumo de desempenho total das datas de início e de fim especificadas.

O exemplo seguinte mostra um ReportJob pedido para um relatório de desempenho.

{
    "ReportType":"Performance", 
    "StartDate":"2017-11-06", 
    "EndDate":"2017-11-13", 
    "Columns":[  
        "HotelId", 
        "Clicks" 
    ] 
}

Por predefinição, o serviço gera relatórios em formato CSV descomprimido. Para comprimir o relatório e melhorar o desempenho da transferência, inclua o campo Compressão e defina-o como ZIP.

A resposta ao POST contém um ID de tarefa de relatório (veja AddResponse). Por exemplo:

{
    "value":"1080"
}

Consultar o estado de uma tarefa de relatório

Depois de obter o ID, utilize-o para obter o estado da tarefa de relatório. Para obter o estado, envie um pedido HTTP GET para:

https://partner.api.bingads.microsoft.com/Travel/v1/Customers({customerId})/Accounts({accountId})/ReportJobs('{jobId}')

A tarefa de relatório é válida durante um período indeterminado de tempo após a conclusão, mas normalmente durante, pelo menos, sete dias. Após sete dias, deverá submeter um novo pedido de relatório.

O corpo da resposta é um objeto ReportJob . Para determinar o estado da tarefa, aceda ao Status campo . Quando a tarefa for concluída, Status está definido como Concluído e o Url campo contém o URL que utiliza para transferir o relatório. O URL é válido durante sete dias. Se o URL expirar, tem de submeter um novo pedido de tarefa.

Quanto tempo demora a conclusão dos trabalhos de relatório é indeterminado e baseia-se em várias variáveis que estão constantemente a alterar esse número de tarefas na fila, a quantidade de dados e o tamanho do período de relatórios. Geralmente, deve consultar o estado da tarefa a cada cinco segundos até que o estado da tarefa seja Concluído ou Falhado.

A transferir o relatório

Quando o estado da tarefa do relatório for Concluído, o campo da Url tarefa contém o URL que utiliza para transferir o relatório. Para transferir o relatório, envie um pedido HTTP GET para o URL especificado.

Quando utilizar o URL de transferência para transferir o relatório, não especifique o cabeçalho Autorização tal como faz com os outros pedidos de relatório; utilize simplesmente o URL de transferência.

Para relatórios não comprimidos, o cabeçalho Content-Type da resposta GET contém texto/csv. Para relatórios comprimidos, o cabeçalho contém aplicação/zip.

Se tiver pedido ao serviço para comprimir os dados do relatório (veja o campo da tarefa do Compression relatório), o serviço coloca o ficheiro numa pasta e utiliza a compressão ZIP para comprimir o relatório. Lembre-se de descomprimir a pasta antes de aceder e ler o relatório. O nome do ficheiro de relatório é gerado automaticamente e tem o ID> de formulário, pedido de< desempenho.

Filtrar dados do relatório

Para filtrar os dados no relatório, utilize o campo do Filter objetoReportJob. Pode filtrar o relatório nas seguintes colunas de dimensão e em qualquer coluna de medida. Os nomes das colunas são sensíveis às maiúsculas e minúsculas.

  • SubaccountId
  • SubaccountName
  • HotelGroupId
  • HotelGroupName
  • HotelId
  • HotelName
  • HotelStatus
  • PartnerHotelId
  • DeviceType

A utilização de filtros é uma operação E. Por exemplo, se filtrar por HotelPartnerId igual a 123 e DeviceType igual a Mobile, o relatório contém dados apenas em que o ID de hotel do parceiro é 123 E o tipo de dispositivo é móvel.

Para filtrar os dados de um relatório, defina Filter como uma cadeia de $filter OData. O exemplo seguinte mostra como filtrar o relatório para anúncios apresentados em ambientes de trabalho e tablets. Os valores de enumeração que utiliza no filtro são sensíveis a maiúsculas e minúsculas. Por exemplo, utilize o Ambiente de Trabalho em vez do ambiente de trabalho.

{
    "ReportType":"Performance", 
    "StartDate":"2017-11-06", 
    "EndDate":"2017-11-13", 
    "Columns":[  
        "HotelId", 
        "Clicks" 
    ], 
    "Filter":"DeviceType eq Enum.DeviceType'Desktop' or DeviceType eq Enum.DeviceType'Tablet'", 
}

Além de utilizar o Filter campo, pode utilizar os SubaccountId campos e HotelGroupId para limitar o relatório a uma subconta específica ou grupo hoteleiro. A utilização destes campos para limitar o âmbito a uma única subconta ou grupo hoteleiro proporciona um melhor desempenho do que a utilização Filterde . Se utilizar SubaccountId e HotelGroupId, não especifique-os também no filtro.

Incluindo hotéis sem desempenho no relatório

Por predefinição, o relatório de desempenho contém apenas hotéis com impressões durante o período de relatórios. Para incluir hotéis que não tiveram impressões durante o período de relatório, defina o campo IncludeNonPerformingHotels no pedido de relatório como verdadeiro.

{
    "ReportType":"Performance", 
    "StartDate":"2017-11-06", 
    "EndDate":"2017-11-13", 
    "Columns":[  
        "HotelId",
        "PartnerHotelId",
        "Clicks",
        "Impressions"
    ],
    "IncludeNonPerformingHotels" : true
}

Se pedir hotéis sem desempenho no relatório, a columns propriedade não pode incluir as seguintes colunas de dimensão:

  • Data
  • DeviceType
  • HotelCountry
  • LengthOfStay
  • Tipode Slot
  • UserCountry

Se a columns propriedade incluir qualquer um dos campos acima, o pedido de tarefas de relatório falhará.

Como é que IncludeNonPerformingHotels afeta a criação de relatórios para hotéis que mudaram de grupo?

Por predefinição, o relatório inclui dados de desempenho do hotel, independentemente de segmentar o relatório por hotel, grupo hoteleiro ou subconta. Mover o hotel de um grupo para outro não afeta o comportamento predefinido do relatório. Por exemplo, se o relatório incluir a coluna hoteleira, o relatório inclui todos os dados de desempenho do hotel durante o período de tempo especificado.

Date        Hotel ID   Clicks
1-1-2018    5678       12

Se incluir a coluna hoteleira e a coluna do grupo hoteleiro, o relatório inclui dados de desempenho do hotel que ocorreram para cada grupo hoteleiro durante o período de tempo especificado.

Date       Hotel group ID   Hotel ID   Clicks
1-1-2018   1234             5678       2
2-1-2018   9876             5678       10

No entanto, as coisas mudam se incluir a propriedade de pedido IncludeNonPerformingHotels. Se for verdadeiro, o relatório inclui dados de desempenho apenas para associações de hotéis e grupos hoteleiros ativos. Isto significa que o exemplo de relatório de hotéis acima muda para:

Date        Hotel ID   Clicks
1-1-2018    5678       10

E o exemplo do grupo hoteleiro muda para:

Date       Hotel group ID   Hotel ID   Clicks
2-1-2018   9876             5678       10

Livros fechados

Para obter informações sobre quando os livros fecham, consulte Determinar quando os livros fecham. Determinar quando os livros fecham para Anúncios de Preços de Hotel é o mesmo que para campanhas do Microsoft Advertising com as seguintes exceções:

  • O serviço de relatórios do Hotel Price Ads utiliza o fuso horário da conta.
  • O serviço de relatórios do Hotel Price Ads não suporta ReturnOnlyCompleteData.

Colunas de relatórios de desempenho

Os relatórios contêm colunas de dimensão e colunas de medida (métricas). Os dados de métricas são segmentados pelas colunas de dimensão. Isto significa que os dados de métricas são atualizados para a dimensão de nível mais baixo na hierarquia de dimensões que especificar no pedido de relatório.

Segue-se a hierarquia de dimensões do Relatório de Desempenho.

  1. Data
  2. SubaccountId/Name
  3. HotelGroupId/Nome
  4. HotelId/Name, PartnerHotelId
  5. HotelCountry
  6. UserCountry
  7. Tipode Slot
  8. LengthOfStay
  9. DeviceType

Por exemplo, se o pedido contiver SubaccountId e Cliques, os cliques são agregados para SubaccountId.

Data Subconta Cliques
2017-11-16 123 40

Se o pedido contiver SubaccountId, HotelGroupId e Cliques, os cliques são atualizados para HotelGroupId.

Data Subconta Grupo hoteleiro Cliques
2017-11-16 123 987 12
2017-11-16 123 654 13
2017-11-16 123 321 15

O pedido tem de incluir, pelo menos, uma coluna de dimensão e uma coluna de medida.

Colunas de dimensão

Nome da coluna Nome da coluna de relatório Descrição
AdvancedBookingWindow Janela de reserva Adv. O número de dias antes da data de entrada que o utilizador está a pedir para reservar o quarto de hotel. Por exemplo, se hoje for 3 de maio e o utilizador pedir para reservar uma sala para 8 de maio, o valor da coluna é 5.
CheckinDay Dia de entrada O dia da semana em que o utilizador está a pedir para dar entrada no hotel. Seguem-se os valores inteiros possíveis.
  • 1 (segunda-feira)
  • 2 (terça-feira)
  • 3 (quarta-feira)
  • 4 (quinta-feira)
  • 5 (sexta-feira)
  • 6 (sábado)
  • 7 (domingo)
Data Data Uma data no período de relatórios. Esta coluna é adicionada automaticamente ao relatório, se não for especificada. O formato é AAAA-MM-dd (por exemplo, 2017-11-16).
DateType Tipo de data Indica se o utilizador procurou hotéis com datas específicas. Seguem-se os valores possíveis.
  • DefaultDate — O utilizador não procurou hotéis com datas específicas
  • SelectedDate — O utilizador procurou hotéis com datas específicas
DeviceType Tipo de dispositivo O tipo de dispositivo em que os anúncios foram apresentados. Seguem-se os valores possíveis.
  • Ambiente de trabalho
  • Mobile
  • Tablet
HotelCountry País hoteleiro O código de país ISO 3116 de duas letras do país ou região onde se encontra o hotel. Por exemplo, E.U.A. para Estados Unidos.
HotelGroupId ID do grupo hoteleiro O ID que identifica exclusivamente o grupo hoteleiro.
HotelGroupName Nome do grupo de hotéis O nome a apresentar do grupo hoteleiro.
HotelId Hotel ID O ID que identifica exclusivamente o hotel.
HotelName Nome do hotel O nome do hotel.
LengthOfStay Duração da estadia A duração do itinerário.
PartnerHotelId ID do hotel parceiro O ID que o parceiro utiliza para identificar exclusivamente o hotel.
Tipo de Site Tipo de site O site do Bing que os utilizadores usavam para procurar hotéis. Seguem-se os valores possíveis.
  • LocalUniversal — O utilizador utilizou Bing.com para procurar hotéis
  • MapResults — O utilizador utilizou Bing.com/maps para procurar hotéis
  • PropertyPromotionAd — O utilizador estava a ver a primeira página de resultados apresentada na pesquisa de mapas.
Tipode Slot Tipo de bloco A colocação dos anúncios na página de resultados. Seguem-se os valores possíveis.
  • A — o bloco de prioridade onde os anúncios são apresentados na página de resultados quando é carregado.
  • M — O bloco secundário onde os anúncios são apresentados apenas após o utilizador clicar em Mais tarifas.
SubAccountId ID da subconta O ID que identifica exclusivamente a subconta (campanha de alojamento).
SubAccountName Nome da subconta O nome a apresentar da subconta.
UserCountry País/região do utilizador O código de país ISO 3116 de duas letras do país ou região onde o utilizador está localizado. Por exemplo, E.U.A. para Estados Unidos.

NOTA: Antes de 2 de agosto de 2018, UserCountry contém o país ou região do publicador. Depois de 2 de agosto de 2018, UserCountry contém o país ou região do utilizador.

Medir colunas

Nome da coluna Nome da coluna de relatório Descrição
AverageCPC Avg. CPC O custo médio por clique, que é calculado ao dividir o custo total de todos os cliques pelo número de cliques. O custo está na moeda da conta. Os dados estão disponíveis a partir de 6 de dezembro de 2017.
AverageCPCUSD Avg. CPC USD O custo médio por clique, que é calculado ao dividir o custo total de todos os cliques pelo número de cliques. O custo está em dólares americanos.
AveragePosition Avg. pos. A posição média dos anúncios na página de resultados. Posição refere-se à ordem do anúncio na página relativamente a todos os outros anúncios em todos os blocos.
AverageSlotPosition Média de pos de slot. A posição média dos anúncios no tipo de bloco. Se incluir esta métrica, também deve incluir a coluna de dimensão SlotType.
AvgBookedABW AVG reservado ABW A janela média de reservas avançadas para o hotel. A média é calculada como (ABW/conversões reservadas). Saiba mais.
AvgBookedNights Noites médias reservadas As noites médias reservadas para o hotel. A média é calculada como (total de noites/conversões reservadas). Saiba mais.
BookedABW ABW Reservado O total de dias de janela de reserva avançada para o hotel. Saiba mais.
Cliques Cliques O número de vezes em que os anúncios foram clicados.
Clique em Partilhar Clique em partilhar A percentagem de cliques que foram para os seus anúncios, do número total de cliques no mercado que estava a direcionar. Por exemplo, dos 1000 cliques estimados que ocorreram neste dia no seu mercado-alvo, tinha cerca de 230 ou 23%. O valor está no intervalo de 0,0 a 1,0. Saiba mais.
Conversões Conversões Uma reserva de hotel. Saiba mais.
Taxa de Conversão Taxa de conversão A taxa de conversões. A taxa é calculada como (conversões/cliques)*100. Saiba mais.
CPA CPA O custo por aquisição. O custo é calculado como (gastos/conversões).
CTR CTR A taxa de clique-através dos anúncios. A CTR é calculada ao dividir o número de vezes que os anúncios foram clicados pelo número de impressões. Saiba mais.
EligibleImpressions Impr elegível. O número total de impressões realizadas e não realizadas (impressões e impressões perdidas). Saiba mais.
Impressões Impr. O número de vezes que os anúncios foram apresentados.
GrossRevenue Receita bruta A receita total, incluindo impostos. Ler mais
GrossRevenuePerClick Receita bruta/clique em A receita bruta por clique. A receita por clique é calculada como (receita bruta/cliques). Saiba mais.
GrossRevenuePerConv Receita bruta/conv A receita bruta por conversão. A receita por conversão é calculada como (receita/conversões brutas). Saiba mais.
GrossROAS ROAS Bruto O retorno bruto dos gastos com anúncios. O ROAS é calculado como (receita/gastos brutos) * 100. Saiba mais.
ImpressionShare Impr. partilhar A percentagem de impressões, do total de impressões disponíveis no mercado que estava a visar. Por exemplo, de uma estimativa de 59 000 impressões que ocorreram neste dia no seu mercado-alvo, recebeu 2300 ou 3%. O valor está no intervalo de 0,0 a 1,0. Saiba mais.
MissedImpressions Impr perdido. O número total de impressões perdidas. Esta é a soma das seguintes colunas:
  • MissedImpressionsInsufficientBid
  • MissedImpressionsNoTax
  • MissedImpressionsOther
  • MissedImpressionsSpendingCapReached
Saiba mais.
MissedImpressionsInsufficientBid Impr perdido. oferta insuficiente O número de impressões perdidas porque as suas ofertas eram baixas e não competiam bem no mercado de leilões. Saiba mais.
MissedImpressionsNoTax Impr perdido. sem impostos O número de impressões perdidas porque o hotel não especificou impostos. Saiba mais.
MissedImpressionsOther Impr perdido. outro O número de impressões perdidas por todas as outras razões. Normalmente, a classificação baixa ou a sua taxa estavam disponíveis na secção Mais tarifas , mas o utilizador não expandiu a secção para ver a sua taxa. Saiba mais.
MissedImpressionsSpendingCapReached Impr perdido. limite de gastos atingido O número de impressões perdidas porque atingiu o limite de gastos diários. Saiba mais.
NetRevenue Receita líquida A receita total, excluindo impostos. Saiba mais.
NetRevenuePerClick Receita líquida/clique em A receita líquida por clique. A receita por clique é calculada como (receita líquida/cliques). Saiba mais.
NetRevenueConv Receita líquida/conv A receita líquida por conversão. A receita por conversão é calculada como (receita líquida/conversões). Saiba mais.
NetROAS Net ROAS O retorno líquido dos gastos com anúncios. O ROAS é calculado como (receita líquida/gasto) * 100.
Gastar Gastar O custo total de todos os cliques. O custo está na moeda da conta. Os dados estão disponíveis a partir de 6 de dezembro de 2017. Saiba mais.
SpendUSD Gastar USD O custo total de todos os cliques. O custo está em dólares americanos.
TotalBookedNights Duração reservada da estadia O total de noites reservadas para o hotel. Saiba mais.

Partilha de voz

Para além da regra que os pedidos têm de incluir, pelo menos, uma coluna de dimensão e uma coluna de medida, qualquer relatório que inclua colunas de partilha de voz (SOV) tem de incluir, pelo menos, uma das seguintes colunas de dimensão.

  • HotelGroupId
  • HotelId
  • PartnerHotelId
  • SubAccountId

Seguem-se as colunas SOV:

Nota

Os dados SOV estão disponíveis a partir de 1 de maio de 2018. Se especificar um período de relatório que inclua datas anteriores a 1 de maio de 2018, os campos SOV conterão um valor zero (0) para datas anteriores a 1 de maio.

Relatório de Desempenho de Exemplo

Segue-se um exemplo das linhas e colunas de cabeçalho do relatório.

"Performance report (October 30, 2017 - November 29, 2017)"
Request Id: f11b6610-5b85-4d7f-97ad-69668eb9da11

Date,Subaccount ID,Hotel group ID,Clicks,CTR,Impr.,Spend,User country

A primeira linha de cabeçalho contém o nome do relatório e o período de relatório pedido. A segunda linha de cabeçalho contém o ID do pedido do relatório. Se existir um problema com o relatório, utilizará o ID quando contactar o suporte para obter ajuda para o problema.

Nota

Os IDs, como o ID do hotel ou o ID do grupo de anúncios, estão entre parênteses retos (por exemplo, [1234567890]).