Notificação

Disponível apenas no Google Ad Manager 360.

Reveja as consultas de exemplo da Transferência de dados

Disponível apenas no Google Ad Manager 360.

Este artigo inclui exemplos de como criar consultas para relatórios da Transferência de dados do Ad Manager. Saiba mais acerca dos ficheiros da Transferência de dados, inclusive como começar a recebê-los.

Tenha em atenção que este artigo chamava-se anteriormente "Guia detalhado da Transferência de dados".

Expandir tudo  Reduzir tudo

Neste artigo:

Impressões não preenchidas

Impressões não preenchidas de NetworkImpressions

Para encontrar o número de impressões não preenchidas para um dia, consulte NetworkImpressions para as entradas em que LineItemID é 0. Não existem impressões não preenchidas em NetworkBackfillImpressions.

Exemplo de código e resultados

Código

SELECT
 COUNT(1) AS UnfilledImpressions
FROM
 NetworkImpressions
WHERE
 LineItemID = 0
 AND Time >= ‘2020-01-01’ AND Time < ‘2020-01–02’

 

Resultados

Linha UnfilledImpressions
1 20000000

Impressões não preenchidas de NetworkRequests

Também pode encontrar o número de impressões não preenchidas ao consultar NetworkRequests. Procure pedidos em que IsFilledRequest seja falso. Não existem impressões não preenchidas em NetworkBackfillRequests.

Exemplo de código e resultados

Código

SELECT
 COUNT(1) AS UnfilledImpressions
FROM
 NetworkRequests
WHERE
 NOT IsFilledRequest 
 AND Time >= '2020-01-01' AND Time < '2020-01-02'

 

Resultados

Linha UnfilledImpressions
1 20000000

Impressões não preenchidas por URL

Os relatórios do Ad Manager podem mostrar impressões não preenchidas por bloco de anúncios ou tamanho pedido, mas não por URL. Inclua RefererURL para ajudar a encontrar as dez principais páginas que geram impressões não preenchidas.

Exemplo de código e resultados

Código

SELECT
 RefererURL, COUNT(1) AS UnfilledImpressions
FROM 
 NetworkImpressions
WHERE
 LineItemID = 0
 AND Time >= '2020-01-01' AND Time < '2020-01-02'
GROUP BY RefererURL
ORDER BY UnfilledImpressions DESC
LIMIT 10

 

Resultados

Linha RefererURL UnfilledImpressions
1 http://example.com/ 4903691
2 http://example.com/url/a 748271
3 http://example.com/url/b 383293
4 http://example.com/url/c 364355
5 http://example.com/url/d 326495
6 http://example.net/ 295346
7 http://example.net/url/a 291043
8 http://example.net/url/b 276106
9 http://example.net/url/c 231169
10 http://example.net/url/d 194988

Impressões não preenchidas por bloco de anúncios

Encontre os blocos de anúncios responsáveis pela maioria das impressões não preenchidas numa única página. Se usar o conetor do BigQuery, use a tabela de correspondência do bloco de anúncios para encontrar o nome dos blocos de anúncios. Uma vez que a tabela de correspondência contém dados do bloco de anúncios para cada dia, certifique-se de que limita os dados da tabela de correspondência a um dia.

Exemplo de código e resultados

Código

SELECT
 AdUnitID, Name AS AdUnitName, COUNT(1) AS UnfilledImpressions
FROM
 NetworkImpressions AS NI
 INNER JOIN MatchTableAdUnit AS MTAU ON 
  AdUnitID = ID
  AND LineItemID = 0
  AND Time >= '2020-01-01' AND Time < '2020-01-02'
  AND RefererURL = 'https://example.com/'
  AND MTAU._DATA_DATE = '2020-01-01'
GROUP BY AdUnitID, AdUnitName
ORDER BY UnfilledImpressions DESC, AdUnitID
LIMIT 10

 

Resultados

Linha AdUnitID AdUnitName UnfilledImpressions
1 95730695 Nome do último nível A 1123439
2 95033015 Nome do último nível B 1116622
3 95033615 Nome do último nível C 1102641
4 95049575 Nome do último nível D 772235
5 95734535 Nome do último nível E 744777
6 95584895 Nome do último nível F 27593
7 95045255 Nome do último nível G 7482
8 95343215 Nome do último nível H 1925
9 94977215 Nome do último nível I 19
10 95033375 Nome do último nível J 12

Impressões

Comparar relatórios da Transferência de dados e do Ad Manager

Impressões por Product e DealType

Utilize os campos Product e DealType na Transferência de dados para gerar relatórios comparáveis aos relatórios do Ad Manager que utilizam as dimensões "Canal de procura", "Canal programático" e "Tipo de otimização". Selecione as impressões de NetworkImpression (em que LineItemID não é zero) e NetworkBackfillImpressions.

Exemplo de código e resultados (Transferência de dados)

Código

SELECT
 Product, DealType, COUNT(1) AS Impressions
FROM
 NetworkImpressions
WHERE
 LineItemID != 0 
 AND Time >= '2020-01-01' AND Time < '2020-01-02'
GROUP BY Product, DealType
UNION ALL
SELECT
 Product, DealType, COUNT(1) AS Impressions
FROM
 NetworkBackfillImpressions
WHERE
 Time >= '2020-01-01' AND Time < '2020-01-02'
GROUP BY Product, DealType
ORDER BY Product, DealType

 

Resultados

Linha Produto DealType Contagem
1 Ad Exchange null 60000000
2 Ad Exchange Leilão privado 2000000
3 Servidor de anúncios null 40000000
4 Servidor de anúncios Oferta preferida 1000000
5 Servidor de anúncios Garantido de forma programática 1200000
6 Lances de troca null 15000000
7 Lances de troca Oferta preferida 20000
8 Lances de troca Leilão privado 500000
9 Análise inicial null 100 000
Código e resultados de exemplo (relatórios do Ad Manager)

