Уведомление

Доступно только в Google Менеджере рекламы 360.

Примеры запросов для передачи данных из отчетов

Доступно только в Google Менеджере рекламы 360.

Из этой статьи вы узнаете, как создавать в Менеджере рекламы запросы для передачи данных из отчетов. Подробнее о файлах передачи данных, а также о том, как получать их

Ранее эта статья называлась справочным руководством по передаче данных.

Развернуть все  Свернуть все

Содержание

Невыполненные показы

Данные о невыполненных показах в файле 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

Эта информация оказалась полезной?

Как можно улучшить эту статью?
Поиск
Очистить поле поиска
Закрыть поиск
Главное меню
1965037779148643157
true
Поиск по Справочному центру
true
true
true
true
true
148
false
false