Notificação

Disponível apenas no Google Ad Manager 360.

Analisar consultas de amostra da Transferência de dados

Disponível apenas no Google Ad Manager 360.

Este artigo contém exemplos de como criar consultas para os relatórios de Transferência de dados do Ad Manager. Saiba mais sobre os arquivos da Transferência de dados, incluindo como eles podem ser recebidos.

O título deste artigo era "Manual de Transferência de dados".

Abrir tudo  Fechar tudo

Neste artigo:

Impressões não preenchidas

Impressões não preenchidas em NetworkImpressions

Para saber o número de impressões não preenchidas em um dia, consulte em NetworkImpressions as entradas onde LineItemID é 0. Não há 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 20.000.000

Impressões não preenchidas em NetworkRequests

Também é possível encontrar o número de impressões não preenchidas ao consultar NetworkRequests. Procure solicitações em que IsFilledRequest seja falso. Não há 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 20.000.000

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 solicitado, mas não por URL. Inclua RefererURL para encontrar as dez páginas que mais 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/ 4.903.691
2 http://example.com/url/a 748.271
3 http://example.com/url/b 383.293
4 http://example.com/url/c 364.355
5 http://example.com/url/d 326.495
6 http://example.net/ 295.346
7 http://example.net/url/a 291.043
8 http://example.net/url/b 276.106
9 http://example.net/url/c 231.169
10 http://example.net/url/d 194.988

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

Encontre os blocos de anúncios responsáveis pela maior parte das impressões não preenchidas em uma única página. Se você usa o conector do BigQuery, utilize a tabela de correspondências de blocos de anúncios para encontrar o nome deles. Como a tabela de correspondências tem dados dos blocos de anúncios para todos os dias, limite essas informações a somente um deles.

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 95.730.695 Nome do último nível A 1.123.439
2 95.033.015 Nome do último nível B 1.116.622
3 95.033.615 Nome do último nível C 1.102.641
4 95.049.575 Nome do último nível D 772.235
5 95.734.535 Nome do último nível E 744.777
6 95.584.895 Nome do último nível F 27.593
7 95.045.255 Nome do último nível G 7.482
8 95.343.215 Nome do último nível H 1.925
9 94.977.215 Nome do último nível I 19
10 95.033.375 Nome do último nível J 12

Impressões

Comparação entre a Transferência de dados e os relatórios do Ad Manager

Impressões por Product e DealType

