Questo articolo contiene esempi di come creare query per i report Data Transfer di Ad Manager. Scopri di più sui file Data Transfer, incluso come iniziare a riceverli.
Tieni presente che in precedenza questo articolo era intitolato "Data Transfer Cookbook".
Impressioni inevase
Impressioni inevase da NetworkImpressions
Per trovare il numero di impressioni inevase per un giorno, esegui una query su NetworkImpressions
per le voci in cui LineItemID
è 0
. Non esistono impressioni inevase in NetworkBackfillImpressions
.
Codice
SELECT COUNT(1) AS UnfilledImpressions FROM NetworkImpressions WHERE LineItemID = 0 AND Time >= ‘2020-01-01’ AND Time < ‘2020-01–02’
Risultati
Riga | UnfilledImpressions |
1 | 20.000.000 |
Impressioni inevase da NetworkRequests
Puoi anche trovare il numero di impressioni inevase eseguendo una query su NetworkRequests
. Cerca le richieste in cui IsFilledRequest
è falso. Non esistono impressioni inevase in NetworkBackfillRequests
.
Codice
SELECT COUNT(1) AS UnfilledImpressions FROM NetworkRequests WHERE NOT IsFilledRequest AND Time >= '2020-01-01' AND Time < '2020-01-02'
Risultati
Riga | UnfilledImpressions |
1 | 20.000.000 |
Impressioni inevase per URL
I report di Ad Manager possono mostrare le impressioni inevase per unità pubblicitaria o dimensione richiesta, ma non per URL. Includi RefererURL
per trovare le prime dieci pagine che generano impressioni inevase.
Codice
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
Risultati
Riga | 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 |
Impressioni inevase per unità pubblicitaria
Individua le unità pubblicitarie responsabili delle impressioni più inevase in una singola pagina. Se utilizzi il connettore BigQuery, utilizza la Tabella delle corrispondenze delle unità pubblicitarie per trovare il nome delle unità pubblicitarie. Poiché la tabella delle corrispondenze contiene dati relativi a unità pubblicitarie per ogni giorno, assicurati di limitare i dati a una sola giornata.
Codice
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
Risultati
Riga | AdUnitID |
AdUnitName |
UnfilledImpressions |
1 | 95730695 | Nome dell'ultimo livello A | 1.123.439 |
2 | 95033015 | Nome dell'ultimo livello B | 1.116.622 |
3 | 95033615 | Nome dell'ultimo livello C | 1.102.641 |
4 | 95049575 | Nome dell'ultimo livello D | 772.235 |
5 | 95734535 | Nome dell'ultimo livello E | 744.777 |
6 | 95584895 | Nome dell'ultimo livello F | 27.593 |
7 | 95045255 | Nome dell'ultimo livello G | 7482 |
8 | 95343215 | Nome dell'ultimo livello H | 1925 |
9 | 94977215 | Nome dell'ultimo livello I | 19 |
10 | 95033375 | Nome dell'ultimo livello J | 12 |
Impressioni
Impressioni per Product
e DealType
Utilizza i campi Product
e DealType
in Data Transfer per generare report paragonabili ai report di Ad Manager che utilizzano le dimensioni "Canale di domanda", "Canale programmatico" e "Tipo di ottimizzazione". Seleziona le impressioni da NetworkImpressions
(dove LineItemID
non è zero) e da NetworkBackfillImpressions
.
Codice
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
Risultati
Riga | Product |
DealType |
Conteggio |
1 | Ad Exchange | null | 60.000.000 |
2 | Ad Exchange | Asta privata | 2.000.000 |
3 | Ad server | null | 40.000.000 |
4 | Ad server | Preferred deal | 1.000.000 |
5 | Ad server | Pubblicità programmatica garantita | 1.200.000 |
6 | Offerte della piattaforma di scambio | null | 15.000.000 |
7 | Offerte della piattaforma di scambio | Preferred deal | 20.000 |
8 | Offerte della piattaforma di scambio | Asta privata | 500.000 |
9 | Primo sguardo | null | 100.000 |
Parametri del report
Crea un report in Ad Manager utilizzando la stessa data. Scegli le seguenti dimensioni e metriche:
- Dimensioni:
- Canale di domanda
- Canale programmatico
- Tipo di ottimizzazione
- Metriche:
- Impressioni totali
- Impressioni totali
Risultati
Riga | Canale di domanda | Canale programmatico | Tipo di ottimizzazione | Impressioni totali |
1 | Open Bidding | Asta aperta | Tutto il resto del traffico | 9.000.000 |
2 | Open Bidding | Asta aperta | Concorrenza ottimizzata | 7000 |
3 | Open Bidding | Asta aperta | CPM Target | 5.993.000 |
4 | Open Bidding | Preferred deal | Tutto il resto del traffico | 20.000 |
5 | Open Bidding | Asta privata | Tutto il resto del traffico | 496.000 |
6 | Open Bidding | Asta privata | Concorrenza ottimizzata | 4000 |
7 | Ad server | (non applicabile) | Tutto il resto del traffico | 40.000.000 |
8 | Ad server | Preferred deal | Tutto il resto del traffico | 1.000.000 |
9 | Ad server | Pubblicità programmatica garantita | Tutto il resto del traffico | 1.200.000 |
10 | Ad Exchange | Asta aperta | Tutto il resto del traffico | 48.000.000 |
11 | Ad Exchange | Asta aperta | Primo sguardo | 100.000 |
12 | Ad Exchange | Asta aperta | Concorrenza ottimizzata | 10.000 |
13 | Ad Exchange | Asta aperta | CPM Target | 11.990.000 |
14 | Ad Exchange | Asta privata | Tutto il resto del traffico | 1.995.000 |
15 | Ad Exchange | Asta privata | Concorrenza ottimizzata | 5000 |
Diretto
- Data Transfer:
Product
=Ad Server
DealType
ènull
- Riga 3: 40.000.000
- Reporting di Ad Manager:
- Canale di domanda = "Ad server"
- Canale programmatico = "(Non applicabile)"
- Tipo di ottimizzazione = "Tutto il resto del traffico"
- Riga 7: 40.000.000
Preferred deal
- Data Transfer:
Product
=Ad Server
DealType
èPreferred Deal
- Riga 4: 1.000.000
- Reporting di Ad Manager:
- Canale di domanda = "Ad server"
- Canale programmatico = "Preferred deal"
- Tipo di ottimizzazione = "Tutto il resto del traffico"
- Riga 8: 1.000.000
- Data Transfer:
Product
=Exchange Bidding
DealType
èPreferred Deal
- Riga 7: 20.000
-
- Reporting di Ad Manager:
- Canale di domanda = "Open Bidding"
- Canale programmatico = "Preferred deal"
- Tipo di ottimizzazione = "Tutto il resto del traffico"
- Riga 4: 20.000
Pubblicità programmatica garantita
- Data Transfer:
Product
=Ad Server
DealType
èProgrammatic Guaranteed
- Riga 5: 1.200.000
- Reporting di Ad Manager:
- Canale di domanda = "Ad server"
- Canale programmatico = "Pubblicità programmatica garantita"
- Tipo di ottimizzazione = "Tutto il resto del traffico"
- Riga 9: 1.200.000
Asta aperta di Ad Exchange (esclusa la funzionalità Primo sguardo)
- Data Transfer:
Product
=Ad Exchange
DealType
ènull
- Riga 1: 60.000.000
- Reporting di Ad Manager:
- Canale di domanda = "Ad Exchange"
- Canale programmatico = "Asta aperta"
- Tipo di ottimizzazione = "Tutto il resto del traffico", "CPM target", "Concorrenza ottimizzata"
- Totale Riga 10, Riga 12 e Riga 13: 48.000.000 + 10.000 + 11.990.000 = 60.000.000
Asta privata di Ad Exchange
- Data Transfer:
Product
=Ad Exchange
DealType
èPrivate Auction
- Riga 2: 2.000.000
- Reporting di Ad Manager:
- Canale di domanda = "Ad Exchange"
- Canale programmatico = "Asta privata"
- Tipo di ottimizzazione = "Tutto il resto del traffico", "Concorrenza ottimizzata"
- Totale Riga 14 e Riga 15: 1.995.000 + 5000 = 2.000.000
Asta aperta di Open Bidding
- Data Transfer:
Product
=Exchange Bidding
DealType
ènull
- Riga 6: 15.000.000
- Reporting di Ad Manager:
- Canale di domanda = "Open Bidding"
- Canale programmatico = "Asta aperta"
- Tipo di ottimizzazione = "Tutto il resto del traffico", "CPM target", "Concorrenza ottimizzata"
- Totale Riga 1, Riga 2 e Riga 3: 9.000.000 + 7000 + 5.993.000 = 15.000.000
Asta privata di Open Bidding
- Data Transfer:
Product
=Exchange Bidding
DealType
èPrivate Auction
- Riga 8: 500.000
- Reporting di Ad Manager:
- Canale di domanda = "Open Bidding"
- Canale programmatico = "Asta privata"
- Tipo di ottimizzazione = "Tutto il resto del traffico", "Concorrenza ottimizzata"
- Totale Riga 5 e Riga 6: 496.000 + 4000 = 500.000
Primo sguardo
- Data Transfer:
Product
=First Look
DealType
ènull
- Riga 9: 100.000
- Reporting di Ad Manager:
- Canale di domanda = "Ad Exchange"
- Canale programmatico = "Asta aperta"
- Tipo di ottimizzazione = "Primo sguardo"
- Riga 11: 100.000
Entrate
Entrate per un elemento pubblicitario CPM
Il file NetworkImpressioni
non contiene dati sulle entrate, ma se utilizzi il connettore BigQuery, puoi utilizzare la tabella delle corrispondenze degli elementi pubblicitari per trovare la tariffa CPM. In caso contrario, usa l'API Ad Manager per trovare la tariffa di un elemento pubblicitario. Per trovare le entrate per un determinato elemento pubblicitario CPM per un determinato intervallo di date, conta il numero di impressioni, moltiplicando per la tariffa e dividendo il risultato per 1000. Poiché la tabella delle corrispondenze contiene dati relativi a unità pubblicitarie per ogni giorno, assicurati di limitare i dati a una sola giornata.
Codice
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'
Risultati
Riga | LineItemID |
Impressions |
Rate |
CostType |
Revenue |
1 | 123456789 | 21.324 | 3,5 | CPM | 74.634 |
Entrate per un elemento pubblicitario CPD
Come per gli elementi pubblicitari CPM, puoi utilizzare la tabella delle corrispondenze degli elementi pubblicitari o l'API Ad Manager per trovare la tariffa CPD di un elemento pubblicitario. Poiché la tabella delle corrispondenze contiene dati relativi a unità pubblicitarie per ogni giorno, assicurati di limitare i dati a una sola giornata. Per trovare le entrate relative a un determinato elemento pubblicitario CPD, conta il numero di giorni in cui le impressioni sono state pubblicate e moltiplica per la tariffa. Potresti includere il numero di impressioni pubblicate per trovare l'eCPM medio.
Codice
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
Risultati
Riga | LineItemID |
Days |
CostType |
Rate |
Revenue |
Impressions |
Average_eCPM |
1 | 123456789 | 5 | CPD | 4000,0 | 20000,0 | 7.000.000 | 2,86 |
Entrate per un elemento pubblicitario CPC
Come per gli elementi pubblicitari CPM, puoi utilizzare la tabella delle corrispondenze degli elementi pubblicitari o l'API Ad Manager per trovare la tariffa CPC di un elemento pubblicitario. Poiché la tabella delle corrispondenze contiene dati relativi a unità pubblicitarie per ogni giorno, assicurati di limitare i dati a una sola giornata. Per trovare le entrate per un determinato elemento pubblicitario CPC in un determinato intervallo di date, conteggia i clic e moltiplica per la tariffa. Potresti includere il numero di impressioni pubblicate per trovare l'eCPM medio.
Codice
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)
Risultati
Riga | LineItemID |
CostType |
Impressions |
Clic |
CTR |
Rate |
Revenue |
Average_eCPM |
1 | 123456789 | CPC | 140.000 | 23 | 0,02 | 15,5 | 356,5 | 2,55 |
Entrate per un elemento pubblicitario vCPM
Come per gli elementi pubblicitari CPM, puoi utilizzare la tabella delle corrispondenze degli elementi pubblicitari o l'API Ad Manager per trovare la tariffa vCPM di un elemento pubblicitario. Poiché la tabella delle corrispondenze contiene dati relativi a unità pubblicitarie per ogni giorno, assicurati di limitare i dati a una sola giornata. Per trovare le entrate relative a un determinato elemento pubblicitario vCPM, conteggia le impressioni visibili da NetworkActiveViews
e moltiplicale per la tariffa. Potresti includere il numero di impressioni pubblicate per trovare l'eCPM medio.
Codice
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'
Risultati
Riga | LineItemID |
CostType |
Impressions |
ViewableImpressions |
Rate |
Revenue |
Average_eCPM |
1 | 123456789 | CPMAV | 500.000 | 150.000 | 10 | 1500,0 | 3,0 |
Entrate per un inserzionista
Per trovare le entrate per un determinato inserzionista in un determinato intervallo di date, conteggia le impressioni per ciascun elemento pubblicitario e moltiplica per la tariffa. Utilizza la tabella delle corrispondenze dell'elemento pubblicitario per trovare il tasso e la tabella delle corrispondenze dell'azienda per trovare il nome dell'inserzionista.
Codice
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'
Risultati
Riga | AdvertiserID |
CompanyName |
LineItemID |
Impressions |
Rate |
CostType |
Revenue |
1 | 111222333 | ABC | 111111111 | 20.212 | 5,0 | CPM | 101.060 |
2 | 111222333 | ABC | 222222222 | 58.321 | 3,0 | CPM | 174.963 |
3 | 111222333 | ABC | 333333333 | 82.772 | 8,5 | CPM | 703.562 |
4 | 111222333 | ABC | 444444444 | 19.003 | 3,25 | CPM | 61.759 |
Pubblicazioni del codice
Per le reti con la funzionalità di riserva attivata, Data Transfer conteggia la pubblicazione del codice per ogni elemento pubblicitario di riserva, mentre il reporting di Ad Manager conteggia la pubblicazione del codice solo per il primo elemento pubblicitario selezionato nella catena di riserva. A differenza di Ad Manager, Data Transfer conteggia anche la pubblicazione del codice per gli annunci companion. Se vuoi che il report Data Transfer corrisponda il più possibile al report di Ad Manager, conteggia solo le pubblicazioni in cui VideoFallbackPosition = 0
e IsCompanion
è false
. Le pubblicazioni del codice di mediazione in Data Transfer potrebbero non corrispondere alle pubblicazioni del codice di mediazione nel reporting di Ad Manager. A seconda dell'implementazione, potrebbero esserci altre differenze tra i conteggi della pubblicazione del codice nel reporting di Data Transfer e di Ad Manager.
Pubblicazioni del codice, impressioni e percentuale di rendering per elemento pubblicitario per un singolo inserzionista
Scopri con quale frequenza le pubblicazioni del codice si trasformano in impressioni per ogni elemento pubblicitario di un inserzionista diretto. Poiché stiamo esaminando un inserzionista diretto, queste pubblicazioni del codice saranno solo in NetworkCodeServes
e le impressioni saranno solo in NetworkImpressions
.
Codice
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
Risultati
Riga | LineItemID |
CodeServes |
Impressions |
RenderRate |
1 | 1111111111 | 6000 | 2600 | 43,33 |
2 | 2222222222 | 1.000.000 | 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 |
Pubblicazioni del codice, impressioni e percentuale di rendering per categoria di dispositivo e dimensioni della creatività pubblicate
Includi la categoria del dispositivo e le dimensioni della creatività pubblicate per vedere come variano le percentuali di rendering per un ordine di un inserzionista.
Codice
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
Risultati
Riga | LineItemID |
DeviceCategory |
CreativeSizeDelivered |
CodeServes |
Impressions |
RenderRate |
1 | 6666666666 | TV connessa a internet | Video/Overlay | 100 | 40 | 40,0 |
2 | 6666666666 | Computer | Video/Overlay | 20.000 | 9000 | 45,0 |
3 | 6666666666 | Smartphone | Video/Overlay | 32.000 | 25.000 | 78,13 |
4 | 6666666666 | Tablet | Video/Overlay | 1000 | 800 | 80,0 |
5 | 7777777777 | TV connessa a internet | 300 x 250 | 200 | 190 | 95,0 |
6 | 7777777777 | Computer | 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 | 10000 | 9800 | 98,0 |
9 | 7777777777 | TV connessa a internet | 300 x 50 | 50 | 50 | 100,0 |
10 | 7777777777 | Computer | 300 x 50 | 1000 | 900 | 90,0 |
11 | 7777777777 | Smartphone | 300 x 50 | 90.000 | 80.000 | 88,89 |
12 | 7777777777 | Tablet | 300 x 50 | 800 | 750 | 93,75 |
Visibilità
I dati sulla visibilità sono disponibili nei file di Impressioni e Visualizzazione attiva, tramite i campi ActiveViewEligibleCount
, ActiveViewMeasurableCount
e ActiveViewViewableCount
. Scopri di più su questi campi e su come vengono impostati i relativi valori.
La visibilità di un periodo di tempo può essere calcolata sommando i valori trovati nei file o unendo i singoli eventi e poi sommando i valori. Potrebbero esserci delle piccole differenze tra queste due strategie, descritte di seguito.
Impressioni idonee, impressioni misurabili e impressioni visibili (in totale)
Trova il numero di impressioni idonee, misurabili e visualizzabili per un determinato giorno. Come indicato in precedenza, devono essere utilizzati i file delle impressioni e quelli di Visualizzazione attiva.
Codice
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
Risultati
Riga | EligibleImpressions |
MeasurableImpressions |
ViewableImpressions |
1 | 97.000.000 | 95.000.000 | 60.000.000 |
Impressioni idonee, impressioni misurabili e impressioni visibili (per impressione unita)
Trova il numero di impressioni idonee, misurabili e visibili per un determinato giorno unendo i singoli eventi nei file di Impressioni e nei file ActiveView, quindi calcolando il totale dei valori. In rari casi, abbiamo ricevuto un ping visibile con Visualizzazione attiva, ma non un ping relativo alle impressioni. Quando unisci i dati di Visualizzazione attiva ai dati delle Impressioni, potresti notare differenze nelle impressioni misurabili e meno impressioni visibili rispetto alla prima query, mostrata sopra.
Codice
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
Risultati
Riga | EligibleImpressions |
MeasurableImpressions |
ViewableImpressions |
1 | 97.000.000 | 95.000.000 | 59.900.000 |
Coppie chiave-valore
Utilizzo della chiave
Scopri con quale frequenza ciascuna chiave viene mostrata in una richiesta di annuncio (viene visualizzata in CustomTargeting
) e con quale frequenza è stata utilizzata per pubblicare un elemento pubblicitario (viene visualizzata in TargetedCustomCriteria
). Le chiavi attive che non vengono visualizzate nei risultati o che vengono utilizzate raramente potrebbero essere idonee all'archiviazione per rimanere al di sotto del limite di chiavi.
Codice
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
Risultati
Riga | Key |
KeyUsageCount |
KeyTargetedCount |
1 | key_abc | 10.000.000 | 1.000.000 |
2 | key_def | 25.000.000 | 5.000.000 |
3 | key_ghi | 40.000 | 2000 |
4 | key_jkl | 300.000 | 12.000 |
5 | key_mno | 100.000 | 1000 |
Offerte per partner di asta
Per conoscere la frequenza con cui ciascuno dei tuoi partner fa offerte, estrai le offerte da CustomTargeting
. L'esempio riportato di seguito prevede che il nome di ogni partner inizi con "bidder_prefix_
" come in "bidder_prefix_partnername
e prevede che un'offerta per quel partner sia nel formato "bidder_prefix_partnername=1.23
".
Codice
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
Risultati
Riga | 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 |
Valori delle offerte e conteggi per un singolo partner di offerta
Per un singolo partner di offerta, trova i valori delle offerte più comuni e la frequenza di ciascuna offerta. Nell'esempio riportato di seguito, seleziona le 10 offerte più comuni dalle tabelle delle impressioni per il partner denominato "bidder_partner
" (impressioni in cui CustomTargeting
contiene la chiave "bidder_partner
" impostata su un prezzo dell'offerta, ad esempio "1.23
").
Codice
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
Risultati
Riga | 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 | 75000 |
9 | 0,10 | 50.000 |
10 | 0,06 | 25.000 |
Conteggio delle offerte e offerte medie
Individua il numero totale di offerte e l'offerta media nelle tabelle delle impressioni di tutti i partner di asta. L'esempio riportato di seguito prevede che il nome di ogni partner inizi con "bidder_prefix_
" come in "bidder_prefix_partnername
e prevede che un'offerta per quel partner sia nel formato "bidder_prefix_partnername=1.23
".
Codice
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
Risultati
Riga | 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 |
Conteggio segmenti DMP
Le piattaforme di gestione dei dati spesso trasmettono i segmenti a cui un utente appartiene sotto forma di coppie chiave-valore. Scopri la frequenza con cui questi segmenti vengono visualizzati nelle richieste di annunci, ovvero quante impressioni erano idonee per il targeting per ogni segmento. Estrai gli ID segmento da CustomTargeting. L'esempio seguente prevede che il nome della chiave sia "seg" e i valori siano costituiti da lettere e numeri.
Codice
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
Risultati
Riga | 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 | 1.000.000 |
Video
Errori video per URL, ID unità pubblicitaria e posizione
Per risolvere i problemi relativi agli elementi pubblicitari video che contengono errori significativi, potresti dover trovare la pagina e/o l'area annuncio nella pagina che ne è maggiormente responsabile. Utilizza NetworkVideoConversions
per trovare errori per elemento pubblicitario (dove ActionName
contiene "error
"). Se in una pagina sono presenti più video player, i player utilizzano la stessa unità pubblicitaria e utilizzi una chiave come "pos
" per distinguere le unità pubblicitarie in una pagina, estrai il valore pos
da CustomTargeting
. L'esempio seguente prevede che il nome di questa chiave sia "pos
" e mostri le prime cinque combinazioni di RefererURL
, AdUnitID
e Position
responsabile di errori nei confronti di un singolo elemento pubblicitario video.
Codice
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
Risultati
Riga | RefererURL |
AdUnitID |
Position |
ErrorCount |
1 | https://example.com/ | 11111111 | superiore | 2000 |
2 | https://example.com/url/a | 22222222 | superiore | 1500 |
3 | https://example.com/url/b | 22222222 | superiore | 1400 |
4 | https://example.com/url/c | 11111111 | superiore | 1000 |
5 | https://example.com/url/c | 11111111 | inferiore | 500 |