Лого vc.ru

Инструкция: 3 простых шага для настройки отслеживания внутреннего промо в Universal Analytics

Инструкция: 3 простых шага для настройки отслеживания внутреннего промо в Universal Analytics

Аналитик и SEO-специалист Константин Швацкий опубликовал в своем блоге пошаговую инструкцию о том, как настроить отслеживание эффективности баннеров и промо-материалов на сайте при помощи инструментов Universal Analytics.

Поделиться

Когда у меня появилась задача проанализировать внутреннее промо одного клиентского сайта, я поступил опрометчиво: разметил ссылки UTM-метками. Почему опрометчиво? Потому что как только посетитель кликнет по размеченному элементу (баннеру, ссылке), система будет ассоциировать все его действия на сайте с новым источником трафика, поскольку посчитает, что начат новый сеанс. Привязки действий посетителя (в том числе и достижений целей) к первоначальному источнику уже не будет. 

Чуть позже я обнаружил свою ошибку и в поисках альтернативного решения наткнулся на статью « Как настроить Google Analytics для отслеживания внутреннего промо». Статья описывает два способа настройки Google Analytics, при помощи которых можно начать отслеживать внутреннее промо без потери данных об источниках переходов. Проблема в том, что эти способы работают для сайтов, которые используют классическую версию Google Analytics (библиотека ga.js). Аналитикам, использующим Universal Analytics (библиотека analytics.js), автор рекомендует самостоятельно модифицировать предлагаемые в статье решения. 

Один из комментаторов предложил альтернативу самостоятельной модификации кода старой версии — плагин расширенной электронной торговли (Enhanced Ecommerce) для analytics.js. О настройке плагина для отслеживания внутренних рекламных акций мы и поговорим. 

Представим, что у нас есть произвольная страница интернет-магазина. На ней, помимо прочего, располагаются три рекламных баннера, которые продвигают товары в рамках весенней распродажи. Мы должны отследить эффективность этих баннеров. Для этого пройдем шаги, описанные ниже.

1. Включаем электронную торговлю в нашем рабочем представлении

Для этого в интерфейсе Universal Analytics переходим в раздел «Администратор» (Admin), выбираем нужное нам представление (View) и переходим в «Настройки электронной торговли» (E-commerce Settings):

На открывшейся странице нажимаем переключатель «Включите электронную торговлю» (Enable E-commerce) и кликаем по «Далее» (Next step):

Нажимаем переключатель «Включение отчетов для расширенной электронной торговли» (Enable Enhanced E-commerce Reporting) и кликаем по кнопке «Отправить» (Submit):

2. Подготавливаем страницу с промо-материалами к отслеживанию

Теперь, чтобы настроить отслеживание, модифицируем код Universal Analytics нашей страницы с учетом количества промо-материалов, их расположения и принадлежности к конкретным рекламным акциям. 

Сначала установим плагин расширенной электронной торговли, потому что в стандартной версии библиотеки analytics.js отслеживание расширенной электронной торговли не предусмотрено. Чтобы загрузить плагин, используем следующую команду:

ga('require', 'ec');

Выполняем команду после того, как создали объект трекера, но до того, как задействуем функции расширенной электронной торговли. То есть код Universal Analytics нашей страницы станет таким:

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  ga('create', 'UA-XXXXXXXX-X', 'auto');
  ga('require', 'ec');
  ga('send', 'pageview');
</script>

Затем передаем данные о показах промоматериалов. Для этого регистрируем показы при загрузке страницы и передаем их с начальным просмотром экрана командой ec:addPromo объекта promoFieldObject. Код Universal Analytics станет таким:

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  ga('create', 'UA-XXXXXXXX-X', 'auto');
  ga('require', 'ec');
  ga('ec:addPromo', {              // Детали о первом промоматериале, передаваемые через объект promoFieldObject.
    'id': 'PROMO_1',               // id промоакции. Обязательное поле (string).
    'name': 'Spring Sale',         // Название промоакции (string).
    'creative': 'spring_banner1',  // Материал (string).
    'position': 'banner_slot1'     // Позиция материала (string).
  });
  ga('ec:addPromo', {              // То же, но для второго материала.
    'id': 'PROMO_1',         
    'name': 'Spring Sale',       
    'creative': 'spring_banner2',  
    'position': 'banner_slot2'     
  });
  ga('ec:addPromo', {              // Детали о третьем материале.
    'id': 'PROMO_1',         
    'name': 'Spring Sale',       
    'creative': 'spring_banner3',  
    'position': 'banner_slot3'     
  });
  ga('send', 'pageview');
