Bài viết này trình bày ví dụ về cách tạo truy vấn cho báo cáo Chuyển dữ liệu trên Ad Manager. Tìm hiểu thêm về tệp Chuyển dữ liệu, bao gồm cả cách bắt đầu nhận tệp Chuyển dữ liệu.
Xin lưu ý rằng bài viết này trước đây có tên là "Cẩm nang chuyển dữ liệu".
Mở rộng tất cả Thu gọn tất cả
Lượt hiển thị không được đáp ứng
Lượt hiển thị không được đáp ứng của NetworkImpressions
Để tìm số lượt hiển thị không được đáp ứng trong một ngày, hãy truy vấn NetworkImpressions
để biết các mục có LineItemID
là 0
. Không có lượt hiển thị không được đáp ứng nào trong NetworkBackfillImpressions
.
Mã
SELECT COUNT(1) AS UnfilledImpressions FROM NetworkImpressions WHERE LineItemID = 0 AND Time >= ‘2020-01-01’ AND Time < ‘2020-01–02’
Kết quả
Hàng | UnfilledImpressions |
1 | 20000000 |
Lượt hiển thị không được đáp ứng của NetworkRequests
Bạn cũng có thể tìm thấy số lượt hiển thị không được đáp ứng bằng cách truy vấn NetworkRequests
. Tìm các yêu cầu có IsFilledRequest
là false. Không có lượt hiển thị không được đáp ứng nào trong NetworkBackfillRequests
.
Mã
SELECT COUNT(1) AS UnfilledImpressions FROM NetworkRequests WHERE NOT IsFilledRequest AND Time >= '2020-01-01' AND Time < '2020-01-02'
Kết quả
Hàng | UnfilledImpressions |
1 | 20000000 |
Lượt hiển thị không được đáp ứng theo URL
Báo cáo Ad Manager có thể cho thấy số lượt hiển thị không được đáp ứng theo đơn vị quảng cáo hoặc kích thước được yêu cầu, nhưng không thể cho thấy theo URL. Bao gồm RefererURL
để giúp bạn tìm mười trang hàng đầu tạo ra lượt hiển thị không được đáp ứng.
Mã
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
Kết quả
Hàng | 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 |
Lượt hiển thị không được đáp ứng theo đơn vị quảng cáo
Xem những đơn vị quảng cáo chịu trách nhiệm về nhiều lượt hiển thị không được đáp ứng nhất trên một trang. Nếu bạn sử dụng Trình kết nối BigQuery, hãy sử dụng Bảng so khớp đơn vị quảng cáo để xem tên của đơn vị quảng cáo. Vì bảng so khớp chứa dữ liệu đơn vị quảng cáo mỗi ngày, nên hãy giới hạn dữ liệu trong bảng so khớp trong 1 ngày.
Mã
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
Kết quả
Hàng | AdUnitID |
AdUnitName |
UnfilledImpressions |
1 | 95730695 | Tên của cấp A gần đây nhất | 1123439 |
2 | 95033015 | Tên của cấp B gần đây nhất | 1116622 |
3 | 95033615 | Tên của cấp C gần đây nhất | 1102641 |
4 | 95049575 | Tên của cấp D gần đây nhất | 772235 |
5 | 95734535 | Tên của cấp E gần đây nhất | 744777 |
6 | 95584895 | Tên của cấp F gần đây nhất | 27593 |
7 | 95045255 | Tên của cấp G gần đây nhất | 7482 |
8 | 95343215 | Tên của cấp H gần đây nhất | 1925 |
9 | 94977215 | Tên của cấp I gần đây nhất | 19 |
10 | 95033375 | Tên của cấp J gần đây nhất | 12 |
Lượt hiển thị
Lượt hiển thị theo Product
và DealType
Sử dụng các trường Product
và DealType
trong tính năng Chuyển dữ liệu để tạo báo cáo tương đương với báo cáo Ad Manager sử dụng các phương diện "Kênh nhu cầu", "Kênh có lập trình" và "Loại tối ưu hoá". Chọn lượt hiển thị trong NetworkImpressions
(trong đó LineItemID
khác 0) và NetworkBackfillImpressions
.
Mã
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
Kết quả
Hàng | Product |
DealType |
Count |
1 | Ad Exchange | vô hiệu | 60000000 |
2 | Ad Exchange | Phiên đấu giá kín | 2000000 |
3 | Máy chủ quảng cáo | vô hiệu | 40000000 |
4 | Máy chủ quảng cáo | Giao dịch ưu tiên | 1000000 |
5 | Máy chủ quảng cáo | Bảo đảm có lập trình | 1200000 |
6 | Đặt giá thầu cùng sàn giao dịch | vô hiệu | 15000000 |
7 | Đặt giá thầu cùng sàn giao dịch | Giao dịch ưu tiên | 20000 |
8 | Đặt giá thầu cùng sàn giao dịch | Phiên đấu giá kín | 500000 |
9 | Cái nhìn đầu tiên | vô hiệu | 100000 |
Tham số báo cáo
Chạy báo cáo trong Báo cáo Ad Manager bằng cách sử dụng cùng ngày. Chọn những phương diện và chỉ số sau:
- Phương diện:
- Kênh nhu cầu
- Kênh có lập trình
- Loại tối ưu hoá
- Chỉ số:
- Tổng số lượt hiển thị
- Tổng số lượt hiển thị
Kết quả
Hàng | Kênh nhu cầu | Kênh có lập trình | Loại tối ưu hoá | Tổng số lượt hiển thị |
1 | Đặt giá thầu mở | Phiên đấu giá mở | Tất cả lưu lượng truy cập khác | 9.000.000 |
2 | Đặt giá thầu mở | Phiên đấu giá mở | Cạnh tranh được tối ưu hoá | 7.000 |
3 | Đặt giá thầu mở | Phiên đấu giá mở | CPM mục tiêu | 5.993.000 |
4 | Đặt giá thầu mở | Giao dịch ưu tiên | Tất cả lưu lượng truy cập khác | 20.000 |
5 | Đặt giá thầu mở | Phiên đấu giá kín | Tất cả lưu lượng truy cập khác | 496.000 |
6 | Đặt giá thầu mở | Phiên đấu giá kín | Cạnh tranh được tối ưu hoá | 4.000 |
7 | Máy chủ quảng cáo | (không áp dụng) | Tất cả lưu lượng truy cập khác | 40.000.000 |
8 | Máy chủ quảng cáo | Giao dịch ưu tiên | Tất cả lưu lượng truy cập khác | 1.000.000 |
9 | Máy chủ quảng cáo | Đảm bảo có lập trình | Tất cả lưu lượng truy cập khác | 1.200.000 |
10 | Ad Exchange | Phiên đấu giá mở | Tất cả lưu lượng truy cập khác | 48.000.000 |
11 | Ad Exchange | Phiên đấu giá mở | Cái nhìn đầu tiên | 100.000 |
12 | Ad Exchange | Phiên đấu giá mở | Cạnh tranh được tối ưu hoá | 10.000 |
13 | Ad Exchange | Phiên đấu giá mở | CPM mục tiêu | 11.990.000 |
14 | Ad Exchange | Phiên đấu giá kín | Tất cả lưu lượng truy cập khác | 1.995.000 |
15 | Ad Exchange | Phiên đấu giá kín | Cạnh tranh được tối ưu hoá | 5.000 |
Trực tiếp
- Chuyển dữ liệu:
Product
=Ad Server
DealType
isnull
- Hàng 3: 40.000.000
- Báo cáo Ad Manager:
- Kênh nhu cầu = "Máy chủ quảng cáo"
- Kênh có lập trình = "(Không áp dụng)"
- Loại tối ưu hoá = "Tất cả lưu lượng truy cập khác"
- Hàng 7: 40.000.000
Giao dịch ưu tiên
- Chuyển dữ liệu:
Product
=Ad Server
DealType
làPreferred Deal
- Hàng 4: 1.000.000
- Báo cáo Ad Manager:
- Kênh nhu cầu = "Máy chủ quảng cáo"
- Kênh có lập trình = "Giao dịch ưu tiên"
- Loại tối ưu hoá = "Tất cả lưu lượng truy cập khác"
- Hàng 8: 1.000.000
- Chuyển dữ liệu:
Product
=Exchange Bidding
DealType
làPreferred Deal
- Hàng 7: 20.000
-
- Báo cáo Ad Manager:
- Kênh nhu cầu = "Đặt giá thầu mở"
- Kênh có lập trình = "Giao dịch ưu tiên"
- Loại tối ưu hoá = "Tất cả lưu lượng truy cập khác"
- Hàng 4: 20.000
Đảm bảo có lập trình
- Chuyển dữ liệu:
Product
=Ad Server
DealType
làProgrammatic Guaranteed
- Hàng 5: 1.200.000
- Báo cáo Ad Manager:
- Kênh nhu cầu = "Máy chủ quảng cáo"
- Kênh có lập trình = "Đảm bảo có lập trình"
- Loại tối ưu hoá = "Tất cả lưu lượng truy cập khác"
- Hàng 9: 1.200.000
Phiên đấu giá mở Ad Exchange (không bao gồm Cái nhìn đầu tiên)
- Chuyển dữ liệu:
Product
=Ad Exchange
DealType
isnull
- Hàng 1: 60.000.000
- Báo cáo Ad Manager:
- Kênh nhu cầu = "Ad Exchange"
- Kênh có lập trình = "Phiên đấu giá mở"
- Loại tối ưu hoá = "Tất cả lưu lượng truy cập khác", "CPM mục tiêu", "Cạnh tranh được tối ưu hoá"
- Tổng hàng 10, hàng 12 và hàng 13: 48.000.000 + 10.000 + 11.990.000 = 60.000.000
Phiên đấu giá kín Ad Exchange
- Chuyển dữ liệu:
Product
=Ad Exchange
DealType
làPrivate Auction
- Hàng 2: 2.000.000
- Báo cáo Ad Manager:
- Kênh nhu cầu = "Ad Exchange"
- Kênh có lập trình = "Phiên đấu giá kín"
- Loại tối ưu hoá = "Tất cả lưu lượng truy cập khác", "Cạnh tranh được tối ưu hoá"
- Tổng cộng hàng 14 và hàng 15: 1.995.000 + 5.000 = 2.000.000
Phiên đấu giá mở Đặt giá thầu mở
- Chuyển dữ liệu:
Product
=Exchange Bidding
DealType
isnull
- Hàng 6: 15.000.000
- Báo cáo Ad Manager:
- Kênh nhu cầu = "Đặt giá thầu mở"
- Kênh có lập trình = "Phiên đấu giá mở"
- Loại tối ưu hoá = "Tất cả lưu lượng truy cập khác", "CPM mục tiêu", "Cạnh tranh được tối ưu hoá"
- Tổng cộng hàng 1, hàng 2 và hàng 3: 9.000.000 + 7.000 + 5.993.000 = 15.000.000
Phiên đấu giá kín Đặt giá thầu mở
- Chuyển dữ liệu:
Product
=Exchange Bidding
DealType
làPrivate Auction
- Hàng 8: 500.000
- Báo cáo Ad Manager:
- Kênh nhu cầu = "Đặt giá thầu mở"
- Kênh có lập trình = "Phiên đấu giá kín"
- Loại tối ưu hoá = "Tất cả lưu lượng truy cập khác", "Cạnh tranh được tối ưu hoá"
- Tổng cộng hàng 5 và hàng 6: 496.000 + 4.000 = 500.000
Cái nhìn đầu tiên
- Chuyển dữ liệu:
Product
=First Look
DealType
isnull
- Hàng 9: 100.000
- Báo cáo Ad Manager:
- Kênh nhu cầu = "Ad Exchange"
- Kênh có lập trình = "Phiên đấu giá mở"
- Loại tối ưu hoá = "Cái nhìn đầu tiên"
- Hàng 11: 100.000
Revenue
Doanh thu cho mục hàng CPM
Tệp NetworkImpressions
không chứa dữ liệu doanh thu, nhưng nếu sử dụng Trình kết nối BigQuery thì bạn có thể sử dụng Bảng so khớp mục hàng để xem tỷ lệ CPM. Nếu không, hãy sử dụng API Ad Manager để xem giá của mục hàng. Xem doanh thu cho một mục hàng CPM nhất định trong phạm vi ngày nhất định bằng cách tính số lượt hiển thị, nhân với tỷ lệ rồi chia cho 1.000. Vì bảng so khớp chứa dữ liệu đơn vị quảng cáo mỗi ngày, nên hãy giới hạn dữ liệu trong bảng so khớp trong 1 ngày.
Mã
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'
Kết quả
Hàng | LineItemID |
Impressions |
Rate |
CostType |
Revenue |
1 | 123456789 | 21324 | 3,5 | CPM | 74,634 |
Doanh thu cho mục hàng CPD
Tương tự như mục hàng CPM, bạn có thể sử dụng Bảng so khớp mục hàng hoặc API Ad Manager để tìm tỷ lệ CPD của mục hàng. Vì bảng so khớp chứa dữ liệu đơn vị quảng cáo mỗi ngày, nên hãy giới hạn dữ liệu trong bảng so khớp trong 1 ngày. Để xem doanh thu cho một mục hàng CPD cụ thể, hãy đếm số ngày mà số lượt hiển thị được phân phát rồi nhân với tỷ lệ. Bạn nên bao gồm số lượt hiển thị được phân phát để xem eCPM trung bình.
Mã
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
Kết quả
Hàng | LineItemID |
Days |
CostType |
Rate |
Revenue |
Impressions |
Average_eCPM |
1 | 123456789 | 5 | CPD | 4000,0 | 20000,0 | 7000000 | 2,86 |
Doanh thu cho mục hàng CPC
Tương tự như mục hàng CPM, bạn có thể sử dụng Bảng so khớp mục hàng hoặc API Ad Manager để tìm tỷ lệ CPC của mục hàng. Vì bảng so khớp chứa dữ liệu đơn vị quảng cáo mỗi ngày, nên hãy giới hạn dữ liệu trong bảng so khớp trong 1 ngày. Để tìm doanh thu cho một mục hàng CPC nhất định trong một phạm vi ngày cụ thể, hãy đếm số lượt nhấp rồi nhân với tỷ lệ. Bạn nên bao gồm số lượt hiển thị được phân phát để xem eCPM trung bình.
Mã
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)
Kết quả
Hàng | LineItemID |
CostType |
Impressions |
Lượt nhấp |
CTR |
Rate |
Revenue |
Average_eCPM |
1 | 123456789 | CPC | 140000 | 23 | 0,02 | 15,5 | 356,5 | 2,55 |
Doanh thu cho mục hàng vCPM
Tương tự như mục hàng CPM, bạn có thể sử dụng Bảng so khớp mục hàng hoặc API Ad Manager để tìm tỷ lệ vCPM của mục hàng. Vì bảng so khớp chứa dữ liệu đơn vị quảng cáo mỗi ngày, nên hãy giới hạn dữ liệu trong bảng so khớp trong 1 ngày. Để tìm doanh thu cho một mục hàng vCPM nhất định, hãy đếm số lượt hiển thị có thể xem của NetworkActiveViews
rồi nhân với tỷ lệ. Bạn nên bao gồm số lượt hiển thị được phân phát để xem eCPM trung bình.
Mã
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'
Kết quả
Hàng | LineItemID |
CostType |
Impressions |
ViewableImpressions |
Rate |
Revenue |
Average_eCPM |
1 | 123456789 | CPMAV | 500000 | 150000 | 10 | 1500,0 | 3,0 |
Doanh thu cho nhà quảng cáo
Để xem doanh thu cho một nhà quảng cáo nhất định trong phạm vi ngày cụ thể, hãy đếm số lượt hiển thị cho từng mục hàng rồi nhân với tỷ lệ. Sử dụng Bảng so khớp mục hàng để tìm tỷ lệ và Bảng so khớp công ty để tìm tên nhà quảng cáo.
Mã
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'
Kết quả
Hàng | 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 |
Lượt phân phát mã
Đối với mạng đã bật tính năng dự phòng, tính năng Chuyển dữ liệu sẽ tính một lượt phân phát mã cho mỗi mục hàng đã chọn trong chuỗi dự phòng, trong khi Báo cáo Ad Manager tính một lượt phân phát mã cho mục hàng đầu tiên được chọn trong chuỗi dự phòng. Tính năng Chuyển dữ liệu cũng tính một lượt phân phát mã cho quảng cáo đồng hành, trong khi Báo cáo Ad Manager thì không. Nếu bạn đang tìm kiếm báo cáo Chuyển dữ liệu để so khớp chặt chẽ nhất có thể với báo cáo Ad Manager, thì chỉ số mã được phân phát khi VideoFallbackPosition = 0
và IsCompanion
là false
. Lượt phân phát mã dàn xếp trong tính năng Chuyển dữ liệu có thể không khớp với lượt phân phát mã dàn xếp trong Báo cáo Ad Manager. Tuỳ thuộc vào cách triển khai của bạn, có thể có sự khác biệt khác giữa số lần phân phát mã trong tính năng Chuyển dữ liệu và Báo cáo Ad Manager.
Mã phân phát, lượt hiển thị và tỷ lệ hiển thị theo mục hàng cho một nhà quảng cáo
Xem tần suất lượt phân phát mã trở thành lượt hiển thị cho từng mục hàng của một nhà quảng cáo trực tiếp. Vì chúng ta đang xem xét một nhà quảng cáo trực tiếp nên các lượt phân phát mã này sẽ chỉ diễn ra trong NetworkCodeServes
và các lượt hiển thị chỉ nằm trong NetworkImpressions
.
Mã
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
Kết quả
Hàng | 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 |
Lượt phân phát mã, lượt hiển thị và tỷ lệ hiển thị theo danh mục thiết bị và kích thước mẫu quảng cáo được phân phối
Bao gồm Danh mục thiết bị và Kích thước mẫu quảng cáo được phân phối để xem tỷ lệ hiển thị thay đổi như thế nào đối với một đơn đặt hàng của một nhà quảng cáo.
Mã
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
Kết quả
Hàng | LineItemID |
DeviceCategory |
CreativeSizeDelivered |
CodeServes |
Impressions |
RenderRate |
1 | 6666666666 | TV có thể nối mạng | Video/Lớp phủ | 100 | 40 | 40,0 |
2 | 6666666666 | Máy tính | Video/Lớp phủ | 20000 | 9000 | 45,0 |
3 | 6666666666 | Điện thoại thông minh | Video/Lớp phủ | 32000 | 25000 | 78,13 |
4 | 6666666666 | Máy tính bảng | Video/Lớp phủ | 1000 | 800 | 80,0 |
5 | 7777777777 | TV có thể nối mạng | 300x250 | 200 | 190 | 95,0 |
6 | 7777777777 | Máy tính | 300x250 | 185000 | 184000 | 99,46 |
7 | 7777777777 | Điện thoại thông minh | 300x250 | 225000 | 220000 | 97,77 |
8 | 7777777777 | Máy tính bảng | 300x250 | 10000 | 9800 | 98,0 |
9 | 7777777777 | TV có thể nối mạng | 300x50 | 50 | 50 | 100,0 |
10 | 7777777777 | Máy tính | 300x50 | 1000 | 900 | 90,0 |
11 | 7777777777 | Điện thoại thông minh | 300x50 | 90000 | 80000 | 88,89 |
12 | 7777777777 | Máy tính bảng | 300x50 | 800 | 750 | 93,75 |
Khả năng xem
Bạn có thể tìm thấy dữ liệu về khả năng xem trong cả tệp Impression và ActiveView khi sử dụng các trường ActiveViewEligibleCount
, ActiveViewMeasurableCount
và ActiveViewViewableCount
. Vui lòng đọc thêm về các trường này và cách thiết lập giá trị cho các trường này.
Khả năng xem trong một khoảng thời gian có thể được tính toán bằng cách tính tổng giá trị có trong tệp hoặc bằng cách kết hợp các sự kiện riêng lẻ rồi tính tổng giá trị. Có thể có sự khác biệt nhỏ giữa hai chiến lược này như nêu chi tiết dưới đây.
Lượt hiển thị đủ điều kiện, lượt hiển thị có thể đo lường và lượt hiển thị có thể xem (tổng cộng)
Xem số lượt hiển thị đủ điều kiện, có thể đo lường và có thể xem trong một ngày nhất định. Như đã lưu ý ở trên, bạn phải sử dụng các tệp Impression và ActiveView.
Mã
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
Kết quả
Hàng | EligibleImpressions |
MeasurableImpressions |
ViewableImpressions |
1 | 97000000 | 95000000 | 60000000 |
Lượt hiển thị đủ điều kiện, lượt hiển thị có thể đo lường và lượt hiển thị có thể xem (theo lượt hiển thị kết hợp)
Xem số lượt hiển thị đủ điều kiện, có thể đo lường và có thể xem trong một ngày nhất định bằng cách kết hợp các sự kiện riêng lẻ trong các tệp Impression và ActiveView rồi tính tổng giá trị. Trong một số ít trường hợp, chúng tôi đã nhận được ping về lượt hiển thị hiện hữu có thể xem nhưng không nhận được ping về lượt hiển thị. Khi kết hợp dữ liệu ActiveView với dữ liệu Impression, bạn có thể thấy sự khác biệt về số lượt hiển thị có thể đo lường và số lượt hiển thị có thể xem ít hơn so với truy vấn đầu tiên (như trình bày ở trên).
Mã
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
Kết quả
Hàng | EligibleImpressions |
MeasurableImpressions |
ViewableImpressions |
1 | 97000000 | 95000000 | 59900000 |
Khoá-giá trị
Sử dụng khoá
Xem tần suất từng khoá của bạn xuất hiện trong một yêu cầu quảng cáo (xuất hiện trong phần CustomTargeting
) và tần suất từng khoá được dùng để phân phát mục hàng (xuất hiện trong phần TargetedCustomCriteria
). Khoá đang hoạt động không xuất hiện trong kết quả hoặc không sử dụng thường xuyên có thể là lựa chọn phù hợp cho việc lưu trữ để duy trì phạm vi dưới giới hạn khoá của bạn.
Mã
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
Kết quả
Hàng | 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 |
Giá thầu của đối tác đặt giá thầu
Xem tần suất mỗi đối tác của bạn đặt giá thầu bằng cách trích xuất giá thầu qua CustomTargeting
. Ví dụ dưới đây yêu cầu tên của từng đối tác bắt đầu bằng “bidder_prefix_
” như trong “bidder_prefix_partnername
” và dự kiến giá thầu sẽ dành cho đối tác đó sẽ có định dạng “bidder_prefix_partnername=1.23
”.
Mã
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
Kết quả
Hàng | 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 |
Giá trị và số lượng giá thầu cho một đối tác đặt giá thầu
Đối với một đối tác đặt giá thầu, hãy tìm các giá trị giá thầu phổ biến nhất và tần suất đặt giá thầu. Trong ví dụ dưới đây, hãy chọn 10 giá thầu phổ biến nhất trong bảng lượt hiển thị cho đối tác có tên “bidder_partner
” (số lượt hiển thị mà CustomTargeting
chứa khoá “bidder_partner
” được đặt thành giá thầu, chẳng hạn như “1.23
”).
Mã
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
Kết quả
Hàng | 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 |
Số lượng giá thầu và giá thầu trung bình
Tìm tổng số giá thầu và giá thầu trung bình trên các bảng lượt hiển thị cho tất cả đối tác đặt giá thầu. Ví dụ dưới đây yêu cầu tên của từng đối tác bắt đầu bằng “bidder_prefix_
” như trong “bidder_prefix_partnername
” và dự kiến giá thầu sẽ dành cho đối tác đó sẽ có định dạng “bidder_prefix_partnername=1.23
”.
Mã
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
Kết quả
Hàng | 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 |
Số phân đoạn DMP
Nền tảng quản lý dữ liệu thường chuyển các phân khúc mà người dùng thuộc về dưới dạng cặp khoá-giá trị. Xem tần suất các phân khúc này xuất hiện trong yêu cầu quảng cáo – số lượt hiển thị đủ điều kiện để được nhắm mục tiêu cho từng phân khúc. Trích xuất mã phân khúc qua CustomTargeting. Ví dụ dưới đây dự kiến tên của khoá là “seg” và các giá trị sẽ được tạo thành từ chữ cái và số.
Mã
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
Kết quả
Hàng | 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
Lỗi video theo URL, mã đơn vị quảng cáo và vị trí
Để khắc phục sự cố về mục hàng video có lỗi nghiêm trọng, có thể bạn phải tìm trang và/hoặc vùng quảng cáo trên trang chịu trách nhiệm nhiều nhất về lỗi. Sử dụng NetworkVideoConversions
để tìm lỗi theo mục hàng (trong đó ActionName
chứa “error
”). Nếu bạn có nhiều trình phát video trên một trang thì các trình phát sẽ sử dụng cùng một đơn vị quảng cáo và bạn sử dụng khoá như “pos
” để phân biệt giữa các đơn vị quảng cáo trên một trang, trích xuất giá trị pos
từ CustomTargeting
. Ví dụ dưới đây yêu cầu tên của khoá đó là “pos
” và cho thấy năm tổ hợp hàng đầu của RefererURL
, AdUnitID
và Position
chịu trách nhiệm về lỗi cho một mục hàng video.
Mã
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
Kết quả
Hàng | RefererURL |
AdUnitID |
Position |
ErrorCount |
1 | https://example.com/ | 11111111 | trên cùng | 2000 |
2 | https://example.com/url/a | 22222222 | trên cùng | 1500 |
3 | https://example.com/url/b | 22222222 | trên cùng | 1400 |
4 | https://example.com/url/c | 11111111 | trên cùng | 1000 |
5 | https://example.com/url/c | 11111111 | dưới cùng | 500 |