Use os campos Product e DealType na Transferência de dados para gerar relatórios semelhantes aos do Ad Manager que usam as dimensões "Canal de demanda", "Canal programático" e "Tipo de otimização". Selecione impressões de NetworkImpressions (em que LineItemID é diferente de 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 Product DealType Contagem
1 Ad Exchange nulo 60.000.000
2 Ad Exchange Leilão privado 2.000.000
3 Servidor de anúncios nulo 40.000.000
4 Servidor de anúncios Transação preferencial 1000000
5 Servidor de anúncios Programática garantida 1.200.000
6 Lances de troca nulo 15.000.000
7 Lances de troca Transação preferencial 20.000
8 Lances de troca Leilão privado 500.000
9 Acesso preferencial nulo 100.000
Exemplo de código e resultados (relatórios do Ad Manager)

Parâmetros do relatório

Gere um relatório do Ad Manager usando a mesma data. Escolha as seguintes dimensões e métricas:

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

 

Resultados

Linha Canal de demanda Canal programático Tipo de otimização Total de impressões
1 Open Bidding Leilão aberto Todos os outros tipos de tráfego 9.000.000
2 Open Bidding Leilão aberto Concorrência otimizada 7.000
3 Open Bidding Leilão aberto CPM desejado 5.993.000
4 Open Bidding Transações preferenciais Todos os outros tipos de tráfego 20.000
5 Open Bidding Leilão privado Todos os outros tipos de tráfego 496.000
6 Open Bidding Leilão privado Concorrência otimizada 4.000
7 Servidor de anúncios (Não relevante) Todos os outros tipos de tráfego 40.000.000
8 Servidor de anúncios Transações preferenciais Todos os outros tipos de tráfego 1.000.000
9 Servidor de anúncios Programática garantida Todos os outros tipos de tráfego 1.200.000
10 Ad Exchange Leilão aberto Todos os outros tipos de tráfego 48.000.000
11 Ad Exchange Leilão aberto Acesso preferencial 100.000
12 Ad Exchange Leilão aberto Concorrência otimizada 10.000
13 Ad Exchange Leilão aberto CPM desejado 11.990.000
14 Ad Exchange Leilão privado Todos os outros tipos de tráfego 1.995.000
15 Ad Exchange Leilão privado Concorrência otimizada 5.000
Resumo e comparação

Direto

  • Transferência de dados:
    • Product = Ad Server
    • DealType é null
    • Linha 3: 40.000.000
  • Relatórios do Ad Manager:
    • Canal de demanda = "Servidor de anúncios"
    • Canal programático = "(Não relevante)"
    • Tipo de otimização = "Todos os outros tipos de tráfego"
    • Linha 7: 40.000.000

 

Transações preferenciais

  • Transferência de dados:
    • Product = Ad Server
    • DealType é Preferred Deal
    • Linha 4: 1.000.000
  • Relatórios do Ad Manager:
    • Canal de demanda = "Servidor de anúncios"
    • Canal programático = "Transações preferenciais"
    • Tipo de otimização = "Todos os outros tipos de 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 demanda = "Open Bidding"
    • Canal programático = "Transações preferenciais"
    • Tipo de otimização = "Todos os outros tipos de tráfego"
    • Linha 4: 20.000

 

Programática garantida

  • Transferência de dados:
    • Product = Ad Server
    • DealType é Programmatic Guaranteed
    • Linha 5: 1.200.000
  • Relatórios do Ad Manager:
    • Canal de demanda = "Servidor de anúncios"
    • Canal programático = "Programática garantida"
    • Tipo de otimização = "Todos os outros tipos de tráfego"
    • Linha 9: 1.200.000

 

Leilão aberto do Ad Exchange (exceto o Acesso preferencial)

  • Transferência de dados:
    • Product = Ad Exchange
    • DealType é null
    • Linha 1: 60.000.000
  • Relatórios do Ad Manager:
    • Canal de demanda = "Ad Exchange"
    • Canal programático = "Leilão aberto"
    • Tipo de otimização = "Todos os outros tráfegos", "CPM desejado", "Concorrência otimizada"
    • Total das linhas 10, 12 e 13: 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 demanda = "Ad Exchange"
    • Canal programático = "Leilão privado"
    • Tipo de otimização = "Todos os outros tipos de tráfego", "Concorrência otimizada"
    • Total das linhas 14 e 15: 1.995.000 + 5.000 = 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 demanda = "Open Bidding"
    • Canal programático = "Leilão aberto"
    • Tipo de otimização = "Todos os outros tráfegos", "CPM desejado", "Concorrência otimizada"
    • Total das linhas 1, 2 e 3: 9.000.000 + 7.000 + 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 demanda = "Open Bidding"
    • Canal programático = "Leilão privado"
    • Tipo de otimização = "Todos os outros tipos de tráfego", "Concorrência otimizada"
    • Total das linhas 5 e 6: 496.000 + 4.000 = 500.000

 

Acesso preferencial

  • Transferência de dados:
    • Product = First Look
    • DealType é null
    • Linha 9: 100.000
  • Relatórios do Ad Manager:
    • Canal de demanda = "Ad Exchange"
    • Canal programático = "Leilão aberto"
    • Tipo de otimização = "Acesso preferencial"
    • Linha 11: 100.000

Receita

Receita para um item de linha de CPM

O arquivo NetworkImpressions não contém dados de receita. No entanto, se você usa o conector do BigQuery, poderá utilizar a tabela de correspondências de itens de linha para encontrar a taxa de CPM. Caso contrário, use a API Ad Manager para encontrar essa taxa. Encontre a receita para um determinado item de linha de CPM em um período específico ao contar as impressões, multiplicar pela taxa e dividir por mil. Como a tabela de correspondências tem dados dos blocos de anúncios para todos os dias, limite essas informações a somente um deles.

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 Impressions Rate CostType Revenue
1 123456789 21.324 3,5 CPM 74,634

Receita para um item de linha de CPD

Assim como nos itens de linha de CPM, é possível usar a tabela de correspondências de itens de linha ou a API Ad Manager para encontrar a taxa de CPD de um item de linha. Como a tabela de correspondências tem dados dos blocos de anúncios para todos os dias, limite essas informações a somente um deles. Encontre a receita para um determinado item de linha de CPD ao contar o número de dias em que as impressões foram veiculadas e multiplicar pela taxa. Você pode incluir o número de impressões veiculadas 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 Days CostType Rate Revenue Impressions Average_eCPM
1 123456789 5 CPD 4.000 20.000 7.000.000 2,86

Receita para um item de linha de CPC

Assim como nos itens de linha de CPM, é possível usar a tabela de correspondências de itens de linha ou a API Ad Manager para encontrar a taxa de CPC de um item de linha. Como a tabela de correspondências tem dados dos blocos de anúncios para todos os dias, limite essas informações a somente um deles. Encontre a receita para um determinado item de linha de CPC em um período específico ao contar os cliques e multiplicar pela taxa. Você pode incluir o número de impressões veiculadas 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 Impressions cliques CTR Rate Revenue Average_eCPM
1 123456789 CPC 140.000 23 0,02 15,5 356,5 2,55

Receita para um item de linha de vCPM

Assim como nos itens de linha de CPM, é possível usar a tabela de correspondências de itens de linha ou a API Ad Manager para encontrar a taxa de vCPM de um item de linha. Como a tabela de correspondências tem dados dos blocos de anúncios para todos os dias, limite essas informações a somente um deles. Encontre a receita para um determinado item de linha de vCPM ao contar as impressões visíveis de NetworkActiveViews e multiplicar pela taxa. Você pode incluir o número de impressões veiculadas 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 Impressions ViewableImpressions Rate Revenue Average_eCPM
1 123456789 CPMAV 500.000 150.000 10 1.500 3

Receita para um anunciante

Para encontrar a receita de um determinado anunciante em um período específico, conte as impressões de cada item de linha e multiplique pela taxa. Use a tabela de correspondências de itens de linha para encontrar a taxa e a 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 Impressions Rate CostType Revenue
1 111222333 ABC 111111111 20.212 5 CPM 101,06
2 111222333 ABC 222222222 58.321 3 CPM 174,963
3 111222333 ABC 333333333 82.772 8,5 CPM 703,562
4 111222333 ABC 444444444 19.003 3,25 CPM 61,7597

Fornecimentos de códigos

Para redes com substituto ativado, a Transferência de dados conta um fornecimento de código para cada item de linha selecionado na cadeia de substitutos. Já os relatórios do Ad Manager contam um fornecimento de código somente para o primeiro item de linha selecionado na cadeia de substitutos. A Transferência de dados também conta um fornecimento de código para anúncios complementares, e os relatórios do Ad Manager não. Se você quiser alinhar o relatório da Transferência de dados ao do Ad Manager, conte os fornecimentos de códigos somente quando VideoFallbackPosition = 0 e IsCompanion for false. Os fornecimentos de códigos de mediação na Transferência de dados talvez não sejam iguais nos relatórios do Ad Manager. Dependendo da implementação, pode haver outras diferenças entre a contagem de fornecimentos de códigos na Transferência de dados e nos relatórios do Ad Manager.

Fornecimentos de códigos, impressões e taxa de renderização por item de linha para um único anunciante

Saiba com que frequência os fornecimentos de código se transformam em impressões para cada item de linha de um anunciante direto. Como estamos analisando um anunciante direto, esses fornecimentos de código vão estar somente em NetworkCodeServes, e as impressões somente 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 Impressions RenderRate
1 1111111111 6000 2.600 43,33
2 2222222222 1000000 371.200 37,12
3 3333333333 50.000 17.550 35,1
4 4444444444 800.000 275.000 34,38
5 5555555555 1.500.000 400.000 26,66

Fornecimentos de códigos, impressões e taxa de renderização por categoria de dispositivo e tamanho do criativo exibido

Inclua a categoria do dispositivo e o tamanho do criativo exibido para saber como as taxas de renderização variam para um pedido de um único 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 Impressions RenderRate
1 6666666666 Smart TV Vídeo/sobreposição 100 40 40
2 6666666666 Computador Vídeo/sobreposição 20.000 9000 45
3 6666666666 Smartphone Vídeo/sobreposição 32.000 25.000 78,13
4 6666666666 Tablet Vídeo/sobreposição 1000 800 80
5 7777777777 Smart TV 300 x 250 200 190 95
6 7777777777 Computador 300 x 250 185.000 184.000 99,46
7 7777777777 Smartphone 300 x 250 225.000 220.000 97,77
8 7777777777 Tablet 300 x 250 10.000 9.800 98
9 7777777777 Smart TV 300 x 50 50 50 100
10 7777777777 Computador 300 x 50 1000 900 90
11 7777777777 Smartphone 300 x 50 90.000 80.000 88,89
12 7777777777 Tablet 300 x 50 800 750 93,75

Visibilidade

Os dados de visibilidade podem ser encontrados nos arquivos "Impression" e "ActiveView" usando os campos ActiveViewEligibleCount, ActiveViewMeasurableCount e ActiveViewViewableCount. Leia mais sobre esses campos e como os valores são definidos.

A visibilidade de um período pode ser calculada ao somar os valores encontrados nos arquivos ou mesclar os eventos individuais e depois somar os valores. Pode haver pequenas diferenças entre essas duas estratégias, que são detalhadas abaixo.

Impressões qualificadas, mensuráveis e visíveis (total)

Encontre o número de impressões qualificadas, mensuráveis e visíveis para um determinado dia. Como observado acima, os arquivos "Impression" e "ActiveView" precisam ser usados.

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 97.000.000 95.000.000 60.000.000

Impressões qualificadas, mensuráveis e visíveis (por mesclagem)

Encontre o número de impressões qualificadas, mensuráveis e visíveis em um determinado dia ao mesclar os eventos individuais nos arquivos "Impression" e "ActiveView" e depois somar os valores. Em alguns casos raros, recebemos um ping de impressão visível do Active View, mas não um de impressão. Ao mesclar os dados dos arquivos "Active View" e "Impression", talvez você note discrepâncias nas impressões mensuráveis e menos impressões visíveis em relação à primeira consulta, conforme mostrado 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 97.000.000 95.000.000 59.900.000

Chaves-valor

Uso das chaves

Saiba com que frequência cada uma das suas chaves está presente em uma solicitação de anúncio (aparece em CustomTargeting) e com que frequência essa chave foi usada para veicular um item de linha (aparece em TargetedCustomCriteria). As chaves ativas que não aparecem nos resultados ou que são usadas com pouca frequência podem ser boas opções para o arquivamento. Assim, você fica abaixo do 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 Key KeyUsageCount KeyTargetedCount
1 key_abc 10.000.000 1000000
2 key_def 25.000.000 5.000.000
3 key_ghi 40.000 2000
4 key_jkl 300.000 12000
5 key_mno 100.000 1000

Lances de parceiros

Encontre a frequência com que cada parceiro dá lances ao extrair os lances de CustomTargeting. No exemplo abaixo, o nome de cada parceiro deve começar com "bidder_prefix_", como "bidder_prefix_partnername", e o lance desse parceiro deve estar 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 Bidder BidCount
1 bidder_prefix_partner_1 15.000.000
2 bidder_prefix_partner_2 12.000.000
3 bidder_prefix_partner_3 9.000.000
4 bidder_prefix_partner_4 6.000.000
5 bidder_prefix_partner_5 3.000.000

Valores e contagem de lances para um único parceiro

Para um único parceiro, 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 chamado "bidder_partner" (impressões em que CustomTargeting contém a chave "bidder_partner" configurada com 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 600.000
2 0,02 500.000
3 0,05 400.000
4 0,07 300.000
5 0,09 200.000
6 0,03 150.000
7 0,08 100.000
8 0,04 75.000
9 0,10 50.000
10 0,06 25.000

Contagem e média de lances

Encontre o número total e a média de lances nas tabelas de impressões para todos os parceiros. No exemplo abaixo, o nome de cada parceiro deve começar com "bidder_prefix_", como "bidder_prefix_partnername", e o lance desse parceiro deve estar 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 Bidder BidCount AverageBid
1 bidder_prefix_partner_1 15.000.000 0,21
2 bidder_prefix_partner_2 12.000.000 1,43
3 bidder_prefix_partner_3 9.000.000 2,67
4 bidder_prefix_partner_4 6.000.000 6,80
5 bidder_prefix_partner_5 3.000.000 0,92

Contagem de segmentos de DMP

As plataformas de gerenciamento de dados geralmente transmitem os segmentos a que um usuário pertence como pares de chave-valor. Saiba com que frequência esses segmentos aparecem nas solicitações de anúncios — quantas impressões estavam qualificadas para a segmentação de cada segmento. Extraia os IDs de segmento de "CustomTargeting". No exemplo abaixo, o nome da chave deve ser "seg", e os valores precisam ser 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 Segment Count
1 abcd1234 10.000.000
2 efgh5678 9.000.000
3 ijkl9012 8.000.000
4 mnop3456 7.000.000
5 qrst7890 6.000.000
6 uvwx1234 5.000.000
7 yzab5678 4.000.000
8 cdef9012 3.000.000
9 ghij3456 2.000.000
10 klmn7890 1000000

Vídeo

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

Para resolver erros significativos nos itens de linha de vídeo, talvez seja necessário encontrar a página e/ou o espaço do anúncio na página que é a principal responsável pelos erros. Use NetworkVideoConversions para encontrar os erros por item de linha (em que ActionName contém "error"). Se você tiver mais de um player de vídeo em uma página, os players usarem o mesmo bloco de anúncios e você utilizar uma chave como "pos" para diferenciar os blocos de anúncios em uma página, extraia esse valor pos de CustomTargeting. No exemplo abaixo, o nome dessa chave deve ser "pos". São mostradas as cinco principais combinações de RefererURL, AdUnitID e Position responsáveis pelos erros de um único item de linha 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 Position ErrorCount
1 https://example.com/ 11111111 superior 2000
2 https://example.com/url/a 22222222 superior 1.500
3 https://example.com/url/b 22222222 superior 1.400
4 https://example.com/url/c 11111111 superior 1000
5 https://example.com/url/c 11111111 inferior 500

Isso foi útil?

Como podemos melhorá-lo?
Pesquisa
Limpar pesquisa
Fechar pesquisa
Menu principal
4958124555632484290
true
Pesquisar na Central de Ajuda
true
true
true
true
true
148
false
false