В середине марта ряд крупных рекламодателей покинул YouTube, поскольку их пре-роллы (оплачиваемые видео, показываемые перед основным контентом и которые можно пропустить через 5 секунд) размещались в видео с оскорбительным содержимым. Однако в этой статье мы хотели бы поговорить о другой важной теме – непреднамеренном показе пре-роллов в детском контенте.
Проблема в том, что даже при правильных настройках таргетинга на взрослую аудиторию огромная часть (до 90% в некоторых случаях) показов приходится на детские каналы. Это происходит потому, что родители используют «взрослые» аккаунты на своих устройствах, как мобильных, так и десктопных, чтобы показывать мультфильмы и образовательные видео своим детям.
Естественно, рекламодатели не хотят тратить бюджеты на детей, которые просто смотрят пре-роллы, поскольку это почти не влияет на продажи. Такие видео и каналы можно исключить с помощью негативных ключевых слов, но это трудоемко и сложно, и не исключит все каналы и видео.
Многие непопулярные детские каналы и видео продолжают показывать пре-роллы, потому что они имеют общее детское название или неадекватное описание, но их все равно смотрят многие дети. Есть способ автоматизировать поиск и исключение таких каналов с помощью скриптов AdWords, который приведен ниже.
Решение проблемы
Google AdWords позволяет создавать собственные скрипты на JS для управления рекламным аккаунтом. Они основаны на Google Apps Scripts, и их главное преимущество – интеграция с другими сервисами Google, такими как Google Drive, Spreadsheets, YouTube, Analytics, BigQuery и т.д., а также возможность работы с API третьих сторон. Например, вы можете использовать YouTube Data API v3 для поиска видео для размещения рекламы.
Оказалось, что детские видео объединяются не по названиям, а по тегам. После модификации скрипта для поиска видео на YouTube были найдены похожие теги для различных детских видео на английском, русском и украинском языках и сохранены в Google Spreadsheet для дальнейшего использования. Файл публичный, но рекомендуется сделать копию этого файла и сохранить его на своем Google Drive перед настройкой скрипта и заменить ID файла в скрипте на новый.
Важные детали
- Мы получаем все ссылки с размещениями YouTube и videoId за предыдущую дату из URL_PERFORMANCE_REPORT:
var report = AdWordsApp.report(
‘SELECT Url ‘ +
‘FROMURL_PERFORMANCE_REPORT ‘ +
‘WHERE CampaignName CONTAINS “Video” ‘ +
‘DURING YESTERDAY’);
var rows = report.rows();
while (rows.hasNext()) {
var row = rows.next();
var videoId = row.toString().replace(‘www.youtube.com/video/’,”);
videoIdList.push();
}
- Запросы отправляются на YouTube с каждым video id в цикле. Полученные в ответ теги и ID каналов видео проверяются на соответствие чему-либо из собранной библиотеки детских тегов:
for (var i = 0; i < videoList.length; i++) {
var results = YouTube.Videos.list(‘snippet’, {id: videoList});
try {
if (results.items.snippet !== undefined) {
var channelId = results.items.snippet.channelId;
var tags = results.items.snippet.tags;
if (uniqueChannel !== true){
for (var k = 0; k < tags.length; k++) {
if (tagsObj] !== undefined) {
channels.push();
uniqueChannel = true;
Logger.log(“Add to the library with extensions – ” + channelId);
break;
} else {
continue;
};
}
}
}
} catch (e) {
Logger.log(e);
}
}
Если какой-либо из тегов видео соответствует тегам в библиотеке, ID канала видео будет отправлен в массив для исключения (если он еще не был добавлен через другое видео с того же канала).
После проверки всех видео запускается цикл для добавления всех каналов в список исключенных сайтов вашего аккаунта AdWords. Список с именем, идентичным тому, что в скрипте (здесь – “Video_channels”), нужно создать заранее. Лимит для списка исключенных сайтов – 65 000, так что переполнения быть не должно.
var excludedPlacementList = AdWordsApp.excludedPlacementLists().withCondition(‘Name = “Video_Channels”‘).get().next();
for (var d = 0; d < channels.length; d++) {
excludedPlacementList.addExcludedPlacement(“youtube.com/channel/”+channels.toString());
};
Возникшие проблемы
Предложенное выше решение казалось работать правильно, но некоторые проблемы все же возникли. При использовании этого скрипта мы столкнулись со следующей проблемой. Скрипт не успевал обработать все видео за предыдущий день из-за 30-минутного ограничения AdWords. Поэтому новые исключения не добавлялись.
Кроме того, было необходимо добавлять видео как можно чаще, чтобы сэкономить бюджет, таргетируя правильную аудиторию. К сожалению, даже после добавления видео в список исключений они, по нашему опыту, не начинали работать сразу. Техническая поддержка Google оценила, что это займет до 2 дней, обычно меньше. Поэтому, если у вас есть список каналов, собранный скриптом, рекомендуется добавлять их в список исключений заранее.
Решение
Кажется разумным запускать скрипт каждый час и не проверять видео, которые уже были проверены ранее, иначе скрипт достигнет 30-минутного лимита в середине дня. Решение было разработано с использованием этого скрипта. Оно было немного сложнее по сравнению с первой версией скрипта, но результаты были отличными.
Мы добавили функциональность для сохранения txt-файлов с проверенным контентом на Google Drive. ID проверенного контента записывались в файл, и позже они сравнивались с новыми ID. Сравнение проводилось с использованием метода разности из библиотеки open-source Undercode.js.
В результате мы получили массив исключительно новых videoId за последний час, которые мы проверили по схеме, разработанной в первой версии скрипта, на наличие тегов. А после завершения скрипта мы добавили все видео за текущий день в тот же txt-файл.
Настройка скрипта
- Укажите имя файла, который будет создан на Google Drive:
var dataFile = “videoIds.txt”;
Если такого файла нет, он будет создан автоматически. - Выберите кампании, которые вы хотите проверить:
‘WHERE CampaignName CONTAINS “(Video)”
Синтаксис AWQL приведен в справке AdWords. - Замените ID файла в Google Spreadsheet:
var spreadsheet = SpreadsheetApp.openById(’11PMGc70yLE88Npi47Hwb6W36Y8yjw2N2CdXXLgdK12o’); - В интерфейсе AdWords создайте общий список исключенных размещений:
var excludedPlacementList = AdWordsApp.excludedPlacementLists().withCondition(‘Name = “Video_channels”‘).get().next();
и вставьте его имя вместо “Video_channels”. - Включите YouTube в расширенных API.
После первого просмотра включите YouTube API в Google Developers Console. Ссылка будет в журнале ошибок. - Установите расписание «Каждый час» для работы скрипта.
И вуаля!
Заключительные замечания
В результате мы создали скрипт, который проверял YouTube-каналы с детским видео-контентом каждый час без достижения временного лимита. Вы также можете настроить скрипт под любую тему, добавив новые теги в файл Spreadsheet. Код обновленного скрипта был размещен здесь. Ваши вопросы и предложения приветствуются.
Имейте в виду, что иногда видео-каналы с другим контентом тоже попадают в список исключений, но это происходит редко. Есть две основные причины для этого. Владельцы каналов делятся контентом для детей, а также другими типами контента. И иногда видео-каналы могут использовать неправильные теги, чтобы расширить свою аудиторию.
По нашим наблюдениям, после начала использования скрипта коэффициент просмотров (VTR, view-through rate) значительно снизится, поскольку взрослые чаще нажимают кнопку «пропустить», чем дети, но таким образом ваша реклама будет показана релевантной аудитории.
Используйте скрипт и размещайте свою рекламу на правильных каналах!
Каналы
Поиск
Категории
- Агентства
- Консультации по интеграции ИИ
- Обучение ИИ и семинары
- Amazon
- Аналитика
- Блог
- Дизайн бренда и идентичность
- Кейс-стади
- Каналы
- Стратегия Clock Fly
- Исследование конкурентов
- Контент
- Создание контента
- Стратегия контента
- Типы контента
- Аналитика данных и инсайты
- Цифровой маркетинг
- Цифровая стратегия
- Дисплей
- Электронная коммерция
- Email-маркетинг
- Обновление Google SEO
- Новости отрасли
- ИНСПИРАЦИЯ
- Маркетинговые исследования
- Маркетинг
- Основы маркетинга
- Новости
- Газеты
- Open AI
- Оригинальные исследования
- Платный поиск
- PR
- Роботизированная автоматизация процессов
- SEO
- SEO Reality Show
- Социальные сети
- Без категории
- Веб-разработка
- Архитектура сайта
- Что такое SEO
- WordPress
- YouTube и видео
Теги
Агентство ИИ Агентство ИИ Искусство блог Бизнес Каналы Контент Креатив данные аналитика Дизайн разработка Цифровой Цифровое агентство Иллюстрация лендинг Маркетинг новости Новости и исследования Продукт робототехника SEO ПО Стартап Технологии Тренды WordPress Семинары
Социальные сети
Рассылка
Зарегистрируйтесь сейчас, чтобы получать последние обновления о акциях и купонах.
Подписаться
Поиск
Недавние посты
ИИ улучшает опыт клиентов в розничной торговле.
27 авг. 2024