Чтобы понять, какие ролики смотрят зрители и стоит ли вкладывать деньги в видеомаркетинг.
Видеоконтент помогает генерировать прибыль. Вы выкладываете ролик на YouTube, о вас узнают, вы повышаете узнаваемость бренда, продаете товары или услуги, продвигаете мероприятия. Аналитика помогает понять, какие ролики смотрят зрители и стоит ли вкладывать деньги в видеомаркетинг.
Эта статья о том, как достичь двух целей:
1. Улучшить отслеживание видео
Попытаемся отслеживать не просто длительность просмотра ролика, но и то, как зритель взаимодействовал с роликом: на каком моменте поставил на паузу, насколько далеко перемотал ролик, когда полностью завершил просмотр.
Чтобы улучшить отслеживание видео, понадобятся:
- пользовательские показатели Google Analytics;
- метод navigator.sendBeacon() для отправки данных в Google Analytics;
- функция .unload() из библиотеки jQuery.
2. Получить подробные отчеты
Чтобы составить подробный отчет, понадобятся:
- уровень данных Google Analytics (он же dataLayer);
- пользовательские параметры Google Analytics;
- API YouTube.
Значения, которые мы получим из API и запишем в Google Analytics:
- жанр (genre);
- канал (channel);
- рейтинг (rating).
Принцип работает с другими видеохостингами и аналитическими платформами.
Основные ограничения отслеживания видео
В Analytics событие наступает тогда, когда зритель досматривает видео до контрольных точек — равных отрезков ролика. У такого способа есть ограничения:
- Большие интервалы между контрольными точками. Из-за этого события наступают нерегулярно, данные в отчетах слишком общие.
- Не фиксируется последнее действие. В отчетах Analytics отображается предпоследнее действие зрителя. Например, если зритель закрыл ролик на 49%, в Analytics отобразится событие, что зритель досмотрел только 40% ролика.
- Строковый тип данных. События о роликах фиксируются текстом, поэтому можно получать информацию о контрольных точках, но нельзя узнать время просмотра ролика по названию, сеансу или пользователю.
Уберем ограничения, чтобы улучшить отслеживание видео.
Большие интервалы между контрольными точками. Чтобы в отчеты попадали актуальные данные, снизим интервалы между контрольными точками. По умолчанию контрольные точки в Analytics отправляются через каждые 25% времени ролика. Сократим до 10%:
Не фиксируется последнее действие. Пример:
- На сайте есть 30-минутный ролик. События фиксируются через каждые 10% ролика.
- Зритель досмотрел ролик до 3-й минуты, событие отобразилось в Analytics.
- Зритель закрывает видео на 5:59. Событие не отображается, поскольку зритель не дошел до следующей контрольной точки на 6:00.
Чтобы зафиксировать последнее реальное действие зрителя, нужна функция jQuery.unload() и метод navigator.sendBeacon.
Функция .unload() вызывает событие, которое перенесет время воспроизведения в секундах на время просмотра видео непосредственно перед событием ухода пользователя с сайта. Событие наступает в разных случаях:
- зритель перешел по другой ссылке;
- ввел новый URL в адресной строке;
- выбрал следующее видео;
- закрыл браузер;
- обновил страницу.
Метод navigator.sendBeacon отработает асинхронно, даже если пользователь закроет ролик или вообще покинет сайт:
Для настройки метода sendBeacon в настройках тега отправки данных в GA в GTM нужно включить переопределение настроек. В названии поля указать параметр transport со значением beacon:
Строковый тип данных. Создадим пользовательские показатели с событиями, чтобы отслеживать воспроизведение ролика:
- progress (проигрывание видео);
- pause (пауза);
- watch to end (просмотры до конца);
- unload (закрытие видео).
Пользовательский показатель Google Analytics для времени просмотра видео предоставит гораздо более широкие возможности для создания отчетов. В отчете будет видно время воспроизведения:
- каждого ролика за определенный период;
- одного или всех роликов;
- в разбивке по пользователям или сессиям;
- по географии, источникам трафика или технологиям (суммарно, по пользователю или сеансу).
Пример кастомного отчета Google Analytics с настроенным пользовательским показателем, где можно посмотреть время воспроизведения видео в разрезе ярлыка события, в который передается название видеоролика:
Пример отчета, в котором пользовательские показатели видны в разрезе параметра «Источник/канал». В правой колонке видно среднее время воспроизведения за сессию:
Источник — ресурс, с которого зритель попал на ваш сайт. Канал — тип перехода: например, обычный поиск (organic), поисковая реклама с платой за клик (cpc) или переход с сайта (referral). Источники и каналы с лучшими показателями воспроизведения лучше всего подходят для дальнейшего продвижения.
Также мы можем составлять кастомные отчеты, комбинируя настроенные пользовательские параметры и показатели. Пример отчета в разбивке по жанрам:
Резюмируем рекомендации по отслеживанию видео:
- Сокращаем расстояние между контрольными точками.
- Фиксируем время между последним событием и закрытием ролика.
- Настраиваем пользовательские показатели, чтобы сделать отчеты более подробными.
Как работает отслеживание видео
Последовательность отслеживания событий:
Список переменных, которые мы получаем из API и передаем при отправке событий в Google Analytics:
| Название | Описание | Пример | Тип данных |
| video_name | Название видео | Everybody Loves Raymond S03 E09 | Строка |
| show_name | Название шоу | Everybody Loves Raymond | Строка |
| genres | Жанр (фантастика, комедия) | Comedy | Строка |
| media_type | Тип медиа (фильм, шоу, сезон, эпизод) | Episode | Строка |
| episode_no | Номер эпизода | E01 | Строка |
| season_no | Номер сезона | S06 | Строка |
| premium_content | Нужен ли доступ к YouTube Premium | No | Строка |
| tv_channel | Название ТВ-канала | CBS | Строка |
| certificate | Есть ли ограничение по возрасту | TV-PG | Строка |
| language | Язык | English | Строка |
| release_year | Год премьеры | 1996 | Строка |
| video_length | Общая продолжительность видео в секундах | 1,200 | Число |
| play_time | Длительность просмотра в секундах | 345 | Число |
Примеры отслеживания видео
Допустим, зритель смотрит 9-й эпизод 3-го сезона популярного сериала. Эпизод длится 10 минут. В течение этого времени зритель выполнил следующие действия:
- начал смотреть видео;
- просмотрел значительную часть видео;
- поставил видео на паузу;
- перемотал видео вперед;
- покинул страницу с видео.
Что сделать, чтобы действия зрителя попали в отчеты:
- Написать слушатель событий YouTube API, который перехватит данные из API и запишет их в dataLayer, и внедрить его на сайт с помощью HTML-тега GTM.
- Настроить GTM на отправку событий в GA после записи перехваченных данных в dataLayer.
Зритель начал смотреть ролик
Событие: event=»video_play»
Описание: Зритель начал смотреть ролик (по клику или автоматически).
Длительность воспроизведения: 0
Пример кода:
dataLayer.push({
‘event’: ‘video_play’,
‘event_category’: ‘video’,
‘event_action’: ‘play’,
‘event_label’: ‘Everybody Loves Raymond S03 E09’,
‘event_value’: 0,
‘non_interaction’: 0,
‘video’:{
‘video_name’: ‘Everybody Loves Raymond S03 E09’,
‘show_name’: ‘Everybody Loves Raymond’,
‘genres’: ‘Comedy’,
‘media_type’: ‘Episode’,
‘episode_no’: ‘E01’,
‘season_no’: ‘S06’,
‘premium_content’: ‘No’,
‘tv_channel’: ‘CBS’,
‘certificate’: ‘TV-PG’,
‘language’: ‘English’,
‘release_year’: ‘1996’,
‘play_time’: ‘0’, //Начало просмотра
‘video_length’: ‘600’ // Длительность ролика
},
});
Зритель поставил видео на паузу
Событие: event=»video_pause»
Описание: Зритель поставил видео на паузу.
Длительность воспроизведения: между последней контрольной точкой и паузой.
Пример кода:
dataLayer.push({
‘event’: ‘video_pause’,
‘event_category’: ‘video’,
‘event_action’: ‘pause’,
‘event_label’: ‘Everybody Loves Raymond S03 E09’,
‘event_value’: 0,
‘non_interaction’: 0,
‘video’: {
‘video_name’: ‘Everybody Loves Raymond S03 E09’,
‘show_name’: ‘Everybody Loves Raymond’,
‘genres’: ‘Comedy’,
‘media_type’: ‘Episode’,
‘episode_no’: ‘E01’,
‘season_no’: ‘S06’,
‘premium_content’: ‘No’,
‘tv_channel’: ‘CBS’,
‘certificate’: ‘TV-PG’,
‘language’: ‘English’,
‘release_year’: ‘1996’,
‘play_time’: ’10’, // Разница между паузой и последней контрольной точкой
‘video_length’: ‘600’,
},
});
| Номер хита | Событие | Длительность воспроизведения |
| 1 | Проигрывание видео | 0 секунд |
| 2 и 3 | Контрольная точка | 60 секунд каждая точка |
| 4 | Пауза | 10 секунд |
Зритель досмотрел видео до контрольной точки
Событие: event=»video_milestone»
Длительность воспроизведения: 1/10 общей длительности видео.
Пример кода:
dataLayer.push({
‘event’: ‘video_milestone’,
‘event_category’: ‘video’,
‘event_action’: ‘10% progress’,
‘event_label’: ‘Everybody Loves Raymond S03 E09’,
‘event_value’: 0,
‘non_interaction’: 0,
‘video’: {
‘video_name’: ‘Everybody Loves Raymond S03 E09’,
‘show_name’: ‘Everybody Loves Raymond’,
‘genres’: ‘Comedy’,
‘media_type’: ‘Episode’,
‘episode_no’: ‘E01’,
‘season_no’: ‘S06’,
‘premium_content’: ‘No’,
‘tv_channel’: ‘CBS’,
‘certificate’: ‘TV-PG’,
‘language’: ‘English’,
‘release_year’: ‘1996’,
‘play_time’: ’12’,
‘video_length’: ‘600’,
},
});
| Обращение | Событие | Длительность воспроизведения |
| 1 | Проигрывание видео | 0 секунд |
| 2 – 11 | Контрольные точки | 60 секунд каждая точка |
Зритель перематывает видео вперед
Событие: event=»video_seek»
Длительность воспроизведения: время между последней контрольной точкой и новой позицией.
Пример кода:
dataLayer.push({
‘event’: ‘video_seek’,
‘event_category’: ‘video’,
‘event_action’: ‘seek’,
‘event_label’: ‘Everybody Loves Raymond S03 E09’,
‘event_value’: 0,
‘non_interaction’: 0,
‘video’: {
‘video_name’: ‘Everybody Loves Raymond S03 E09’,
‘show_name’: ‘Everybody Loves Raymond’,
‘genres’: ‘Comedy’,
‘media_type’: ‘Episode’,
‘episode_no’: ‘E01’,
‘season_no’: ‘S06’,
‘premium_content’: ‘No’,
‘tv_channel’: ‘CBS’,
‘certificate’: ‘TV-PG’,
‘language’: ‘English’,
‘release_year’: ‘1996’,
‘play_time’: ’30’,
‘video_length’: ‘600’,
},
});
| Номер хита | Событие | Длительность воспроизведения |
| 1 | Проигрывание видео | 0 seconds |
| 2, 3, 4, 5 | Контрольные точки | 60 секунд каждая точка |
| 6 | Перемотка | 49 секунд |
| 7 | Контрольные точки | 55 секунд каждая точка |
Зритель покинул страницу с видео
Событие: event=»video_unload»
Описание: зритель покинул страницу с видео (закрыл страницу, либо нажал в браузере на кнопки «вперед» или «назад»).
Длительность воспроизведения: время между последней контрольной точкой и моментом выхода со страницы.
Пример кода:
dataLayer.push({
‘event’: ‘video_unload’,
‘event_category’: ‘video’,
‘event_action’: ‘unload’,
‘event_label’: ‘Everybody Loves Raymond S03 E09’,
‘event_value’: 0,
‘non_interaction’: 0,
‘video’: {
‘video_name’: ‘Everybody Loves Raymond S03 E09’,
‘show_name’: ‘Everybody Loves Raymond’,
‘genres’: ‘Comedy’,
‘media_type’: ‘Episode’,
‘episode_no’: ‘E01’,
‘season_no’: ‘S06’,
‘premium_content’: ‘No’,
‘tv_channel’: ‘CBS’,
‘certificate’: ‘TV-PG’,
‘language’: ‘English’,
‘release_year’: ‘1996’,
‘play_time’: ’40’,
‘video_length’: ‘600’,
},
});
| Номер хита | Событие | Длительность воспроизведения |
| 1 | Проигрывание видео | 0 секунд |
| 2 | Закрытие видео | 40 секунд |
Итог
В статье мы рассмотрели принципы настройки аналитики для видео, с помощью которых вы сможете точнее отслеживать взаимодействие зрителей с видео и получать более подробную отчетность. Это поможет проанализировать эффективность вашего YouTube-канала.