Parâmetros do relatório

Execute um relatório nos relatórios do Ad Manager com a mesma data. Escolha as seguintes dimensões e métricas:

  • Dimensões:
    • Canal de procura
    • Canal programático
    • Tipo de otimização
       
  • Métricas:
    • Total de impressões
       

 

Resultados

Linha Canal de procura Canal programático Tipo de otimização Total de impressões
1 Open Bidding Leilão aberto Todo o outro tráfego 9 000 000
2 Open Bidding Leilão aberto Concorrência otimizada 7000
3 Open Bidding Leilão aberto CPM alvo 5 993 000
4 Open Bidding Acordos preferidos Todo o outro tráfego 20 000
5 Open Bidding Leilão privado Todo o outro tráfego 496 000
6 Open Bidding Leilão privado Concorrência otimizada 4000
7 Servidor de anúncios (não aplicável) Todo o outro tráfego 40 000 000
8 Servidor de anúncios Acordos preferidos Todo o outro tráfego 1 000 000
9 Servidor de anúncios Garantido de forma programática Todo o outro tráfego 1 200 000
10 Ad Exchange Leilão aberto Todo o outro tráfego 48 000 000
11 Ad Exchange Leilão aberto Análise inicial 100 000
12 Ad Exchange Leilão aberto Concorrência otimizada 10 000
13 Ad Exchange Leilão aberto CPM alvo 11 990 000
14 Ad Exchange Leilão privado Todo o outro tráfego 1 995 000
15 Ad Exchange Leilão privado Concorrência otimizada 5000
Resumo e comparação

Direta

  • Transferência de dados:
    • Product = Ad Server
    • DealType é null
    • Linha 3: 40 000 000
  • Relatórios do Ad Manager:
    • Canal de procura = "Servidor de anúncios"
    • Canal programático = "(Não aplicável)"
    • Tipo de otimização = "Todo o outro tráfego"
    • Linha 7: 40 000 000

 

Acordos preferidos

  • Transferência de dados:
    • Product = Ad Server
    • DealType é Preferred Deal
    • Linha 4: 1 000 000
  • Relatórios do Ad Manager:
    • Canal de procura = "Servidor de anúncios"
    • Canal programático = "Acordos preferidos"
    • Tipo de otimização = "Todo o outro tráfego"
    • Linha 8: 1 000 000
  • Transferência de dados:
    • Product = Exchange Bidding
    • DealType é Preferred Deal
    • Linha 7: 20 000
  • Relatórios do Ad Manager:
    • Canal de procura = "Open Bidding"
    • Canal programático = "Acordos preferidos"
    • Tipo de otimização = "Todo o outro tráfego"
    • Linha 4: 20 000

 

Garantido de forma programática

  • Transferência de dados:
    • Product = Ad Server
    • DealType é Programmatic Guaranteed
    • Linha 5: 1 200 000
  • Relatórios do Ad Manager:
    • Canal de procura = "Servidor de anúncios"
    • Canal programático = "Garantido de forma programática"
    • Tipo de otimização = "Todo o outro tráfego"
    • Linha 9: 1 200 000

 

Leilão aberto do Ad Exchange (não incluindo a Análise inicial)

  • Transferência de dados:
    • Product = Ad Exchange
    • DealType é null
    • Linha 1: 60,000,000
  • Relatórios do Ad Manager:
    • Canal de procura = "Ad Exchange"
    • Canal programático = "Leilão aberto"
    • Tipo de otimização = "Todo o outro tráfego", "CPM alvo", "Concorrência otimizada"
    • Linha 10, Linha 12 e Linha 13, total: 48 000 000 + 10 000 + 11 990 000 = 60 000 000

 

Leilão privado do Ad Exchange

  • Transferência de dados:
    • Product = Ad Exchange
    • DealType é Private Auction
    • Linha 2: 2,000,000
  • Relatórios do Ad Manager:
    • Canal de procura = "Ad Exchange"
    • Canal programático = "Leilão privado"
    • Tipo de otimização = "Todo o outro tráfego", "Concorrência otimizada"
    • Linha 14 e linha 15, total: 1 995 000 + 5000 = 2 000 000

 

Leilão aberto do Open Bidding

  • Transferência de dados:
    • Product = Exchange Bidding
    • DealType é null
    • Linha 6: 15 000 000
  • Relatórios do Ad Manager:
    • Canal de procura = "Open Bidding"
    • Canal programático = "Leilão aberto"
    • Tipo de otimização = "Todo o outro tráfego", "CPM alvo", "Concorrência otimizada"
    • Linha 1, Linha 2 e Linha 3, total: 9 000 000 + 7000 + 5 993 000 = 15 000 000

 

Leilão privado do Open Bidding

  • Transferência de dados:
    • Product = Exchange Bidding
    • DealType é Private Auction
    • Linha 8: 500 000
  • Relatórios do Ad Manager:
    • Canal de procura = "Open Bidding"
    • Canal programático = "Leilão privado"
    • Tipo de otimização = "Todo o outro tráfego", "Concorrência otimizada"
    • Linha 5 e linha 6, total: 496 000 + 4000 = 500 000

 

Análise inicial

  • Transferência de dados:
    • Product = First Look
    • DealType é null
    • Linha 9: 100 000
  • Relatórios do Ad Manager:
    • Canal de procura = "Ad Exchange"
    • Canal programático = "Leilão aberto"
    • Tipo de otimização = "Análise inicial"
    • Linha 11: 100 000

Revenue

Receita para um elemento publicitário de CPM

