Artikel ini berisi contoh cara membuat kueri untuk laporan Transfer Data Ad Manager. Pelajari file Transfer Data lebih lanjut, termasuk cara mulai menerimanya.
Perhatikan bahwa artikel ini sebelumnya disebut "Cookbook Transfer Data".
Tayangan iklan tidak terisi
Tayangan iklan tidak terisi dari NetworkImpressions
Untuk menemukan jumlah tayangan iklan tidak terisi dalam satu hari, buat kueri NetworkImpressions
untuk entri yang menetapkan LineItemID
sebagai 0
. Tidak ada tayangan iklan tidak terisi di NetworkBackfillImpressions
.
Kode
SELECT COUNT(1) AS UnfilledImpressions FROM NetworkImpressions WHERE LineItemID = 0 AND Time >= ‘2020-01-01’ AND Time < ‘2020-01–02’
Hasil
Baris | UnfilledImpressions |
1 | 20000000 |
Tayangan iklan tidak terisi dari NetworkRequests
Anda juga dapat menemukan jumlah tayangan iklan tidak terisi dengan membuat kueri NetworkRequests
. Cari permintaan dengan IsFilledRequest
false. Tidak ada tayangan iklan tidak terisi di NetworkBackfillRequests
.
Kode
SELECT COUNT(1) AS UnfilledImpressions FROM NetworkRequests WHERE NOT IsFilledRequest AND Time >= '2020-01-01' AND Time < '2020-01-02'
Hasil
Baris | UnfilledImpressions |
1 | 20000000 |
Tayangan iklan tidak terisi menurut URL
Pelaporan Ad Manager dapat menampilkan tayangan iklan tidak terisi menurut unit iklan atau ukuran yang diminta, tetapi tidak menurut URL. Sertakan RefererURL
untuk membantu Anda menemukan sepuluh halaman teratas yang menghasilkan tayangan iklan tidak terisi.
Kode
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
Hasil
Baris | 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 |
Tayangan iklan tidak terisi menurut unit iklan
Temukan unit iklan yang bertanggung jawab atas tayangan iklan tidak terisi yang paling banyak di satu halaman. Jika Anda menggunakan BigQuery Connector, gunakan Tabel Pencocokan Unit Iklan untuk menemukan nama unit iklan. Karena tabel pencocokan berisi data unit iklan untuk setiap hari, pastikan Anda membatasi data tabel pencocokan menjadi satu hari.
Kode
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
Hasil
Baris | AdUnitID |
AdUnitName |
UnfilledImpressions |
1 | 95730695 | Nama level terakhir A | 1123439 |
2 | 95033015 | Nama level terakhir B | 1116622 |
3 | 95033615 | Nama level terakhir C | 1102641 |
4 | 95049575 | Nama level terakhir D | 772235 |
5 | 95734535 | Nama level terakhir E | 744777 |
6 | 95584895 | Nama level terakhir F | 27593 |
7 | 95045255 | Nama level terakhir G | 7482 |
8 | 95343215 | Nama level terakhir H | 1925 |
9 | 94977215 | Nama level terakhir I | 19 |
10 | 95033375 | Nama level terakhir J | 12 |
Tayangan iklan
Tayangan iklan menurut Product
dan DealType
Gunakan kolom Product
dan DealType
di Transfer Data untuk membuat laporan yang sebanding dengan laporan Ad Manager yang menggunakan dimensi "Saluran permintaan", "Saluran terprogram", dan "Jenis pengoptimalan". Pilih tayangan iklan dari NetworkImpressions
(dengan LineItemID
bukan nol) dan NetworkBackfillImpressions
.
Kode
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
Hasil
Baris | Product |
DealType |
Jumlah |
1 | Ad Exchange | null | 60000000 |
2 | Ad Exchange | Lelang pribadi | 2000000 |
3 | Server Iklan | null | 40000000 |
4 | Server Iklan | Transaksi pilihan | 1000000 |
5 | Server Iklan | Dijamin terprogram | 1200000 |
6 | Bidding Bursa | null | 15000000 |
7 | Bidding Bursa | Transaksi pilihan | 20000 |
8 | Bidding Bursa | Lelang pribadi | 500000 |
9 | Tampilan Pertama | null | 100000 |
Parameter laporan
Jalankan laporan di Pelaporan Ad Manager menggunakan tanggal yang sama. Pilih dimensi dan metrik berikut:
- Dimensi:
- Saluran permintaan
- Saluran terprogram
- Jenis pengoptimalan
- Metrik:
- Total tayangan iklan
- Total tayangan iklan
Hasil
Baris | Saluran permintaan | Saluran terprogram | Jenis pengoptimalan | Total tayangan iklan |
1 | Bidding Terbuka | Lelang Terbuka | Semua Traffic Lainnya | 9.000.000 |
2 | Bidding Terbuka | Lelang Terbuka | Persaingan yang Dioptimalkan | 7.000 |
3 | Bidding Terbuka | Lelang Terbuka | Target CPM | 5.993.000 |
4 | Bidding Terbuka | Transaksi Pilihan | Semua Traffic Lainnya | 20.000 |
5 | Bidding Terbuka | Lelang Pribadi | Semua Traffic Lainnya | 496.000 |
6 | Bidding Terbuka | Lelang Pribadi | Persaingan yang Dioptimalkan | 4.000 |
7 | Server iklan | (tidak berlaku) | Semua Traffic Lainnya | 40.000.000 |
8 | Server iklan | Transaksi Pilihan | Semua Traffic Lainnya | 1.000.000 |
9 | Server iklan | Dijamin Terprogram | Semua Traffic Lainnya | 1.200.000 |
10 | Ad Exchange | Lelang Terbuka | Semua Traffic Lainnya | 48.000.000 |
11 | Ad Exchange | Lelang Terbuka | Tampilan Pertama | 100.000 |
12 | Ad Exchange | Lelang Terbuka | Persaingan yang Dioptimalkan | 10.000 |
13 | Ad Exchange | Lelang Terbuka | Target CPM | 11.990.000 |
14 | Ad Exchange | Lelang Pribadi | Semua Traffic Lainnya | 1.995.000 |
15 | Ad Exchange | Lelang Pribadi | Persaingan yang Dioptimalkan | 5.000 |
Langsung
- Transfer Data:
Product
=Ad Server
(Server Iklan)DealType
adalahnull
- Baris 3: 40.000.000
- Pelaporan Ad Manager:
- Saluran permintaan = "Server iklan"
- Saluran terprogram = "(Tidak berlaku)"
- Jenis pengoptimalan = "Semua Traffic Lainnya"
- Baris 7: 40.000.000
Transaksi Pilihan
- Transfer Data:
Product
=Ad Server
(Server Iklan)DealType
adalahPreferred Deal
(Transaksi Pilihan)- Baris 4: 1.000.000
- Pelaporan Ad Manager:
- Saluran permintaan = "Server iklan"
- Saluran terprogram = "Transaksi Pilihan"
- Jenis pengoptimalan = "Semua Traffic Lainnya"
- Baris 8: 1.000.000
- Transfer Data:
Product
=Exchange Bidding
(Bidding Bursa)DealType
adalahPreferred Deal
(Transaksi Pilihan)- Baris 7: 20.000
-
- Pelaporan Ad Manager:
- Saluran permintaan = "Bidding Terbuka"
- Saluran terprogram = "Transaksi Pilihan"
- Jenis pengoptimalan = "Semua Traffic Lainnya"
- Baris 4: 20.000
Dijamin Terprogram
- Transfer Data:
Product
=Ad Server
(Server Iklan)DealType
adalahProgrammatic Guaranteed
(Dijamin Terprogram)- Baris 5: 1.200.000
- Pelaporan Ad Manager:
- Saluran permintaan = "Server iklan"
- Saluran terprogram = "Dijamin Terprogram"
- Jenis pengoptimalan = "Semua Traffic Lainnya"
- Baris 9: 1.200.000
Lelang Terbuka Ad Exchange (tidak termasuk Tampilan Pertama)
- Transfer Data:
Product
=Ad Exchange
DealType
adalahnull
- Baris 1: 60.000.000
- Pelaporan Ad Manager:
- Saluran permintaan = "Ad Exchange"
- Saluran terprogram = "Lelang Terbuka"
- Jenis pengoptimalan = "Semua Traffic Lainnya", "Target CPM", "Persaingan yang Dioptimalkan"
- Total Baris 10, Baris 12, dan Baris 13: 48.000.000 + 10.000 + 11.990.000 = 60.000.000
Lelang Pribadi Ad Exchange
- Transfer Data:
Product
=Ad Exchange
DealType
adalahPrivate Auction
(Lelang Pribadi)- Baris 2: 2.000.000
- Pelaporan Ad Manager:
- Saluran permintaan = "Ad Exchange"
- Saluran terprogram = "Lelang Pribadi"
- Jenis pengoptimalan = "Semua Traffic Lainnya", "Persaingan yang Dioptimalkan"
- Total Baris 14 dan Baris 15: 1.995.000 + 5.000 = 2.000.000
Lelang Terbuka Bidding Terbuka
- Transfer Data:
Product
=Exchange Bidding
(Bidding Bursa)DealType
adalahnull
- Baris 6: 15.000.000
- Pelaporan Ad Manager:
- Saluran permintaan = "Bidding Terbuka"
- Saluran terprogram = "Lelang Terbuka"
- Jenis pengoptimalan = "Semua Traffic Lainnya", "Target CPM", "Persaingan yang Dioptimalkan"
- Total Baris 1, Baris 2, dan Baris 3: 9.000.000 + 7.000 + 5.993.000 = 15.000.000
Lelang Pribadi Bidding Terbuka
- Transfer Data:
Product
=Exchange Bidding
(Bidding Bursa)DealType
adalahPrivate Auction
(Lelang Pribadi)- Baris 8: 500.000
- Pelaporan Ad Manager:
- Saluran permintaan = "Bidding Terbuka"
- Saluran terprogram = "Lelang Pribadi"
- Jenis pengoptimalan = "Semua Traffic Lainnya", "Persaingan yang Dioptimalkan"
- Total Baris 5 dan Baris 6: 496.000 + 4.000 = 500.000
Tampilan Pertama
- Transfer Data:
Product
=First Look
(Tampilan Pertama)DealType
adalahnull
- Baris 9: 100.000
- Pelaporan Ad Manager:
- Saluran permintaan = "Ad Exchange"
- Saluran terprogram = "Lelang Terbuka"
- Jenis pengoptimalan = "Tampilan Pertama"
- Baris 11: 100.000
Pendapatan
Pendapatan untuk item baris CPM
File NetworkImpressions
tidak berisi data pendapatan. Namun, jika Anda menggunakan BigQuery Connector, Anda dapat menggunakan Tabel Pencocokan Item Baris untuk menemukan tarif CPM. Jika tidak, gunakan Ad Manager API untuk menemukan tarif item baris. Temukan pendapatan untuk item baris CPM tertentu dalam rentang tanggal tertentu dengan menghitung tayangan iklan, lalu jumlah tersebut dikalikan dengan tarifnya dan dibagi 1.000. Karena tabel pencocokan berisi data unit iklan untuk setiap hari, pastikan Anda membatasi data tabel pencocokan menjadi satu hari.
Kode
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'
Hasil
Baris | LineItemID |
Impressions |
Rate |
CostType |
Revenue |
1 | 123456789 | 21324 | 3,5 | CPM | 74,634 |
Pendapatan untuk item baris CPD
Seperti halnya item baris CPM, Anda dapat menggunakan Tabel Pencocokan Item Baris atau Ad Manager API untuk menemukan tarif CPD item baris. Karena tabel pencocokan berisi data unit iklan untuk setiap hari, pastikan Anda membatasi data tabel pencocokan menjadi satu hari. Untuk menemukan pendapatan item baris CPD tertentu, hitung jumlah hari tayangan iklan ditampilkan dan kalikan dengan tarifnya. Anda dapat menyertakan jumlah tayangan iklan yang ditampilkan untuk menemukan eCPM rata-rata.
Kode
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
Hasil
Baris | LineItemID |
Days |
CostType |
Rate |
Revenue |
Impressions |
Average_eCPM |
1 | 123456789 | 5 | CPD | 4000,0 | 20000,0 | 7000000 | 2,86 |
Pendapatan untuk item baris CPC
Seperti halnya item baris CPM, Anda dapat menggunakan Tabel Pencocokan Item Baris atau Ad Manager API untuk menemukan tarif CPC item baris. Karena tabel pencocokan berisi data unit iklan untuk setiap hari, pastikan Anda membatasi data tabel pencocokan menjadi satu hari. Untuk menemukan pendapatan item baris CPC tertentu dalam rentang tanggal tertentu, hitung jumlah klik dan kalikan dengan tarifnya. Anda dapat menyertakan jumlah tayangan iklan yang ditampilkan untuk menemukan eCPM rata-rata.
Kode
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)
Hasil
Baris | LineItemID |
CostType |
Impressions |
Klik |
CTR |
Rate |
Revenue |
Average_eCPM |
1 | 123456789 | CPC | 140000 | 23 | 0,02 | 15,5 | 356,5 | 2,55 |
Pendapatan untuk item baris vCPM
Seperti halnya item baris CPM, Anda dapat menggunakan Tabel Pencocokan Item Baris atau Ad Manager API untuk menemukan tarif vCPM item baris. Karena tabel pencocokan berisi data unit iklan untuk setiap hari, pastikan Anda membatasi data tabel pencocokan menjadi satu hari. Untuk menemukan pendapatan item baris vCPM tertentu, hitung tayangan iklan terlihat dari NetworkActiveViews
dan kalikan dengan tarifnya. Anda dapat menyertakan jumlah tayangan iklan yang ditampilkan untuk menemukan eCPM rata-rata.
Kode
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'
Hasil
Baris | LineItemID |
CostType |
Impressions |
ViewableImpressions |
Rate |
Revenue |
Average_eCPM |
1 | 123456789 | CPMAV | 500000 | 150000 | 10 | 1500,0 | 3,0 |
Pendapatan untuk pengiklan
Untuk menemukan pendapatan pengiklan tertentu dalam rentang tanggal tertentu, hitung tayangan iklan setiap item baris dan kalikan dengan tarifnya. Gunakan Tabel Pencocokan Item Baris untuk menemukan tarif dan Tabel Pencocokan Perusahaan untuk menemukan nama pengiklan.
Kode
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'
Hasil
Baris | AdvertiserID |
CompanyName |
LineItemID |
Impressions |
Rate |
CostType |
Revenue |
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 |
Penayangan kode
Untuk jaringan yang mengaktifkan penggantian, Transfer Data menghitung penayangan kode untuk setiap item baris yang dipilih dalam rantai penggantian, sedangkan Pelaporan Ad Manager menghitung penayangan kode hanya untuk item baris pertama yang dipilih dalam rantai penggantian. Transfer Data juga menghitung penayangan kode untuk iklan pengiring, sedangkan Pelaporan Ad Manager tidak melakukannya. Jika Anda mencari laporan Transfer Data yang paling cocok dengan laporan Ad Manager, cukup hitung penayangan kode saat VideoFallbackPosition = 0
dan saat IsCompanion
adalah false
. Penayangan kode mediasi di Transfer Data mungkin tidak cocok dengan penayangan kode Mediasi di Pelaporan Ad Manager. Bergantung pada penerapan Anda, mungkin ada perbedaan lain antara jumlah penayangan kode di Transfer Data dan Pelaporan Ad Manager.
Penayangan kode, tayangan iklan, dan rasio render menurut item baris untuk satu pengiklan
Temukan seberapa sering penayangan kode berubah menjadi tayangan iklan untuk setiap item baris pengiklan langsung. Karena kita sedang melihat pengiklan langsung, penayangan kode ini hanya akan berada di NetworkCodeServes
dan tayangan iklan hanya berada di NetworkImpressions
.
Kode
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
Hasil
Baris | LineItemID |
CodeServes |
Impressions |
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 |
Penayangan kode, tayangan iklan, dan rasio render menurut kategori perangkat dan ukuran materi iklan yang ditayangkan
Sertakan Kategori Perangkat dan Ukuran Materi Iklan yang Ditayangkan untuk melihat perbedaan rasio render untuk satu pesanan dari satu pengiklan.
Kode
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
Hasil
Baris | LineItemID |
DeviceCategory |
CreativeSizeDelivered |
CodeServes |
Impressions |
RenderRate |
1 | 6666666666 | TV yang terhubung | Video/Overlay | 100 | 40 | 40,0 |
2 | 6666666666 | Desktop | Video/Overlay | 20000 | 9000 | 45,0 |
3 | 6666666666 | Smartphone | Video/Overlay | 32000 | 25000 | 78,13 |
4 | 6666666666 | Tablet | Video/Overlay | 1000 | 800 | 80,0 |
5 | 7777777777 | TV yang terhubung | 300x250 | 200 | 190 | 95,0 |
6 | 7777777777 | Desktop | 300x250 | 185000 | 184000 | 99,46 |
7 | 7777777777 | Smartphone | 300x250 | 225000 | 220000 | 97,77 |
8 | 7777777777 | Tablet | 300x250 | 10000 | 9800 | 98,0 |
9 | 7777777777 | TV yang terhubung | 300x50 | 50 | 50 | 100,0 |
10 | 7777777777 | Desktop | 300x50 | 1000 | 900 | 90,0 |
11 | 7777777777 | Smartphone | 300x50 | 90000 | 80000 | 88,89 |
12 | 7777777777 | Tablet | 300x50 | 800 | 750 | 93,75 |
Visibilitas
Data visibilitas dapat ditemukan di file Tayangan Iklan dan ActiveView menggunakan kolom ActiveViewValidCount
, ActiveViewMeasurableCount
, dan ActiveViewViewableCount
. Baca selengkapnya tentang kolom ini dan cara penetapan nilainya.
Visibilitas untuk jangka waktu dapat dihitung dengan menjumlahkan nilai yang ditemukan dalam file atau dengan menggabungkan setiap peristiwa lalu menjumlahkan nilainya. Ada sedikit perbedaan antara keduanya, yang dijelaskan mendetail di bawah.
Tayangan iklan valid, tayangan iklan terukur, dan tayangan iklan terlihat (total)
Temukan jumlah tayangan iklan valid, terukur, dan terlihat untuk hari tertentu. Seperti yang disebutkan di atas, file Tayangan Iklan dan file ActiveView harus digunakan.
Kode
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
Hasil
Baris | EligibleImpressions |
MeasurableImpressions |
ViewableImpressions |
1 | 97000000 | 95000000 | 60000000 |
Tayangan iklan valid, tayangan iklan terukur, dan tayangan iklan terlihat (menurut tayangan iklan gabungan)
Temukan jumlah tayangan iklan valid, terukur, dan terlihat untuk hari tertentu dengan menggabungkan setiap peristiwa di file Tayangan Iklan dan file ActiveView, lalu menjumlahkan nilainya. Dalam beberapa kasus yang jarang terjadi, kami menerima ping tampilan aktif terlihat, tetapi tidak menerima ping tayangan iklan. Saat menggabungkan data ActiveView ke data Tayangan Iklan, Anda mungkin menemukan perbedaan dalam tayangan iklan terukur dan lebih sedikit tayangan iklan terlihat dibandingkan dengan kueri pertama, yang ditampilkan di atas.
Kode
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
Hasil
Baris | EligibleImpressions |
MeasurableImpressions |
ViewableImpressions |
1 | 97000000 | 95000000 | 59900000 |
Nilai kunci
Penggunaan kunci
Temukan seberapa sering setiap kunci Anda muncul dalam permintaan iklan (muncul di CustomTargeting
) dan seberapa sering setiap kunci digunakan untuk menayangkan item baris (muncul di TargetedCustomCriteria
). Kunci aktif yang tidak muncul dalam hasil penelusuran atau jarang digunakan mungkin sesuai untuk pengarsipan agar tetap berada di bawah batas kunci Anda.
Kode
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
Hasil
Baris | Key |
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 | 100000 | 1000 |
Bid menurut partner bidding
Temukan seberapa sering setiap partner mengajukan bid dengan mengekstrak bid dari CustomTargeting
. Contoh di bawah ini memperkirakan nama setiap partner dimulai dengan “bidder_prefix_
” seperti dalam “bidder_prefix_partnername
”, dan memperkirakan bid untuk partner tersebut dalam format “bidder_prefix_partnername=1.23
”.
Kode
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
Hasil
Baris | Bidder |
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 |
Nilai dan jumlah bid untuk satu partner bidding
Untuk satu partner bidding, temukan nilai bid yang paling umum dan seberapa sering setiap bid dibuat. Pada contoh di bawah, pilih 10 bid paling umum dari tabel tayangan iklan untuk partner yang bernama “bidder_partner
” (tayangan iklan dengan CustomTargeting
berisi kunci “bidder_partner
” yang ditetapkan ke harga bid, seperti “1.23
”).
Kode
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
Hasil
Baris | 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 | 100000 |
8 | 0,04 | 75000 |
9 | 0,10 | 50000 |
10 | 0,06 | 25000 |
Jumlah bid dan bid rata-rata
Temukan jumlah total bid dan bid rata-rata dari tabel tayangan iklan untuk semua partner bidding. Contoh di bawah ini memperkirakan nama setiap partner dimulai dengan “bidder_prefix_
” seperti dalam “bidder_prefix_partnername
”, dan memperkirakan bid untuk partner tersebut dalam format “bidder_prefix_partnername=1.23
”.
Kode
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
Hasil
Baris | Bidder |
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 |
Jumlah segmen DMP
Platform Pengelolaan Data sering meneruskan segmen yang menyertakan pengguna sebagai pasangan nilai kunci. Temukan seberapa sering segmen ini muncul di permintaan iklan -- berapa banyak tayangan iklan yang valid untuk ditargetkan untuk setiap segmen. Ekstrak ID segmen dari CustomTargeting. Contoh di bawah ini memperkirakan nama kunci menjadi “seg” dan nilainya terdiri dari huruf dan angka.
Kode
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
Hasil
Baris | Segment |
Count |
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 |
Video
Error video menurut URL, ID unit iklan, dan posisi
Untuk memecahkan masalah item baris video dengan error yang signifikan, Anda mungkin perlu menemukan halaman dan/atau slot iklan di halaman yang paling bertanggung jawab atas error tersebut. Gunakan NetworkVideoConversions
untuk menemukan error menurut item baris (dengan ActionName
berisi “error
”). Jika Anda memiliki lebih dari satu pemutar video pada satu halaman, pemutar tersebut akan menggunakan unit iklan yang sama. Lalu, jika Anda menggunakan kunci seperti “pos
” untuk membedakan antar-unit iklan di halaman, ekstrak nilai pos
tersebut dari CustomTargeting
. Contoh di bawah ini memperkirakan nama kunci tersebut menjadi “pos
” dan menampilkan lima kombinasi teratas dari RefererURL
, AdUnitID
, dan Position
yang bertanggung jawab atas error untuk satu item baris video.
Kode
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
Hasil
Baris | RefererURL |
AdUnitID |
Position |
ErrorCount |
1 | https://example.com/ | 11111111 | atas | 2000 |
2 | https://example.com/url/a | 22222222 | atas | 1500 |
3 | https://example.com/url/b | 22222222 | atas | 1400 |
4 | https://example.com/url/c | 11111111 | atas | 1000 |
5 | https://example.com/url/c | 11111111 | bawah | 500 |