Отслеживание Vimeo с помощью Google Tag Manager

10 декабря, 2023

На вашем сайте видео размещаются через проигрыватель Vimeo, и вы хотели бы отслеживать различные взаимодействия с ним, когда пользователи воспроизводят, приостанавливают, досматривают до конца и просматривают 10, 25, 50, 75 и 90% видео, чтобы передавать такие события в счетчики аналитики? Тогда я предлагаю вам использовать Google Tag Manager и специальный код, который позволит решить эту задачу.

Другие материалы на эту тему:

Начало

Vimeo - один из самых известных видеохостингов, на котором разные люди со всего мира делятся творческими проектами и жизненными историями. В России он не так известен и востребован, как YouTube. Но это не отменяет его популярности в других странах мира.

На Vimeo владельцы сайтов размещают профессиональные видео по самым разным тематикам - анимация, искусство, документальные фильмы, музыка, путешествия, обучающие уроки/лекции и другой творческий контент высокого качества, который серьезно отличается от других аналогичных платформ и видеосервисов. Именно за "художественную самобытность" Vimeo и любят представители разных профессий.

Vimeo

Так же, как и любой видеохостинг, Vimeo позволяет своим пользователям размещать видеопроигрыватели с видео на сторонних сайтах, используя простой код встраивания. Один из таких проигрывателей представлен ниже:

Именно это видео мы и будем отслеживать в рамках данного руководства. И поможет нам в этом описанное на сайте bounteous.com решение.

К сожалению, простая интеграция Vimeo и Google Analytics 4 возможна только на тарифах Business, Premium, Advanced или Enterprise. Поэтому нам необходим другой способ настройки.

Весь процесс отслеживания видео Vimeo в Google Tag Manager сводится к нескольким простым шагам:

  1. создание переменной проверки;
  2. создание триггера с переменной проверки;
  3. создание HTML-тега;
  4. создание триггера специального события;
  5. создание нескольких переменных уровня данных;
  6. создание тегов для аналитических инструментов.

Давайте разберем каждый шаг подробнее.

1. Создание переменной проверки

Поскольку код, который вы будете использовать при отслеживании Vimeo, достаточно большой, его активация на каждой странице может повлиять на скорость загрузки страницы и всего сайта. Поэтому рекомендуется активировать этот код только тогда, когда проигрыватель Vimeo действительно присутствует (=встроен) на странице. Если видеопроигрывателя Vimeo нет на странице, то и нет смысла запускать код.

Для этого перейдите в диспетчер тегов Google и создайте пользовательскую переменную типа Собственный код JavaScript. Вставьте в него нижеприведенный код:

Если проигрыватель Vimeo есть на странице, эта переменная вернет значение true, если нет - false.

В Google Tag Manager это будет выглядеть так:

Переменная "Собственный код JavaScript"

Сохраните переменную.

2. Создание триггера с переменной проверки

Создайте новый триггер типа Окно загружено (Window Loaded) или Модель DOM готова (DOM Ready), выбрав пользовательскую переменную проверки, созданную на предыдущем шаге, как дополнительное условие активации:

Триггер с дополнительным условием активации

Таким образом, если проигрыватель Vimeo присутствует на странице, этот триггер будет активирован. Если проигрывателя нет, этот триггер срабатывать не будет.

3. Создание HTML-тега (версия Bounteous)

Теперь создайте тег типа Пользовательский HTML и вставьте в него нижеприведенный код (ссылка на оригинал):

Этот код от команды Bounteous. В нем есть настройки, которые не следует трогать, а есть конфигурация, которые может быть изменена в зависимости от ваших потребностей.

По умолчанию скрипт будет активировать события, когда пользователи воспроизводят, приостанавливают, досматривают до конца и просматривают 10%, 25%, 50%, 75% и 90% каждого видео на странице. Эти значения по умолчанию можно изменить. За это отвечают две настройки внизу кода:

, где:

  • 'every': [25] отслеживает каждые 25% просмотров, то есть 25%, 50%, 75%;
  • 'each': [10, 90] отслеживает, когда было просмотрено 10% видео и 90% видео.