O ficheiro NetworkImpressions não contém dados de receita, mas se utilizar o conetor do BigQuery, pode utilizar a Tabela de correspondência de elementos publicitários para encontrar a taxa de CPM. Caso contrário, use a API Ad Manager para encontrar a taxa de um elemento publicitário. Encontre a receita de um determinado elemento publicitário de CPM para um determinado intervalo de datas contando as impressões, multiplicando pela taxa e dividindo por 1000. Uma vez que a tabela de correspondência contém dados do bloco de anúncios para cada dia, certifique-se de que limita os dados da tabela de correspondência a um dia.

Exemplo de código e resultados

Código

WITH Impression_Data AS (
 SELECT
   LineItemID, COUNT(1) AS Impressions
 FROM
   NetworkImpressions
 WHERE
   LineItemID = 123456789
   AND Time >= '2020-01-01' AND Time < '2020-01-11'
 GROUP BY
   LineItemID
)
 
SELECT
 LineItemID, Impressions, CostPerUnitInNetworkCurrency AS Rate, CostType, ((Impressions * CostPerUnitInNetworkCurrency) / 1000) AS Revenue
FROM
 Impression_Data
 JOIN MatchTableLineItem ON LineItemID = ID
WHERE
 MatchTableLineItem._DATA_DATE = '2020-01-10'

Resultados

Linha LineItemID Impressões Taxa CostType Receita
1 123456789 21324 3,5 CPM 74 634

Receita para um elemento publicitário de CPD

Tal como acontece com os elementos publicitários de CPM, pode utilizar a Tabela de correspondência de elementos publicitários ou a API Ad Manager para encontrar a taxa de CPD de um elemento publicitário. Uma vez que a tabela de correspondência contém dados do bloco de anúncios para cada dia, certifique-se de que limita os dados da tabela de correspondência a um dia. Para encontrar a receita de um determinado elemento publicitário de CPD, conte o número de dias em que as impressões foram publicadas e multiplique pela taxa. É recomendável incluir o número de impressões publicadas para encontrar o eCPM médio.

Exemplo de código e resultados

Código

WITH Impression_Data AS (
 SELECT
   SUBSTR(Time, 0, 10) AS Date,
   LineItemID,
   CostPerUnitInNetworkCurrency AS Rate,
   CostType,
   COUNT(1) AS Impressions
 FROM
   NetworkImpressions
   JOIN MatchTableLineItem ON LineItemID = ID
 WHERE
   LineItemID = 123456789
   AND MatchTableLineItem._DATA_DATE = '2020-01-01'
 GROUP BY
   Date, LineItemID, Rate, CostType
)
SELECT
 LineItemID,
 COUNT(1) AS Days,
 CostType,
 Rate,
 (COUNT(1) * Rate) AS Revenue,
 SUM(Impressions) AS Impressions,
 ROUND((COUNT(1) * Rate) / SUM(Impressions) * 1000, 2) AS Average_eCPM
FROM
 Impression_Data
GROUP BY
 LineItemID, CostType, Rate

Resultados

Linha LineItemID Dias CostType Taxa Receita Impressões Average_eCPM
1 123456789 5 CPD 4000,0 20000,0 7000000 2,86

Receita para um elemento publicitário de CPC

Tal como acontece com os elementos publicitários de CPM, pode utilizar a Tabela de correspondência de elementos publicitários ou a API Ad Manager para encontrar a taxa de CPC de um elemento publicitário. Uma vez que a tabela de correspondência contém dados do bloco de anúncios para cada dia, certifique-se de que limita os dados da tabela de correspondência a um dia. Para encontrar a receita de um determinado elemento publicitário de CPC para um determinado intervalo de datas, conte os cliques e multiplique pela taxa. É recomendável incluir o número de impressões publicadas para encontrar o eCPM médio.

Exemplo de código e resultados

Código

WITH Impression_Data AS (
 SELECT
   LineItemID,
   COUNT(1) AS Impressions
 FROM
   NetworkImpressions
 WHERE
   LineItemID = 123456789
 GROUP BY
   LineItemID
), Click_Data AS (
 SELECT
   LineItemID,
   CostPerUnitInNetworkCurrency AS Rate,
   CostType,
   COUNT(1) AS Clicks
 FROM
   NetworkClicks
   JOIN MatchTableLineItem ON LineItemID = ID
 WHERE
   LineItemID = 123456789
   AND MatchTableLineItem._DATA_DATE = '2020-01-01'
 GROUP BY
   LineItemID, Rate, CostType
)
 
SELECT
 LineItemID,
 CostType,
 Impressions,
 Clicks,
 ROUND(Clicks / Impressions * 100, 2) AS CTR,
 Rate,
 (Clicks * Rate) AS Revenue,
 ROUND((Clicks * Rate) / Impressions * 1000, 2) AS Average_eCPM
FROM
 Impression_Data
 JOIN Click_Data USING (LineItemID)

Resultados

Linha LineItemID CostType Impressões Cliques CTR Taxa Receita Average_eCPM
1 123456789 CPC 140000 23 0,02 15,5 356,5 2,55

Receita para um elemento publicitário de vCPM

Tal como acontece com os elementos publicitários de CPM, pode utilizar a Tabela de correspondência de elementos publicitários ou a API Ad Manager para encontrar a taxa de vCPM de um elemento publicitário. Uma vez que a tabela de correspondência contém dados do bloco de anúncios para cada dia, certifique-se de que limita os dados da tabela de correspondência a um dia. Para encontrar a receita de um determinado elemento publicitário de vCPM, conte as impressões visíveis de NetworkActiveViews e multiplique pela taxa. É recomendável incluir o número de impressões publicadas para encontrar o eCPM médio.

Exemplo de código e resultados

Código

