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
Membandingkan Transfer Data dan Pelaporan Ad Manager
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:
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
adalah null
- 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
adalah Preferred 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
adalah Preferred 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
adalah Programmatic 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
adalah null
- 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
adalah Private 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
adalah null
- 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
adalah Private 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
adalah null
- 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 |