Методы every и each в JavaScript используются для перебора элементов массива или объекта. Оба метода принимают функцию в качестве аргумента, которая вызывается для каждого элемента. Однако между этими методами есть различие. Метод each используется для перебора элементов массива или объекта, а метод every используется для проверки, удовлетворяют ли все элементы массива или объекта некоторому условию.

Ход просмотра в %

Другими словами, если вы оставите по умолчанию 'every': [25] и 'each': [10, 90], то скрипт начнет работу с 10%, затем отправит событие на 25% и далее с шагом 25 будет фиксировать еще несколько событий (50% и 75%), пока не упрется в ограничение конца массива 90%. В результате будут отслеживаться пороговые значения в 10%, 25%, 50%, 75% и 90%, что очень похоже на настройку стандартного триггера YouTube в GTM.

Остальные настройки кода мы менять не будем, хотя знающий специалист может скорректировать пользовательское имя уровня данных (dataLayer), если по каким-то причинам оно у было изменено, а также включить/отключить отслеживание отдельных событий Vimeo:

  • Playing (Запуск)
  • Pausing (Пауза)
  • Watching to the end (Просмотрено до конца)

Например, если вы не захотите запускать эти события, то в самом конце скрипта найдите такие строки:

При установке значения false для каждого события оно отслеживаться не будет, если true - это событие будет активировано, и вы сможете его отследить.

Настройка включения/отключения событий

Подробнее о работе самого скрипта вы можете почитать на сайте разработчиков решения bounteous.com.

Примечание: есть чуть другая вариация вышеприведенного кода. Скачать скрипт вы можете по этой ссылке.

В качестве триггера активации выберите триггер с переменной проверки, который вы создали на предыдущем шаге.

Тег с кодом Bounteous

Сохраните тег.

На этом шаге вы можете запустить режим предварительного просмотра Google Tag Manager, чтобы проверить как работает текущий код. Сделав это, запустите на странице видео Vimeo. На шкале событий диспетчера тегов вы должны увидеть новые события с названием vimeoTrack, а открыв API Call конкретного события, еще и сам уровень данных с дополнительными параметрами:

Событие vimeoTrack на шкале событий GTM

В нем отображаются следующие данные:

  • videoAction - название события (Play, Pause и Watch to End);
  • videoName - название вашего видео Vimeo.

В переменной videoAction также отображается преодоленное пороговое значение, которое указано в настройках скрипта. Например, 50%:

Пороговое значение просмотра видео отображается в videoAction

Убедившись, что события и нужные значения передаются так же, как и задумано, вы можете вернуть в интерфейс диспетчера тегов Google и дозавершить настройку.

4. Создание триггера специального события

Поскольку на шкале событий при каждом взаимодействии с Vimeo срабатывает событие vimeoTrack, то и вам нужно создать триггер специального с события с таким же именем. Для этого перейдите в раздел Триггеры и создайте триггер типа Специальное событие, задав ему название события vimeoTrack:

Триггер специального события vimeoTrack

Сохраните триггер.

5. Создание переменных уровня данных

Поскольку информация, которая передается на уровень данных, нужна нам для последующей ее передачи в аналитические системы (Яндекс.Метрику, Google Analytics 4 и т.д.), то нам необходимо создать две дополнительные переменные уровня данных с именами attributes.videoName и attributes.videoAction соответственно. Просто сделайте так, как показано на скриншоте:

Переменные уровня данных attributes.videoName и attributes.videoAction

Примечание: при составлении переменных attributes.videoName и attributes.videoAction использовалась точечная нотация.

Теперь настало время создать теги для аналитических систем.

6. Теги для счетчиков аналитики

6.1. Тег для Google Analytics 4

Как вы знаете, в Google Analytics 4 есть события улучшенной статистики, одним из которых является взаимодействие с видео YouTube. Вместе с ним GA4 отслеживает следующие типы событий:

  • video_start - при запуске воспроизведения видео;
  • video_progress - при достижении отметок 10%, 25%, 50% и 75% от общей продолжительности видео;
  • video_complete - при завершении видео.