</script>

Для отслеживания кликов по промо-материалам сначала идентифицируем материал, по которому кликнули, а затем посылаем действие типа promo_click вместе с событием. Для этого напишем функцию, которую будем вызывать каждый раз, когда происходит промо-клик:

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  ga('create', 'UA-XXXXXXXX-X', 'auto');
  ga('require', 'ec');
  ga('ec:addPromo', {              // Детали о первом промоматериале, передаваемые через объект promoFieldObject.
    'id': 'PROMO_1',               // id промоакции. Обязательное поле (string).
    'name': 'Spring Sale',         // Название промоакции (string).
    'creative': 'spring_banner1',  // Материал (string).
    'position': 'banner_slot1'     // Позиция материала (string).
  });
  ga('ec:addPromo', {              // То же, но для второго материала.
    'id': 'PROMO_1',         
    'name': 'Spring Sale',       
    'creative': 'spring_banner2',  
    'position': 'banner_slot2'     
  });
  ga('ec:addPromo', {              // Детали о третьем материале.
    'id': 'PROMO_1',         
    'name': 'Spring Sale',       
    'creative': 'spring_banner3',  
    'position': 'banner_slot3'     
  });
  ga('send', 'pageview');
</script>

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

//Пример страницы для нашей весенней распродажи.
<html>
<head>
<title>Tracking promo-traffic</title>
// Код Universal Analytics, который загружает плагин расширенной электронной торговли и отправляет данные о показах промоматериалов 
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  ga('create', 'UA-XXXXXXXX-X', 'auto');
  ga('require', 'ec');
  ga('ec:addPromo', {
    'id': 'PROMO_1',
    'name': 'Spring Sale',
    'creative': 'spring_banner1',
    'position': 'banner_slot1'
  });
  ga('require', 'ec');
  ga('ec:addPromo', {
    'id': 'PROMO_1',
    'name': 'Spring Sale',
    'creative': 'spring_banner2',
    'position': 'banner_slot2'
  });
  ga('require', 'ec');
  ga('ec:addPromo', {
    'id': 'PROMO_1',
    'name': 'Spring Sale',
    'creative': 'spring_banner3',
    'position': 'banner_slot3'
  });
  ga('send', 'pageview');
</script>
//Функция, которую мы будем вызывать каждый раз, когда пользователи кликают по промоматериалам
<script type='text/javascript'>
function onPromoClick (id, name, creative, position) {
  ga('ec:addPromo', {
    'id': id,
    'name': name,
    'creative': creative,
    'position': position
   });
  ga('ec:setAction', 'promo_click');
  ga('send', 'event', 'Internal Promotions', 'click', name);
}
</script>
</head>
<body>
<h1>Tracking promo-traffic</h1>
// Когда происходит событие onclick одного из промоматериалов, вызываем нашу функцию onPromoClick и передаем в нее параметры: id промоакции, название промоакции, название промоматериала, позиция промоматериала. 
<p>Первый баннер</p>
//Первый промобаннер-ссылка
<a href="/first-item/" onclick="onPromoClick('PROMO_1', 'Spring Sale', 'spring_banner1', 'banner_slot1');"><img src="first-creative.jpg"></a>
<p>Второй баннер</p>
//Второй промобаннер-ссылка
<a href="/second-item/" onclick="onPromoClick('PROMO_1', 'Spring Sale', 'spring_banner2', 'banner_slot2');"><img src="second-creative.jpg"></a>
<p>Третий баннер</p>
//Третий промобаннер-ссылка
<a href="/third-item/" onclick="onPromoClick('PROMO_1', 'Spring Sale', 'spring_banner3', 'banner_slot3');"><third-creative.jpg"></a>
</body>
</html>