WITH Active_View_Data AS (
 SELECT
   LineItemID, COUNT(1) AS ViewableImpressions
 FROM
   NetworkActiveViews
 WHERE
   LineItemID = 123456789
 GROUP BY LineItemID
), Impression_Data AS (
 SELECT
   LineItemID, COUNT(1) AS Impressions
 FROM
   NetworkImpressions
 WHERE
   LineItemID = 123456789
 GROUP BY LineItemID
)
SELECT
 Active_View_Data.LineItemID,
 CostType,
 Impressions,
 ViewableImpressions,
 CostPerUnitInNetworkCurrency AS Rate,
 (CostPerUnitInNetworkCurrency * ViewableImpressions / 1000) AS Revenue,
 ROUND((CostPerUnitInNetworkCurrency * ViewableImpressions / 1000) / Impressions * 1000, 2) AS Average_eCPM
FROM
 Impression_Data
 JOIN Active_View_Data USING (LineItemID)
 JOIN MatchTableLineItem ON Active_View_Data.LineItemID = ID
WHERE
 MatchTableLineItem._DATA_DATE = '2020-08-01'

Resultados

Linha LineItemID CostType Impressões ViewableImpressions Taxa Receita Average_eCPM
1 123456789 CPMAV 500000 150000 10 1500,0 3,0

Receita para um anunciante

Para encontrar a receita de um determinado anunciante para um determinado intervalo de datas, conte as impressões de cada elemento publicitário e multiplique pela taxa. Utilize a tabela de correspondência de elementos publicitários para encontrar a taxa e a Tabela de correspondência de empresas para encontrar o nome do anunciante.

Exemplo de código e resultados

Código

WITH Impression_Data AS (
 SELECT
   AdvertiserID, LineItemID, COUNT(1) AS Impressions
 FROM
   NetworkImpressions
 WHERE
   AdvertiserID = 111222333
   AND Time >= '2020-01-01' AND Time < '2020-01-02'
 GROUP BY
   AdvertiserID, LineItemID
)
 
SELECT
 AdvertiserID,
 MTC.Name AS CompanyName,
 LineItemID, Impressions,
 CostPerUnitInNetworkCurrency AS Rate,
 CostType,
 ((Impressions * CostPerUnitInNetworkCurrency) / 1000) AS Revenue
FROM
 Impression_Data
 JOIN MatchTableLineItem AS MTLI ON LineItemID = MTLI.ID
 JOIN MatchTableCompany AS MTC ON AdvertiserID = MTC.ID
WHERE
 MTLI._DATA_DATE = '2020-01-01'
 AND MTC._DATA_DATE = '2020-01-01'

Resultados

Linha AdvertiserID CompanyName LineItemID Impressões Taxa CostType Receita
1 111222333 ABC 111111111 20212 5,0 CPM 101,06
2 111222333 ABC 222222222 58321 3,0 CPM 174,963
3 111222333 ABC 333333333 82772 8,5 CPM 703,562
4 111222333 ABC 444444444 19003 3,25 CPM 61,7597

Publicações do código

Para redes com o alternativo ativado, a Transferência de dados contabiliza uma publicação do código para cada elemento publicitário selecionado na cadeia de alternativos, enquanto os relatórios do Ad Manager contabilizam uma publicação do código apenas para o primeiro elemento publicitário selecionado na cadeia de alternativos. A Transferência de dados também contabiliza uma publicação do código para os anúncios associados, enquanto os relatórios do Ad Manager não fazem esta contabilização. Se pretender que o relatório da Transferência de dados corresponda ao relatório do Ad Manager da melhor forma possível, a contagem do código só é publicada quando VideoFallbackPosition = 0 e IsCompanion for false. As publicações do código da Mediação na Transferência de dados podem não corresponder às publicações do código da Mediação nos relatórios do Ad Manager. Consoante a sua implementação, podem existir outras diferenças entre as contagens de publicações do código na Transferência de dados e nos relatórios do Ad Manager.

Publicações do código, impressões e taxa de renderização por elemento publicitário para um único anunciante

Veja a frequência com que as publicações do código se transformam em impressões para cada elemento publicitário de um anunciante direto. Como estamos a analisar um anunciante direto, estas publicações do código só estarão em NetworkCodeServes e as impressões estarão apenas em NetworkImpressions.

Exemplo de código e resultados

Código

WITH Code_Serve_Data AS (
 SELECT
   LineItemID, COUNT(1) AS CodeServes
 FROM
   NetworkCodeServes
 WHERE
   AdvertiserID = 12345678
   AND VideoFallbackPosition = 0
   AND IsCompanion IS FALSE
   AND Time >= '2020-01-01' AND Time < '2020-01-02'
 GROUP BY LineItemID
), Impression_Data AS (
 SELECT
   LineItemID, COUNT(1) AS Impressions
 FROM
   NetworkImpressions
 WHERE
   AdvertiserID = 12345678
   AND Time >= '2020-01-01' AND Time < '2020-01-02'
 GROUP BY LineItemID
)
SELECT
 LineItemID, 
 CodeServes, 
 Impressions, 
 ROUND((Impressions / CodeServes) * 100, 2) AS RenderRate
FROM
 Code_Serve_Data JOIN Impression_Data USING (LineItemID)
ORDER BY RenderRate DESC

Resultados

Linha LineItemID CodeServes Impressões RenderRate
1 1111111111 6000 2600 43,33
2 2222222222 1000000 371200 37,12
3 3333333333 50000 17550 35,1
4 4444444444 800000 275000 34,38
5 5555555555 1500000 400000 26,66

Publicações do código, impressões e taxa de renderização por categoria de dispositivos e tamanho do criativo publicados

Inclua a Categoria do dispositivo e o Tamanho do criativo fornecido para ver como as taxas de renderização variam para um pedido de um anunciante.

Exemplo de código e resultados

Código