После активации в событиях video_start, video_progress и video_complete фиксируются дополнительные параметры:

  • video_current_time - текущее время видео (в секундах), в которое произошло событие;
  • video_duration - общая продолжительность видео (в секундах);
  • video_percent - значение воспроизведенного видео (в процентах) на момент, когда сработало событие;
  • video_provider - название платформы видео (YouTube);
  • video_title - название видео;
  • video_url - URL-адрес, ссылка на видео YouTube (https://www.youtube.com/watch?v=...);
  • visible (логическое значение) - значение видимости видео в окне браузера. Если видео отображается в области просмотра, результатом будет значение true, если же в другой области (например, в нижней части страницы, на фоновой вкладке) – false.

Мы можем скорректировать названия событий для Vimeo и сделать некоторые из них точно такими же, как и для YouTube, а также использовать рекомендуемые параметры. Например:

  • video_title - переменная уровня данных attributes.videoName;
  • video_provider - vimeo;
  • video_percent - переменная уровня данных attributes.videoAction с определенными значениями.

Как это сделать? Для начала нам нужно привести к образу и подобию названия событий. Поэтому создайте пользовательскую переменную типа Таблица регулярных выражений с названием Vimeo Events, где входящей переменной будет переменная уровня данных attributes.videoAction. Введите нижеприведенные шаблоны (входные значения) и результаты (выходные данные):

  • Play - video_start
  • Pause - video_pause
  • 10|25|50|75|90 - video_progress (значения ваших пороговых значений с использованием спецсимвола регулярных выражений |)
  • Watch to End - video_complete

Таблица регулярных выражений для событий Vimeo

Благодаря таким сопоставлением вы будете видеть вместо значений, прописанных в скрипте командой Bounteous, свои собственные, схожие с привычными названиями событий в Google Analytics 4. Установите значение по умолчанию той же переменной, что и входящее значение. В дополнительных настройках снимите галочки с Только полное соответствие и Включите группы для извлечения подстроки и функцию замены.

Теперь создайте пользовательскую переменную типа Неопределенный параметр:

Неопределенный параметр (undefined)

Она нам пригодится при настройке следующей переменной. После этого создайте еще одну таблицу регулярных выражений, только для хода (%) просмотра. Назовите ее Vimeo Percent. Задайте входной переменной переменную уровня данных attributes.videoAction. Введите нижеприведенные шаблоны (входные значения) и результаты (выходные данные):

  • 10 - 10
  • 25 - 25
  • 50 - 50
  • 75 - 75
  • 90 - 90

Для значения по умолчанию установите переменную неопределенного параметра (undefined):

Таблица регулярных выражений для Video Percent

Таким образом, с помощью данной таблицы регулярных выражений для видеопроигрывателя Vimeo создали аналог встроенной переменной Video Percent, принимающей значение воспроизведенного видео (в процентах) на момент, когда сработало событие. Эта переменная будет использоваться для события video_progress.

Сохраните переменную. Теперь все, что мы создали, мы можем применить к Google Analytics 4. В завершение создайте тег типа Google Аналитика: событие GA4 с соответствующей конфигурацией:

  • Название события - таблица регулярных выражений Vimeo Events, созданная на предыдущем шаге;
  • Параметры события - video_title со значением переменной уровня данных attributes.videoName, созданной на предыдущем шаге, video_provider со значением vimeo и video_percent, для которой используется вторая таблица регулярных выражений;
  • В качестве триггера активации задан триггер специального события vimeoTrack, созданный на предыдущем шаге настройки.

В Google Tag Manager это будет выглядеть так:

Тег события Vimeo для Google Analytics 4

Сохраните изменения. Теперь вы можете включить режим отладки Google Tag Manager и посмотреть, срабатывает ли только что созданный тег события Google Analytics 4 и как он отправляет данные в аналитику.

Для этого запустите видео Vimeo и совершите несколько взаимодействий (воспроизведение видео, пауза, завершение просмотра). На шкале событий должны срабатывать события vimeoTrack. Нажав на одной из них, справа должен быть активирован ваш тег события GA4:

Активный тег Google Analytics 4

Нажмите на него и посмотрите на подробные сведения:

Подробная информация об активированном теге

Как видите, для события хода просмотра video_progress передается три параметра события:

  • video_title - название видео Vimeo;
  • video_provider - название платформы видео (Vimeo);
  • video_percent - процент порогового значения просмотра видео.

Для других событий параметра video_percent не будет, поскольку для запуска видео, паузы и завершения просмотра они не нужны.

Проверить отправку данных в Google Analytics 4 можно с помощью инструмента DebugView. События, которые вы активировали у себя на сайте и проверяли с помощью Google Tag Manager, будут отображаться и в нем. А нажав на одно из них на шкале событий, вы будете видеть все передаваемые с ним параметры и значения:

Проверка с помощью DebugView

Примерно через 24 часа статистика по отслеживаемым вами событиям Vimeo будет доступна в отчетах и Исследованиях Google Analytics 4. Не забудьте после всех настроек опубликовать контейнер Google Tag Manager, чтобы ваши обновления вступили в силу для всех пользователей.

6.1. Тег для Яндекс.Метрики

Поскольку все основные настройки уже были выполнены для тега Google Analytics 4, включая создание нескольких таблиц регулярных выражений, все, что остается сделать сейчас, это определенным образом передать все эти данные в Яндекс.Метрику.

Это можно сделать с помощью создания цели типа JavaScript-событие, а также параметров визита, которые так же отправляются вместе с самим событием. Создайте тег типа Пользовательский HMTL и вставьте в него нижеприведенный код:

, где вместо XXXXXXXX вставьте свой идентификатор счетчика Яндекс.Метрики.

Сначала мы объявляем объект, в котором с определенной вложенностью передаем значения нескольких параметров, а в конце передаем четвертым аргументом этот объект как параметры визитов вместе с JavaScript-событием. Конечно же, в интерфейсе Яндекс.Метрике вам предварительно необходимо создать эту цель:

JavaScript-событие vimeo

В Google Tag Manager это выглядит так:

Тег для Яндекс.Метрики

В качестве триггера активации задайте тот же триггер специального события vimeoTrack, что и для тега события Google Analytics 4. Сохраните тег.

Чтобы протестировать различные события для Яндекс.Метрики и посмотреть, как они будут отправляться в счетчик, вы можете воспользоваться специальным расширением Яндекс.Метрика Инспектор.

Для этого запустите видео Vimeo и совершите несколько взаимодействий (воспроизведение видео, пауза, завершение просмотра). В консоли разработчика вашего браузера будут отображены хиты типа Цель + Параметры, нажав на которые вы детальнее узнаете информацию по каждому событию:

Проверка с помощью Яндекс.Метрика Инспектор

Через некоторое время все события и отслеживания должны отобразиться в вашем счетчике Яндекс.Метрики в отчете Содержание - Параметры визитов:

Содержание - Параметры визитов

Открыв отчет, вы увидите параметр визита со значением vimeo:

Параметры визита vimeo

Нажав на плюсик, вы провалитесь на уровень ниже и сможете посмотреть информацию по названию события, названию видео и проценту просмотра:

Отслеживаемые данные

В дальнейшем вы можете использовать параметры визита при создании собственных сегментов Яндекс.Метрики.

Если вы хотите, чтобы процент просмотра и название видео было внутри конкретного события video_pause, video_progress или video_start, то вам необходимо изменить код в Google Tag Manager, задав чуть другую структуру объекта:

, где вместо XXXXXXXX вставьте свой идентификатор счетчика Яндекс.Метрики.

Альтернативные решения отслеживания Vimeo

Есть вероятность, что описанные мной шаги в этом материале не подойдут именно для вашего проекта, поскольку код от Bounteous хоть и является универсальным, но все же был написан более 6 лет назад и может не учитывать какие-то особенности вашего сайта, например, открытие и запуск видео Vimeo в отдельном/всплывающем окне и т.д.

Другим популярным решением является скрипт от Cardinal Path. Еще в 2016 году они выложили код, позволяющий отслеживать видео Vimeo с помощью Google Tag Manager. А несколько лет спустя Julius Fedorovicius, автор блога analyticsmania.com, опубликовал у себя руководство по его использованию, чтобы сделать код более удобным для Google Analytics 4.

Если пример из моей статьи вам не подойдет, то воспользуйтесь схожим решением от Cardinal Path/Analytics Mania. На текущий момент это два самых известных и работающих способа отслеживания Vimeo с помощью Google Tag Manager. Есть и другой - настроить интеграцию напрямую в интерфейсе Vimeo. Правда для этого вы должны иметь один из перечисленных на странице платных тарифов.

Получайте бесплатные уроки и фишки

По контекстной, таргетированной рекламе и аналитике