Привет от Капитана Очевидности:

  1. Не забудьте, что на месте UA-XXXXXXXX-1 должен стоять ваш идентификатор отслеживания.
  2. Адреса ссылок на продвигаемые промо-баннерами страницы и ссылки на промо-баннеры в нашем примере нужны для наглядности, их я просто выдумал. 
  3. Пример страницы не такой сложный, как может показаться на первый взгляд. Поэтому если вам нужно настроить отслеживание промо на сайте с большим количеством страниц, то придется попросить помощи у квалифицированного разработчика и... показать ему эту статью.

3. Просматриваем отчеты и анализируем эффективность внутреннего промо

Готово. Теперь открываем нашу страницу и кликаем по понравившемуся баннеру или баннерам (я, например, открыл страницу и кликнул по третьему баннеру). Затем возвращаемся в Google Analyitcs, переходим на вкладку «Отчеты» и идем в «Конверсии», «Электронная торговля», «Маркетинг», «Внутренняя кампания» (Conversions, E-commerce, Marketing, Internal Promotion):

В таблице отчета видим данные по внутренним кампаниям нашего сайта. По умолчанию основной параметр таблицы — «Название внутренней кампании» (Internal Promotion Name). Мы можем выбрать основным другой параметр, чтобы сегментировать данные по нему, либо добавить к основному параметру дополнительный. Например, если добавить в качестве дополнительного параметр «Объявление внутренней кампании» (Internal Promotion Creative), то мы получим такую таблицу:

Теперь мы видим в таблице данные по просмотрам, кликам и CTR объявлений наших кампаний (на скриншоте я выделил данные по нашей весенней распродаже) и по конверсиям, которые посетители совершили после кликов по объявлениям.

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

Представление данных после клика по кнопке «Распределение» (Percentage)

По каким параметрам сегментировать отчет и какое представление данных выбрать — решать вам. Уверен, отчет «Внутренние кампании» поможет детально проанализировать ваши внутренние промоакции, особенно если вы не поленитесь самостоятельно поковыряться в настройках. 


Присылайте собственные кейсы, в результате которых вам удалось заметно улучшить (или, наоборот, ухудшить) показатели проекта. Интересные эксперименты обязательно попадут на страницы рубрики Growth Hacks.
Статьи по теме
Как настроить Google Analytics для отслеживания внутреннего промо24 июня 2014, 02:03
Популярные статьи
Показать еще
Комментарии отсортированы
как обычно по времени по популярности

А скоро выйдет Яндекс.Гугл? Сервис Яндекса для поиска в Гугле.

А просмотры такой код корректно считает?
Он разве не будет зачитывать просмотр каждый раз с просмотром страницы?

Переформулирую - получается, что способ не работает для баннерокрутилок на страницах. Так?

Такой код засчитывает просмотр каждый раз, когда происходит загрузка страницы. Но для баннерокрутилок он вполне может работать, не вижу никаких ограничений для этого: достаточно с каждой перезагрузкой страницы просто передавать в коде Analytics данные о просмотре конкретного баннера. Да, после перезагрузки баннерокрутилка поменяет баннер, но опытный разработчик в состоянии настроить крутилку так, чтобы эти данные корректно отправлялись.

Вы правы в том, что для "голого" DFP или AdRiver придется придумывать что-то более изощренное. Возможно, с использованием того же Enhanced Ecommerce, но более изощренное.

Хотя, для того же WordPress есть плагины, которые, с одной стороны, поддерживают встраивание в них DFP-баннеров, а с другой могут быть доработаны руками для отслеживания показов/кликов описанным в статье способом.

Описанный способ подходит, в первую очередь, для внутренних баннерокрутилок, код которых штатный программист сможет доработать. В этом, наверное, основной его недостаток.

Думаю стоит изучить эту тему и дописать.

Обычно эффективность баннеров меряют те, кто их продают и покупают. А их редко продают без какой-либо системы управления показами, которая как-раз таки сводится к подсовыванию нужного баннера в нужный момент.

