Из этой статьи вы узнаете, как создавать в Менеджере рекламы запросы для передачи данных из отчетов. Подробнее о файлах передачи данных, а также о том, как получать их…
Ранее эта статья называлась справочным руководством по передаче данных.
Невыполненные показы
Данные о невыполненных показах в файле NetworkImpressions
Чтобы определить количество невыполненных показов за день, запросите из файла NetworkImpressions
записи, в которых поле LineItemID
равно 0
. Файл NetworkBackfillImpressions
не содержит информации о невыполненных показах.
Код
SELECT COUNT(1) AS UnfilledImpressions FROM NetworkImpressions WHERE LineItemID = 0 AND Time >= ‘2020-01-01’ AND Time < ‘2020-01–02’
Результаты
Строка | UnfilledImpressions (Количество невыполненных показов) |
1 | 20 000 000 |
Данные о невыполненных показах в файле NetworkRequests
Количество невыполненных показов также можно узнать с помощью файла NetworkRequests
. Определите количество записей, в которых в поле IsFilledRequest
указано значение False (Ложь). Файл NetworkBackfillRequests
не содержит информации о невыполненных показах.
Код
SELECT COUNT(1) AS UnfilledImpressions FROM NetworkRequests WHERE NOT IsFilledRequest AND Time >= '2020-01-01' AND Time < '2020-01-02'
Результаты
Строка | UnfilledImpressions (Количество невыполненных показов) |
1 | 20 000 000 |
Данные о невыполненных показах с систематизацией по URL
Отчеты Менеджера рекламы могут содержать информацию о невыполненных показах, которая относится к определенным рекламным блокам или размерам объявлений, но не URL. Включите в запрос поле RefererURL
, чтобы выявить десять страниц с наибольшим числом невыполненных показов.
Код
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
Результаты
Строка | RefererURL (URL перехода) |
UnfilledImpressions (Количество невыполненных показов) |
1 | http://example.com/ | 4 903 691 |
2 | http://example.com/url/a | 748 271 |
3 | http://example.com/url/b | 383 293 |
4 | http://example.com/url/c | 364 355 |
5 | http://example.com/url/d | 326 495 |
6 | http://example.net/ | 295 346 |
7 | http://example.net/url/a | 291 043 |
8 | http://example.net/url/b | 276 106 |
9 | http://example.net/url/c | 231 169 |
10 | http://example.net/url/d | 194 988 |
Данные о невыполненных показах с систематизацией по рекламным блокам
Найдите рекламные блоки с наибольшим числом невыполненных показов на одной странице. Если вы используете коннектор BigQuery, то можете найти названия рекламных блоков в специальной таблице соответствий. Таблица соответствий содержит данные о рекламных блоках за каждый день, поэтому вам необходимо ограничить диапазон данных одним днем.
Код
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
Результаты
Строка | AdUnitID (Идентификатор рекламного блока) |
AdUnitName (Название рекламного блока) |
UnfilledImpressions (Количество невыполненных показов) |
1 | 95730695 | Название последнего уровня A | 1 123 439 |
2 | 95033015 | Название последнего уровня B | 1 116 622 |
3 | 95033615 | Название последнего уровня C | 1 102 641 |
4 | 95049575 | Название последнего уровня D | 772 235 |
5 | 95734535 | Название последнего уровня E | 744 777 |
6 | 95584895 | Название последнего уровня F | 27 593 |
7 | 95045255 | Название последнего уровня G | 7482 |
8 | 95343215 | Название последнего уровня H | 1925 |
9 | 94977215 | Название последнего уровня I | 19 |
10 | 95033375 | Название последнего уровня J | 12 |
Показы
Данные о показах в полях Product
и DealType
Используйте поля Product
и DealType
в файлах передачи данных, чтобы получать отчеты, сопоставимые с отчетами Менеджера рекламы, в которых используются параметры "Канал спроса" "Канал с алгоритмической продажей" и "Тип оптимизации". Выберите данные о показах из файла NetworkImpressions
(где значение в поле LineItemID
отлично от нуля) и файла NetworkBackfillImpressions
.
Код
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
Результаты
Строка | Product (Продукт) |
DealType (Тип сделки) |
Count (Количество) |
1 | Ad Exchange | null | 60 000 000 |
2 | Ad Exchange | Частный аукцион | 2 000 000 |
3 | Сервер объявлений | null | 40 000 000 |
4 | Сервер объявлений | Приоритетные сделки | 1 000 000 |
5 | Сервер объявлений | Гарантированные кампании с алгоритмической продажей | 1 200 000 |
6 | Назначение ставок на аукционе | null | 15 000 000 |
7 | Назначение ставок на аукционе | Приоритетные сделки | 20 000 |
8 | Назначение ставок на аукционе | Частный аукцион | 500 000 |
9 | Сделки с правом первого выбора | null | 100 000 |
Параметры, используемые в отчете
В Менеджере рекламы создайте отчет с такой же датой. Выберите следующие параметры и показатели:
- Параметры:
- "Канал спроса";
- "Канал с алгоритмической продажей";
- "Тип оптимизации".
- Показатели:
- "Общее число показов".
- "Общее число показов".
Результаты
Строка | Канал спроса | Канал с алгоритмической продажей | Тип оптимизации | Общее число показов |
1 | Open Bidding | Открытый аукцион | Весь прочий трафик | 9 000 000 |
2 | Open Bidding | Открытый аукцион | Оптимизированный аукцион | 7000 |
3 | Open Bidding | Открытый аукцион | Целевая цена за тысячу показов | 5 993 000 |
4 | Open Bidding | Приоритетные сделки | Весь прочий трафик | 20 000 |
5 | Open Bidding | Частный аукцион | Весь прочий трафик | 496 000 |
6 | Open Bidding | Частный аукцион | Оптимизированный аукцион | 4000 |
7 | Сервер объявлений | (неприменимо) | Весь прочий трафик | 40 000 000 |
8 | Сервер объявлений | Приоритетные сделки | Весь прочий трафик | 1 000 000 |
9 | Сервер объявлений | Гарантированные кампании с алгоритмической продажей | Весь прочий трафик | 1 200 000 |
10 | Ad Exchange | Открытый аукцион | Весь прочий трафик | 48 000 000 |
11 | Ad Exchange | Открытый аукцион | Сделки с правом первого выбора | 100 000 |
12 | Ad Exchange | Открытый аукцион | Оптимизированный аукцион | 10 000 |
13 | Ad Exchange | Открытый аукцион | Целевая цена за тысячу показов | 11 990 000 |
14 | Ad Exchange | Частный аукцион | Весь прочий трафик | 1 995 000 |
15 | Ad Exchange | Частный аукцион | Оптимизированный аукцион | 5000 |
Прямое размещение
- Файлы передачи данных:
Product
=Ad Server
;DealType
=null
;- строка 3: 40 000 000.
- Отчеты Менеджера рекламы:
- "Канал спроса" = "Сервер объявлений";
- "Канал с алгоритмической продажей" = "(Не применимо)";
- "Тип оптимизации" = "Весь прочий трафик";
- строка 7: 40 000 000.
Приоритетные сделки
- Файлы передачи данных:
Product
=Ad Server
;DealType
=Preferred Deal
;- строка 4: 1 000 000.
- Отчеты Менеджера рекламы:
- "Канал спроса" = "Сервер объявлений";
- "Канал с алгоритмической продажей" = "Приоритетные сделки";
- "Тип оптимизации" = "Весь прочий трафик";
- строка 8: 1 000 000.
- Файлы передачи данных:
Product
=Exchange Bidding
;DealType
=Preferred Deal
;- строка 7: 20 000.
-
- Отчеты Менеджера рекламы:
- "Канал спроса" = "Open Bidding";
- "Канал с алгоритмической продажей" = "Приоритетные сделки";
- "Тип оптимизации" = "Весь прочий трафик";
- строка 4: 20 000.
Гарантированные кампании с алгоритмической продажей
- Файлы передачи данных:
Product
=Ad Server
;DealType
=Programmatic Guaranteed
;- строка 5: 1 200 000.
- Отчеты Менеджера рекламы:
- "Канал спроса" = "Сервер объявлений";
- "Канал с алгоритмической продажей" = "Гарантированная кампания с алгоритмической продажей";
- "Тип оптимизации" = "Весь прочий трафик";
- строка 9: 1 200 000.
Открытый аукцион Ad Exchange (не считая сделок с правом первого выбора)
- Файлы передачи данных:
Product
=Ad Exchange
;DealType
=null
;- строка 1: 60 000 000.
- Отчеты Менеджера рекламы:
- "Канал спроса" = "Ad Exchange";
- "Канал с алгоритмической продажей" = "Открытый аукцион";
- "Тип оптимизации" = "Весь прочий трафик", "Целевая цена за тысячу показов", "Оптимизированный аукцион";
- строка 10 + строка 12 + строка 13: 48 000 000 + 10 000 + 11 990 000 = 60 000 000.
Частный аукцион Ad Exchange
- Файлы передачи данных:
Product
=Ad Exchange
;DealType
=Private Auction
;- строка 2: 2 000 000.
- Отчеты Менеджера рекламы:
- "Канал спроса" = "Ad Exchange";
- "Канал с алгоритмической продажей" = "Частный аукцион";
- "Тип оптимизации" = "Весь прочий трафик", "Оптимизированный аукцион";
- строка 14 + строка 15: 1 995 000 + 5000 = 2 000 000.
Открытый аукцион Open Bidding
- Файлы передачи данных:
Product
=Exchange Bidding
;DealType
=null
;- строка 6: 15 000 000.
- Отчеты Менеджера рекламы:
- "Канал спроса" = "Open Bidding";
- "Канал с алгоритмической продажей" = "Открытый аукцион";
- "Тип оптимизации" = "Весь прочий трафик", "Целевая цена за тысячу показов", "Оптимизированный аукцион";
- строка 1 + строка 2 + строка 3: 9 000 000 + 7000 + 5 993 000 = 15 000 000.
Частный аукцион Open Bidding
- Файлы передачи данных:
Product
=Exchange Bidding
;DealType
=Private Auction
;- строка 8: 500 000.
- Отчеты Менеджера рекламы:
- "Канал спроса" = "Open Bidding";
- "Канал с алгоритмической продажей" = "Частный аукцион";
- "Тип оптимизации" = "Весь прочий трафик", "Оптимизированный аукцион";
- строка 5 + строка 6: 496 000 + 4000 = 500 000.
Сделки с правом первого выбора
- Файлы передачи данных:
Product
=First Look
;DealType
=null
;- строка 9: 100 000.
- Отчеты Менеджера рекламы:
- "Канал спроса" = "Ad Exchange";
- "Канал с алгоритмической продажей" = "Открытый аукцион";
- "Тип оптимизации" = "Сделки с правом первого выбора";
- строка 11: 100 000.
Доход
Данные о доходе от позиций с ценой за тысячу показов
Файл NetworkImpressions
не содержит данных о доходах, однако если вы используете коннектор BigQuery, то можете найти цену за тысячу показов в таблице соответствия позиций. Цену позиции также можно найти при помощи Ad Manager API. Чтобы рассчитать доход за указанный период для определенной позиции с ценой за тысячу показов, необходимо количество показов умножить на цену и разделить результат на тысячу. Таблица соответствий содержит данные о рекламных блоках за каждый день, поэтому вам необходимо ограничить диапазон данных одним днем.
Код
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'
Результаты
Строка | LineItemID (Идентификатор позиции) |
Impressions (Количество показов) |
Rate (Цена) |
CostType (Тип цены) |
Revenue (Доход) |
1 | 123456789 | 21 324 | 3,5 | Цена за тысячу показов | 74,634 |
Данные о доходе от позиций с ценой за день
Так же, как и в случае с позициями с ценой за тысячу показов, цену позиции за день можно узнать при помощи таблицы соответствия позиций или Ad Manager API. Таблица соответствий содержит данные о рекламных блоках за каждый день, поэтому вам необходимо ограничить диапазон данных одним днем. Чтобы вычислить доход для определенной позиции с ценой за день, нужно определить количество дней, когда показы выполнялись, и умножить это число на цену. Чтобы рассчитать среднюю эффективную цену за тысячу показов, вам потребуется указать количество выполненных показов.
Код
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
Результаты
Строка | LineItemID (Идентификатор позиции) |
Days (Количество дней) |
CostType (Тип цены) |
Rate (Цена) |
Revenue (Доход) |
Impressions (Количество показов) |
Average_eCPM (Средняя эффективная цена за тысячу показов) |
1 | 123456789 | 5 | Цена за день | 4000,0 | 20 000,0 | 7 000 000 | 2,86 |
Данные о доходе от позиций с ценой за клик
Так же, как и в случае с позициями с ценой за тысячу показов, цену позиции за клик можно узнать при помощи таблицы соответствия позиций или Ad Manager API. Таблица соответствий содержит данные о рекламных блоках за каждый день, поэтому вам необходимо ограничить диапазон данных одним днем. Чтобы вычислить доход за указанный период для определенной позиции с ценой за клик, необходимо определить количество кликов и умножить это число на цену. Чтобы рассчитать среднюю эффективную цену за тысячу показов, вам потребуется указать количество выполненных показов.
Код
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)
Результаты
Строка | LineItemID (Идентификатор позиции) |
CostType (Тип цены) |
Impressions (Количество показов) |
Clicks (Количество кликов) |
CTR (Показатель CTR) |
Rate (Цена) |
Revenue (Доход) |
Average_eCPM (Средняя эффективная цена за тысячу показов) |
1 | 123456789 | Цена за клик | 140 000 | 23 | 0,02 | 15,5 | 356,5 | 2,55 |
Данные о доходе от позиций с ценой за тысячу показов в видимой области экрана
Так же, как и в случае с позициями с ценой за тысячу показов, цену позиции за тысячу показов в видимой области экрана можно узнать при помощи таблицы соответствия позиций или Ad Manager API. Таблица соответствий содержит данные о рекламных блоках за каждый день, поэтому вам необходимо ограничить диапазон данных одним днем. Чтобы рассчитать доход для определенной позиции с ценой за тысячу показов в видимой области экрана, необходимо из файла NetworkActiveViews
узнать количество показов в видимой области экрана и умножить это число на цену. Чтобы рассчитать среднюю эффективную цену за тысячу показов, вам потребуется указать количество выполненных показов.
Код
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'
Результаты
Строка | LineItemID (Идентификатор позиции) |
CostType (Тип цены) |
Impressions (Количество показов) |
ViewableImpressions (Количество показов в видимой области экрана) |
Rate (Цена) |
Revenue (Доход) |
Average_eCPM (Средняя эффективная цена за тысячу показов) |
1 | 123456789 | Цена за тысячу показов Active View | 500 000 | 150 000 | 10 | 1500,0 | 3,0 |
Данные о доходе от определенного рекламодателя
Чтобы рассчитать доход за указанный период для определенного рекламодателя, необходимо определить количество показов для каждой позиции и умножить это число на цену. Цену можно найти в таблице соответствия позиций, а название рекламодателя – в таблице соответствия компаний.
Код
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'
Результаты
Строка | AdvertiserID (Идентификатор рекламодателя) |
CompanyName (Название компании) |
LineItemID (Идентификатор позиции) |
Impressions (Количество показов) |
Rate (Цена) |
CostType (Тип цены) |
Revenue (Доход) |
1 | 111222333 | ABC | 111111111 | 20 212 | 5,0 | Цена за тысячу показов | 101,06 |
2 | 111222333 | ABC | 222222222 | 58 321 | 3,0 | Цена за тысячу показов | 174,963 |
3 | 111222333 | ABC | 333333333 | 82 772 | 8,5 | Цена за тысячу показов | 703,562 |
4 | 111222333 | ABC | 444444444 | 19 003 | 3,25 | Цена за тысячу показов | 61,7597 |
Количество передач кода
Для сетей, поддерживающих показ резервных объявлений, в файлах передачи данных учитываются передачи кода, которые относятся к каждой позиции, выбранной в цепочке резерва. В соответствующих отчетах Менеджера рекламы передача кода учитывается только для первой позиции, выбранной в цепочке резерва. Кроме того, в отличие от отчетов Менеджера рекламы, в отчетах о передаче данных также регистрируются передачи кода, которые относятся к сопутствующим объявлениям. Если вы хотите, чтобы статистика из файлов передачи данных максимально соответствовала отчетам Менеджера рекламы, учитывайте передачу кода только в том случае, когда параметр VideoFallbackPosition = 0
, а параметр IsCompanion
имеет значение false
(ложь). При использовании медиации количество передач кода в файлах передачи данных может не совпадать с количеством передач кода в отчетах Менеджера рекламы. В зависимости от того, как вы обрабатываете информацию, в файлах передачи данных и отчетах Менеджера рекламы могут наблюдаться и другие расхождения в количестве передач кода.
Данные о количестве передач кода, количестве показов и доле отрисовки с систематизацией по позициям, относящиеся к одному рекламодателю
Вы можете получить данные, относящиеся к каждой позиции прямого рекламодателя, о том, насколько часто передача кода приводит к показу. Поскольку речь идет о прямых рекламодателях, этот вид передачи кода будет представлен только в файле NetworkCodeServes
а показы – только в файле NetworkImpressions
.
Код
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
Результаты
Строка | LineItemID (Идентификатор позиции) |
CodeServes (Количество передач кода) |
Impressions (Количество показов) |
RenderRate (Коэффициент отрисовки) |
1 | 1111111111 | 6000 | 2600 | 43,33 |
2 | 2222222222 | 1 000 000 | 371 200 | 37,12 |
3 | 3333333333 | 50 000 | 17 550 | 35,1 |
4 | 4444444444 | 800 000 | 275 000 | 34,38 |
5 | 5555555555 | 1 500 000 | 400 000 | 26,66 |
Данные о количестве передач кода, количестве показов и доле отрисовки с систематизацией по категории устройств и размеру показанного креатива
Включите в запрос категорию устройства и размер показанного креатива, чтобы узнать, как меняются доли отрисовки в рамках заказа у определенного рекламодателя.
Код
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
Результаты
Строка | LineItemID (Идентификатор позиции) |
DeviceCategory (Категория устройства) |
CreativeSizeDelivered (Размер показанного креатива) |
CodeServes (Количество передач кода) |
Impressions (Количество показов) |
RenderRate (Коэффициент отрисовки) |
1 | 6666666666 | Подключенный телевизор | Видеообъявление/оверлей | 100 | 40 | 40,0 |
2 | 6666666666 | Компьютер | Видеообъявление/оверлей | 20 000 | 9000 | 45,0 |
3 | 6666666666 | Смартфон | Видеообъявление/оверлей | 32 000 | 25 000 | 78,13 |
4 | 6666666666 | Планшет | Видеообъявление/оверлей | 1000 | 800 | 80,0 |
5 | 7777777777 | Подключенный телевизор | 300 x 250 | 200 | 190 | 95,0 |
6 | 7777777777 | Компьютер | 300 x 250 | 185 000 | 184 000 | 99,46 |
7 | 7777777777 | Смартфон | 300 x 250 | 225 000 | 220 000 | 97,77 |
8 | 7777777777 | Планшет | 300 x 250 | 10000 | 9800 | 98,0 |
9 | 7777777777 | Подключенный телевизор | 300 x 50 | 50 | 50 | 100,0 |
10 | 7777777777 | Компьютер | 300 x 50 | 1000 | 900 | 90,0 |
11 | 7777777777 | Смартфон | 300 x 50 | 90 000 | 80 000 | 88,89 |
12 | 7777777777 | Планшет | 300 x 50 | 800 | 750 | 93,75 |
Видимость
Данные о видимости доступны в полях ActiveViewEligibleCount
, ActiveViewMeasurableCount
и ActiveViewViewableCount
файлов показов и ActiveView. Подробнее об этих полях и о том, как задаются эти значения…
Чтобы рассчитать видимость за определенный период, необходимо просуммировать значения, найденные в файлах, или объединить отдельные события, а затем найти общее значение. Обе эти методики могут предоставлять вам немного разные сведения. Давайте рассмотрим каждую из них.
Данные о доступных показах, отслеживаемых показах и показах в видимой области экрана (общее количество)
Вы можете узнать количество доступных, отслеживаемых показов, а также показов в видимой области экрана за определенный день. Как было сказано выше, для этого необходимо использовать файлы показов и ActiveView.
Код
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
Результаты
Строка | EligibleImpressions (Доступные показы) |
MeasurableImpressions (Отслеживаемые показы) |
ViewableImpressions (Количество показов в видимой области экрана) |
1 | 97 000 000 | 95 000 000 | 60 000 000 |
Данные о доступных показах, отслеживаемых показах и показах в видимой области экрана (по объединенной статистике показов)
Определите количество доступных, отслеживаемых показов, а также показов в видимой области экрана за определенный день, объединив отдельные события в файлах с данными о показах и ActiveView, а затем просуммировав полученные значения. Иногда бывает так, что нам удается зарегистрировать запрос ping, относящийся к показу Active View в видимой области экрана, но не запрос ping показа. В результате при объединении данных ActiveView с данными о показах вы можете обнаружить разницу в количестве отслеживаемых показов. Кроме того, количество показов в видимой области экрана может быть меньше по сравнению с первым запросом, показанным выше.
Код
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
Результаты
Строка | EligibleImpressions (Доступные показы) |
MeasurableImpressions (Отслеживаемые показы) |
ViewableImpressions (Количество показов в видимой области экрана) |
1 | 97 000 000 | 95 000 000 | 59 900 000 |
Ключи-значения
Использование ключей
Поле CustomTargeting
позволит вам узнать, как часто каждый из ваших ключей указывался в запросе объявления, а поле TargetedCustomCriteria
– как часто каждый ключ использовался для показа позиции. Если вам нужно удалить часть ключей для соблюдения лимита на их количество, вы можете заархивировать активные ключи, которые не попадают в результаты или встречаются в них нечасто.
Код
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
Результаты
Строка | Key (Ключ) |
KeyUsageCount (Количество использований ключа) |
KeyTargetedCount (Целевое количество использований ключа) |
1 | key_abc | 10 000 000 | 1 000 000 |
2 | key_def | 25 000 000 | 5 000 000 |
3 | key_ghi | 40 000 | 2000 |
4 | key_jkl | 300 000 | 12 000 |
5 | key_mno | 100 000 | 1000 |
Данные о ставках с систематизацией по партнерам по назначению ставок
Данные о ставках из поля CustomTargeting
позволят вам узнать, как часто тот или иной партнер назначает ставки. В примере ниже наименование каждого партнера начинается с элемента bidder_prefix_
, как в bidder_prefix_partnername
, а информация о ставке партнера имеет следующий формат: bidder_prefix_partnername=1.23
.
Код
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
Результаты
Строка | Bidder (Участник аукциона) |
BidCount (Количество ставок) |
1 | bidder_prefix_partner_1 | 15 000 000 |
2 | bidder_prefix_partner_2 | 12 000 000 |
3 | bidder_prefix_partner_3 | 9 000 000 |
4 | bidder_prefix_partner_4 | 6 000 000 |
5 | bidder_prefix_partner_5 | 3 000 000 |
Данные о ценности и количестве ставок, относящиеся к одному партнеру по назначению ставок
Вы можете узнать, какие ставки активнее всего использует определенный партнер по назначению ставок и насколько часто назначалась каждая такая ставка. В примере ниже выбираются 10 самых распространенных ставок из таблиц с данными о показах для партнера с наименованием bidder_partner
(показы, где поле CustomTargeting
содержит ключ bidder_partner
, значение которого равно ставке, например 1,23
).
Код
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
Результаты
Строка | BidPrice (Ставка) |
BidCount (Количество ставок) |
1 | 0,01 | 600 000 |
2 | 0,02 | 500 000 |
3 | 0,05 | 400 000 |
4 | 0,07 | 300 000 |
5 | 0,09 | 200 000 |
6 | 0,03 | 150 000 |
7 | 0,08 | 100 000 |
8 | 0,04 | 75 000 |
9 | 0,10 | 50 000 |
10 | 0,06 | 25 000 |
Данные о количестве и средних значениях ставок
Из таблиц с данными о показах всех партнеров по назначению ставок вы можете узнать общее количество ставок и их среднее значение. В примере ниже наименование каждого партнера начинается с элемента bidder_prefix_
, как в bidder_prefix_partnername
, а информация о ставке партнера имеет следующий формат: bidder_prefix_partnername=1.23
.
Код
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
Результаты
Строка | Bidder (Участник аукциона) |
BidCount (Количество ставок) |
AverageBid (Средняя ставка) |
1 | bidder_prefix_partner_1 | 15 000 000 | 0,21 |
2 | bidder_prefix_partner_2 | 12 000 000 | 1,43 |
3 | bidder_prefix_partner_3 | 9 000 000 | 2,67 |
4 | bidder_prefix_partner_4 | 6 000 000 | 6,80 |
5 | bidder_prefix_partner_5 | 3 000 000 | 0,92 |
Данные о количестве сегментов из платформы управления данными
Платформы управления данными часто указывают сегменты, к которым принадлежит пользователь, в виде пар "ключ-значение". Узнайте, как часто эти сегменты появляются в запросах объявлений, то есть сколько показов тому или иному сегменту можно было выполнить. Извлеките идентификаторы сегмента из поля CustomTargeting. В примере ниже ключ имеет название "seg", а значения должны состоять из букв и цифр.
Код
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
Результаты
Строка | Segment (Segment) |
Count (Количество) |
1 | abcd1234 | 10 000 000 |
2 | efgh5678 | 9 000 000 |
3 | ijkl9012 | 8 000 000 |
4 | mnop3456 | 7 000 000 |
5 | qrst7890 | 6 000 000 |
6 | uvwx1234 | 5 000 000 |
7 | yzab5678 | 4 000 000 |
8 | cdef9012 | 3 000 000 |
9 | ghij3456 | 2 000 000 |
10 | klmn7890 | 1 000 000 |
Видео
Данные об ошибках в видеорекламе с систематизацией по URL, идентификатору и расположению рекламного блока
Для устранения серьезных ошибок в позициях для видеорекламы вам может потребоваться найти страницу и/или рекламное место на странице, где ошибки встречаются чаще всего. Чтобы найти ошибки, относящиеся к определенным позициям (в их случае поле ActionName
принимает значение error
), можно использовать файл NetworkVideoConversions
. Если на вашей странице есть несколько видеопроигрывателей, которые используют один и тот же рекламный блок, а вы различаете рекламные блоки на странице с помощью ключа pos
, извлеките это значение pos
из поля CustomTargeting
. В примере ниже, где ключ имеет название pos
, представлены пять комбинаций полей RefererURL
, AdUnitID
и Position
, которые связаны с наибольшим числом ошибок в одной позиции для видеорекламы.
Код
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
Результаты
Строка | RefererURL (URL перехода) |
AdUnitID (Идентификатор рекламного блока) |
Position (Расположение) |
ErrorCount (Количество ошибок) |
1 | https://example.com/ | 11111111 | Вверху | 2000 |
2 | https://example.com/url/a | 22222222 | Вверху | 1500 |
3 | https://example.com/url/b | 22222222 | Вверху | 1400 |
4 | https://example.com/url/c | 11111111 | Вверху | 1000 |
5 | https://example.com/url/c | 11111111 | Внизу | 500 |