WITH Code_Serve_Data AS (
 SELECT
   LineItemID, CreativeSizeDelivered, DeviceCategory, COUNT(1) AS CodeServes
 FROM
   NetworkCodeServes
 WHERE
   AdvertiserID = 87654321
   AND OrderID = 1111111111
   AND VideoFallbackPosition = 0
   AND IsCompanion IS FALSE
 GROUP BY LineItemID, CreativeSizeDelivered, DeviceCategory
), Impression_Data AS (
 SELECT
   LineItemID, CreativeSizeDelivered, DeviceCategory, COUNT(1) AS Impressions
 FROM
   NetworkImpressions
 WHERE
   AdvertiserID = 87654321
   AND OrderID = 1111111111
 GROUP BY LineItemID, CreativeSizeDelivered, DeviceCategory
)
SELECT
 LineItemID, 
 DeviceCategory, 
 CreativeSizeDelivered, 
 CodeServes, 
 Impressions, 
 ROUND((Impressions / CodeServes) * 100, 2) AS RenderRate
FROM
 Code_Serve_Data
 JOIN Impression_Data USING (LineItemID, CreativeSizeDelivered, DeviceCategory)
ORDER BY LineItemID, CreativeSizeDelivered, DeviceCategory 

Resultados

Linha LineItemID DeviceCategory CreativeSizeDelivered CodeServes Impressões RenderRate
1 6666666666 Smart TV Vídeo/sobreposição 100 40 40,0
2 6666666666 Computador Vídeo/sobreposição 20000 9000 45,0
3 6666666666 Smartphone Vídeo/sobreposição 32000 25000 78,13
4 6666666666 Tablet Vídeo/sobreposição 1000 800 80,0
5 7777777777 Smart TV 300 x 250 200 190 95,0
6 7777777777 Computador 300 x 250 185000 184000 99,46
7 7777777777 Smartphone 300 x 250 225000 220000 97,77
8 7777777777 Tablet 300 x 250 10 000 9800 98,0
9 7777777777 Smart TV 300 x 50 50 50 100,0
10 7777777777 Computador 300 x 50 1000 900 90,0
11 7777777777 Smartphone 300 x 50 90000 80000 88,89
12 7777777777 Tablet 300 x 50 800 750 93,75

Visibilidade

Pode encontrar os dados da visibilidade nos ficheiros Impressões e Vista ativa através dos campos ActiveViewEligibleCount, ActiveViewMeasurableCount e ActiveViewViewableCount. Leia mais acerca destes campos e de como os respetivos valores são definidos.

A visibilidade para um período pode ser calculada somando os valores encontrados nos ficheiros ou juntando os eventos individuais e, em seguida, somando os valores. Pode haver ligeiras diferenças entre estas duas estratégias, explicadas em detalhe abaixo.

Impressões elegíveis, impressões mensuráveis e impressões visíveis (no total)

Encontre o número de impressões elegíveis, mensuráveis e visíveis para um determinado dia. Conforme mencionado acima, tem de usar os ficheiros de impressão e os ficheiros da Vista ativa.

Exemplo de código e resultados

Código

DECLARE startdate STRING DEFAULT '2023-01-01 00:00:00';
DECLARE enddate STRING DEFAULT '2023-01-02 00:00:00';


WITH ActiveView_Data AS (
 SELECT DeviceCategory, VideoPosition,
 SUM(IFNULL(ActiveViewMeasurableCount, 0)) AS ActiveViewMeasurableCount,
 SUM(IFNULL(ActiveViewViewableCount, 0)) AS ActiveViewViewableCount
 FROM (
   SELECT
     DeviceCategory, VideoPosition,
     SUM(ActiveViewMeasurableCount) AS ActiveViewMeasurableCount,
     SUM(ActiveViewViewableCount) AS ActiveViewViewableCount
   FROM
     NetworkActiveViews
   WHERE Time >= startdate AND Time < enddate
   GROUP BY DeviceCategory, VideoPosition
   UNION ALL
   SELECT
     DeviceCategory, VideoPosition,
     SUM(ActiveViewMeasurableCount) AS ActiveViewMeasurableCount,
     SUM(ActiveViewViewableCount) AS ActiveViewViewableCount
   FROM
     NetworkBackfillActiveViews
   WHERE Time >= startdate AND Time < enddate
   GROUP BY DeviceCategory, VideoPosition
 )
 GROUP BY DeviceCategory, VideoPosition
), Impression_Data AS (
 SELECT DeviceCategory, VideoPosition,
 SUM(IFNULL(ActiveViewEligibleCount, 0)) AS ActiveViewEligibleCount,
 SUM(IFNULL(ActiveViewMeasurableCount, 0)) AS ActiveViewMeasurableCount
 FROM (
   SELECT
     DeviceCategory, VideoPosition,
     SUM(ActiveViewEligibleCount) AS ActiveViewEligibleCount,
     SUM(ActiveViewMeasurableCount) AS ActiveViewMeasurableCount
   FROM
     NetworkImpressions
   WHERE
     Time >= startdate AND Time < enddate
     AND LineItemID !=0
   GROUP BY DeviceCategory, VideoPosition 
   UNION ALL
   SELECT
     DeviceCategory, VideoPosition,
     SUM(ActiveViewEligibleCount) AS ActiveViewEligibleCount,
     SUM(ActiveViewMeasurableCount) AS ActiveViewMeasurableCount
FROM
     NetworkBackfillImpressions
   WHERE
     Time >= startdate AND Time < enddate
   GROUP BY DeviceCategory, VideoPosition 
 )
 GROUP BY DeviceCategory, VideoPosition
)