Все-таки мерять показ баннера просмотром страницы - очень не тру.

Тут дело в том, что речь-то идет о внутреннем промо, о трафике самого сайта, а не о продаже трафика на сторону.
Конечно, если в качестве внутренней крутилки используется система вроде DFP, то, как я говорил, придется немного попотеть.
Кстати, извиняюсь: не прав в предпоследнем абзаце предыдущего комментария. Плагины для WP, поддерживающие встраивание DFP, вряд ли можно доработать руками так, чтобы можно было использовать предложенный в статье способ отслеживания.

0

Хардкор какой-то. Получить аналогичный результат с GTM было бы проще.

1

Напиши статью. Никак не доберусь до изучения GTM, может с нее начну.

так и есть. все нормальные люди (НЕ-seo'шники) давным давно освоили GTM и реализуют подобные задачи за 10 минут несложных действий.

Я б с удовольствием получил такой результат, если бы изучил GTM на должном уровне. Если вы знаете решение той же проблемы с использованием GTM - напишите статью или подскажите, в каком направлении стоит копать. Буду благодарен.

0

Эээ... Статья? Ну это же самый базовый функционал. Минут 30 на установку и базовую настройку GTM и 10 минут на нужное отслеживание (я бы сделал через евенты, а не через екомерс). Вот хелп на русском - support.google.com/tagmanager/answer/3415369?hl=ru - почитайте про прослушивание кликов.
Краткий путь:
1) Ставим GTM
2) делаем тег UA на просмотры
3) делаем тег на прослушивание кликов
4) делаем тег UA на события
5) помечаем баннеры айдишниками
6) настраиваем отправку событий в UA, на условие gtm.click и {{element id}}
7) Если требуется - лезем в UA и делаем там представление где назначаем цель по пробрасываемым событиям
8) Profit!

p.s. Я это писал дольше чем делал бы.

0

Почитаю, спасибо. Но как быть с данными по целям при использовании вашего варианта? Еще и кастомные переменные вешать на клики?

0

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

0

Сегмент с выборкой по категории (например) событий.

0

О, наконец нормальные "Сеошники" на ЦП!)

0

Возможность комментирования статьи доступна только в первые две недели после публикации.

Сейчас обсуждают
Shtadler Anton

потому что хочется) У каждого свой фан.

Ашот Габрелянов представил приложение Magic для создания индивидуальных стикеров на основе эмоций
0
Дмитрий Каулькин

Язь это ещё норм. Хорошо, что не дратути.

«Вжух»: реакция российских компаний на мем с котом и волшебной палочкой
0
Maga Abdurakhmanov

1. Google Authenticator на часах, очень удобно, что всегда под рукой. За телефоном обычно надо лезть
2. SMS коды, тоже самое что Google Authenticator
3. Нотифаи, настроенные в соответствии с важностью, не надо лезть за телефоном ты сразу видишь, особенно удобно с встречами
4. Не отвлекает людей вокруг звуки твоего телефона (я его всегда на тихом режиме держу теперь)
5. Будильник в часах будит только тебя виброй
6. Если забыл телефон дома и ушел, часы напомнят виброй
7. Управление музыкой, не надо искать телефон, погромче или на паузу поставить
8. Когда едешь на велосипеде, а тебе пишут смс/в телеграм, можно голосом ответить с часов, не доставая телефон
9. Тречит сон и шаги, так-как часы всегда на запястье (7 дней на зарядке)

Есть на рынке другие часы, которые это могут?

От $740 млн до $40 млн за один год
0
Nikolay Kachev
Tredwear

Как будто балтику 9 рекламируют, а не напиток для интеллектуалов. Типа наебенься с нами чувачок

Компания «Альянс» показала на бутылках своего сидра героев знаменитых картин в состоянии опьянения
0
Sp Soul
ITSys

А что вы ожидали увидеть: блаженные лица, с руками к небу. Не думаю, что успешные трейдеры на уолл-стрит подобным могут похвастаться, в отличии от их банковских счетов - реальный экстаз.

Штаб-квартира: Петербургский офис игровой студии Playkot
0
Показать еще