SELECT
 DeviceCategory,
 VideoPosition,
 IFNULL(ActiveViewEligibleCount, 0) AS ActiveViewEligibleCount,
 IFNULL(i.ActiveViewMeasurableCount, 0) + IFNULL(av.ActiveViewMeasurableCount, 0) AS ActiveViewMeasurableCount,
 IFNULL(ActiveViewViewableCount, 0) AS ActiveViewViewableCount
FROM Impression_Data i
FULL JOIN ActiveView_Data av USING (DeviceCategory, VideoPosition)
ORDER BY DeviceCategory, VideoPosition

Resultados

Linha EligibleImpressions MeasurableImpressions ViewableImpressions
1 97000000 95000000 60000000

Impressões elegíveis, impressões mensuráveis e impressões visíveis (por impressão associada)

Encontre o número de impressões elegíveis, mensuráveis e visíveis para um determinado dia juntando os eventos individuais nos ficheiros de impressão e nos ficheiros de Vista ativa e, em seguida, somando os valores. Existem casos raros em que recebemos um ping de Vista ativa: visíveis, mas não recebemos um ping de impressão. Quando juntar dados da Vista ativa a dados de impressões, pode encontrar diferenças nas impressões mensuráveis e menos impressões visíveis em relação à primeira consulta, mostrada acima.

Exemplo de código e resultados

Código

DECLARE startdate STRING DEFAULT '2023-01-01 00:00:00';
DECLARE enddate STRING DEFAULT '2023-01-02 00:00:00';


WITH ActiveView_Data AS (
 SELECT
   CAST(substr(Time, 0, 10) as Date) AS Date,
   Product,
   KeyPart,
   TimeUsec2,
   SUM(ActiveViewMeasurableCount) AS avAVMC,
   SUM(ActiveViewViewableCount) AS ActiveViewViewableCount
 FROM
   NetworkActiveViews
 WHERE Time >= startdate AND Time < enddate
 GROUP BY Date, Product, KeyPart, TimeUsec2
 UNION ALL
 SELECT
   CAST(substr(Time, 0, 10) as Date) AS Date,
   Product,
   KeyPart,
   TimeUsec2,
   SUM(ActiveViewMeasurableCount) AS avAVMC,
   SUM(ActiveViewViewableCount) AS ActiveViewViewableCount
 FROM
   NetworkBackfillActiveViews
 WHERE Time >= startdate AND Time < enddate
 GROUP BY Date, Product, KeyPart, TimeUsec2 
), Impression_Data AS (
 SELECT
   CAST(substr(i.Time, 0, 10) as Date) AS Date,
   i.Product,
   i.TimeUsec2,
   i.KeyPart,
   i.ActiveViewEligibleCount AS ActiveViewEligibleCount,
   i.ActiveViewMeasurableCount AS iAVMC,
   av.avAVMC AS avAVMC,
   av.ActiveViewViewableCount     
 FROM
   NetworkImpressions i
   LEFT JOIN ActiveView_Data AS av USING (Product, Keypart, TimeUsec2)
 WHERE
   i.Time >= startdate AND i.Time < enddate
   AND i.LineItemID !=0
 UNION ALL
 SELECT
   CAST(substr(i.Time, 0, 10) as Date) AS Date,
   i.Product,
   i.TimeUsec2,
   i.KeyPart,
   i.ActiveViewEligibleCount AS ActiveViewEligibleCount,
   i.ActiveViewMeasurableCount AS iAVMC,
   av.avAVMC AS avAVMC,
   av.ActiveViewViewableCount     
 FROM
   NetworkBackfillImpressions i
   LEFT JOIN ActiveView_Data AS av USING (Product, Keypart, TimeUsec2)
 WHERE
   i.Time >= startdate AND i.Time < enddate
), Full_Data AS (
 SELECT
   Date,
   Product,
   TimeUsec2,
   KeyPart,
   ActiveViewEligibleCount,
   CASE WHEN ActiveViewViewableCount >=1 THEN 1 ELSE (IFNULL(iAVMC, 0) + IFNULL(avAVMC, 0)) END AS ActiveViewMeasurableCount,
   IFNULL(ActiveViewViewableCount, 0) AS ActiveViewViewableCount
 FROM
   Impression_Data
)


SELECT
 SUM(ActiveViewEligibleCount) AS ActiveViewEligibleCount,
 SUM(ActiveViewMeasurableCount) AS ActiveViewMeasurableCount,
 SUM(ActiveViewViewableCount) AS ActiveViewViewableCount
FROM
 Full_Data

Resultados

Linha EligibleImpressions MeasurableImpressions ViewableImpressions
1 97000000 95000000 59900000

Chaves-valores

Utilização da chave

Descubra a frequência com que cada uma das chaves é apresentada num pedido de anúncio (apresentada em CustomTargeting) e a frequência com que cada chave foi utilizada para publicar um elemento publicitário (apresentada em TargetedCustomCriteria). As chaves ativas que não aparecem nos resultados ou que são usadas com pouca frequência podem ser boas candidatas para o arquivo de forma a permanecer abaixo do seu limite de chaves.

Exemplo de código e resultados

Código

WITH Key_Value_Pairs AS (
 SELECT
   KVPair
 FROM
   NetworkImpressions CROSS JOIN UNNEST(SPLIT(CustomTargeting, ';')) AS KVPair
 WHERE
   CustomTargeting IS NOT NULL
 UNION ALL
 SELECT
   KVPair
 FROM
  NetworkBackfillImpressions CROSS JOIN UNNEST(SPLIT(CustomTargeting, ';')) AS KVPair
 WHERE
   CustomTargeting IS NOT NULL
), Targeted_Key_Value_Pairs AS (
 SELECT
   TargetedKVPair
 FROM
   NetworkImpressions CROSS JOIN UNNEST(SPLIT(TargetedCustomCriteria, ';')) AS TargetedKVPair
 WHERE
   TargetedCustomCriteria IS NOT NULL
 UNION ALL
 SELECT
   TargetedKVPair
 FROM
   NetworkBackfillImpressions CROSS JOIN UNNEST (SPLIT(TargetedCustomCriteria, ';')) AS TargetedKVPair
 WHERE
   TargetedCustomCriteria IS NOT NULL
), Key_Usage AS (
 SELECT
   REGEXP_REPLACE(KVPair, '=.+', '') AS Key,
   COUNT(1) AS KeyUsageCount
 FROM Key_Value_Pairs
 GROUP BY Key
), Key_Targeted_Usage AS (
 SELECT
   REGEXP_REPLACE(TargetedKVPair, '(!)*(=|~).+', '') AS Key,
   COUNT(1) AS KeyTargetedCount
 FROM Targeted_Key_Value_Pairs
 GROUP BY Key
)
 
SELECT
 CASE WHEN Key_Usage.Key IS NULL THEN Key_Targeted_Usage.Key ELSE Key_Usage.Key END AS Key,
 KeyUsageCount,
 KeyTargetedCount
FROM
 Key_Usage
 FULL JOIN Key_Targeted_Usage ON Key_Usage.Key = Key_Targeted_Usage.Key
ORDER BY Key

Resultados

Linha Chave KeyUsageCount KeyTargetedCount
1 key_abc 10000000 1000000
2 key_def 25000000 5000000
3 key_ghi 40000 2000
4 key_jkl 300000 12000
5 key_mno 100 000 1000

Lances por parceiros de lances

Encontre a frequência com que os parceiros efetuam lances ao extrair os lances de CustomTargeting. O exemplo abaixo espera que o nome de cada parceiro comece “bidder_prefix_” como em “bidder_prefix_partnername”, e espera que um lance para esse parceiro esteja no formato “bidder_prefix_partnername=1.23”.

Exemplo de código e resultados

Código

SELECT
 Bidder, COUNT(1) AS BidCount
FROM (
 SELECT
   Bidder
 FROM
   NetworkImpressions CROSS JOIN UNNEST(REGEXP_EXTRACT_ALL(CustomTargeting, '(bidder_prefix_[A-z]+)=[0-9]+\\.[0-9]*')) AS Bidder
 WHERE
   CustomTargeting LIKE '%bidder_prefix_%'
   AND Time >= '2020-01-01' AND Time < '2020-01-02'
 UNION ALL
 SELECT
   Bidder
 FROM
   NetworkBackfillImpressions CROSS JOIN UNNEST(REGEXP_EXTRACT_ALL(CustomTargeting, '(bidder_prefix_[A-z]+)=[0-9]+\\.[0-9]*')) AS Bidder
 WHERE
   CustomTargeting LIKE '%bidder_prefix_%'
   AND Time >= '2020-01-01' AND Time < '2020-01-02'
)
GROUP BY Bidder
ORDER BY BidCount 

Resultados

Linha Licitador BidCount
1 bidder_prefix_partner_1 15000000
2 bidder_prefix_partner_2 12000000
3 bidder_prefix_partner_3 9000000
4 bidder_prefix_partner_4 6000000
5 bidder_prefix_partner_5 3000000

Valores e contagens de lances para um único parceiro de lances

Para um único parceiro de lances, encontre os valores de lances mais comuns e a frequência com que cada lance foi feito. No exemplo abaixo, selecione os 10 lances mais comuns nas tabelas de impressões do parceiro "bidder_partner" (impressões onde CustomTargeting contém a chave “bidder_partner”, que está definida para um preço de lance, como “1.23”).

Exemplo de código e resultados

Código

SELECT
 BidPrice, SUM(BidCount) AS BidCount
FROM (
 SELECT
    SAFE_CAST(REGEXP_EXTRACT(CustomTargeting, 'bidder_partner=([0-9]+\\.[0-9]*)') AS FLOAT64) AS BidPrice,
    COUNT(1) AS BidCount
 FROM
   NetworkImpressions
 WHERE
    CustomTargeting LIKE '%bidder_partner=%'
    AND Time >= '2020-01-01' AND Time < '2020-01-02'
 GROUP BY BidPrice
 UNION ALL
 SELECT
    SAFE_CAST(REGEXP_EXTRACT(CustomTargeting, 'bidder_partner=([0-9]+\\.[0-9]*)') AS FLOAT64) AS BidPrice,
    COUNT(1) AS BidCount
 FROM
   NetworkBackfillImpressions
 WHERE
    CustomTargeting LIKE '%bidder_partner=%'
    AND Time >= '2020-01-01' AND Time < '2020-01-02'
 GROUP BY BidPrice
)
GROUP BY BidPrice
ORDER BY BidCount DESC
LIMIT 10

Resultados

Linha BidPrice BidCount
1 0,01 600000
2 0,02 500000
3 0,05 400000
4 0,07 300000
5 0,09 200000
6 0,03 150000
7 0,08 100 000
8 0,04 75000
9 0,10 50000
10 0,06 25000

Contagens de lances e lances médios

Encontre o número total de lances e o lance médio nas tabelas de impressões para todos os parceiros de lances. O exemplo abaixo espera que o nome de cada parceiro comece “bidder_prefix_” como em “bidder_prefix_partnername”, e espera que um lance para esse parceiro esteja no formato “bidder_prefix_partnername=1.23”.

Exemplo de código e resultados

Código

WITH Bid_Data AS (
 SELECT
   REGEXP_EXTRACT(Bid, '(bidder_prefix_[A-z]+)=[0-9]+\\.[0-9]*') AS Bidder,
   SAFE_CAST(REGEXP_EXTRACT(Bid, 'bidder_prefix_[A-z]+=([0-9]+\\.[0-9]*)') AS FLOAT64) AS BidPrice,
   COUNT(1) AS BidCount 
   FROM (
     SELECT Bid
     FROM NetworkImpressions CROSS JOIN UNNEST(REGEXP_EXTRACT_ALL(CustomTargeting, 'bidder_prefix_[A-z]+=[0-9]+\\.[0-9]*')) AS Bid
     WHERE
       CustomTargeting LIKE '%bidder_prefix_%'
       AND Time >= '2020-01-01' AND Time < '2020-01-02'
     UNION ALL
     SELECT Bid
     FROM NetworkBackfillImpressions CROSS JOIN UNNEST(REGEXP_EXTRACT_ALL(CustomTargeting, 'bidder_prefix_[A-z]+=[0-9]+\\.[0-9]*')) AS Bid
     WHERE
       CustomTargeting LIKE '%bidder_prefix_%'
       AND Time >= '2020-01-01' AND Time < '2020-01-02'
   )
   GROUP BY Bidder, BidPrice
), BidPrice_Totals AS (
 SELECT
   Bidder, SUM(BidValue) AS TotalBidValue
 FROM (
   SELECT Bidder, BidPrice * BidCount AS BidValue
   FROM Bid_Data
 )
 GROUP BY Bidder
), BidCount_Totals AS (
  SELECT
   Bidder, SUM(BidCount) AS TotalBidCount
  FROM
   Bid_Data
  GROUP BY Bidder
)
 
SELECT
 BidCount_Totals.Bidder,
 TotalBidCount,
 ROUND((TotalBidValue / TotalBidCount), 2) AS AverageBid
FROM
 BidCount_Totals
 INNER JOIN BidPrice_Totals ON BidCount_Totals.Bidder = BidPrice_Totals.Bidder
ORDER BY Bidder

Resultados

Linha Licitador BidCount AverageBid
1 bidder_prefix_partner_1 15000000 0,21
2 bidder_prefix_partner_2 12000000 1,43
3 bidder_prefix_partner_3 9000000 2,67
4 bidder_prefix_partner_4 6000000 6,80
5 bidder_prefix_partner_5 3000000 0,92

Contagens de segmentos da DMP

As plataformas de gestão de dados transmitem frequentemente os segmentos aos quais um utilizador pertence como pares de chaves-valores. Encontre a frequência com que estes segmentos aparecem em pedidos de anúncios, ou seja, quantas impressões eram elegíveis para segmentação para cada segmento. Extraia os IDs de segmentos a partir da CustomTargeting. O exemplo abaixo espera que o nome da chave seja "seg" e os valores sejam compostos por letras e números.

Exemplo de código e resultados

Código

SELECT
 Segment, COUNT(1) AS Count
FROM (
 SELECT
   Segment
 FROM
   NetworkImpressions CROSS JOIN UNNEST(REGEXP_EXTRACT_ALL(CustomTargeting, 'seg=([A-z0-9]+)')) AS Segment
 WHERE
   CustomTargeting LIKE '%seg=%'
   AND Time >= '2020-01-01' AND Time < '2020-01-02'
 UNION ALL
 SELECT
   Segment
 FROM
   NetworkBackfillImpressions CROSS JOIN UNNEST(REGEXP_EXTRACT_ALL(CustomTargeting, 'seg=([A-z0-9]+)')) AS Segment
 WHERE
   CustomTargeting LIKE '%seg=%'
   AND Time >= '2020-01-01' AND Time < '2020-01-02'
)
GROUP BY Segment
ORDER BY Count DESC

Resultados

Linha Segmento Contagem
1 abcd1234 10000000
2 efgh5678 9000000
3 ijkl9012 8000000
4 mnop3456 7000000
5 qrst7890 6000000
6 uvwx1234 5000000
7 yzab5678 4000000
8 cdef9012 3000000
9 ghij3456 2000000
10 klmn7890 1000000

Vídeo

Erros de vídeo po URL, ID do bloco de anúncios e posição

Para resolver problemas de elementos publicitários de vídeo com erros significativos, pode ter de encontrar a página e/ou o espaço de anúncio na página que é a principal responsável pelos erros. Utilize NetworkVideoConversions para encontrar erros por elemento publicitário (em que ActionName contém "error"). Se tiver mais do que um leitor de vídeo numa página, os leitores utilizam o mesmo bloco de anúncios e utiliza uma chave como "pos" para distinguir entre blocos de anúncios numa página. Extraia esse pos de CustomTargeting. O exemplo abaixo espera que o nome dessa chave seja "pos" e mostre as cinco principais combinações de RefererURL, AdUnitID e Position responsável pelos erros num único elemento publicitário de vídeo.

Exemplo de código e resultados

Código

SELECT
 RefererURL, AdUnitID, REGEXP_EXTRACT(CustomTargeting, 'pos=([^;]+)') AS Position, COUNT(1) AS ErrorCount
FROM
 NetworkVideoConversions
WHERE
 LineItemID = 123456789
 AND ActionName LIKE '%error%'
 AND Time >= '2020-01-01' AND Time < '2020-01-02'
GROUP BY RefererURL, AdUnitID, Position
ORDER BY ErrorCount DESC
LIMIT 5

Resultados

Linha RefererURL AdUnitID Posição ErrorCount
1 https://example.com/ 11111111 cima 2000
2 https://example.com/url/a 22222222 cima 1500
3 https://example.com/url/b 22222222 cima 1400
4 https://example.com/url/c 11111111 cima 1000
5 https://example.com/url/c 11111111 baixo 500

A informação foi útil?

Como podemos melhorá-la?
Pesquisa
Limpar pesquisa
Fechar pesquisa
Menu principal
6929373375699545912
true
Pesquisar no Centro de ajuda
true
true
true
true
true
148
false
false