Скорее всего, ваши задачи не будут ограничиваться построением отчетности только по рекламным сервисам. Наш сервис прекрасно подойдет и для сквозного анализа маркетинговых данных, а для этого необходимо будет загрузить в него данных из Google Analytics.
Структура хранения данных, заложенная в нашем сервисе для Google Analytics, подразумевает хранение максимально «чистых данных». Мы выгружаем данные по каждому пользователю, это сильно расширяет возможности пользователя по использованию таких данных, по сравнению с агрегированными показателями.
К сожалению, Google Analytics не предоставляет возможности выгружать параметры Client ID, User ID и Session ID через стандартные возможности API. Эти параметры просто недоступны для выгрузки. Получить их можно через добавление соответствующих пользовательских параметров внутри Google Analytics.
Чтобы создать их внутри счетчика, вам необходимо будет изменить код установленный на сайте, а также внести изменения в настройках Google Analytics.
Давайте рассмотрим инструкцию, как это сделать.
Создание пользовательских параметров
Client ID является уникальным обезличенным идентификаторам посетителя вашего сайта, который создается счетчиком Google Analytics. Это идентификатор передается вместе со всеми остальными параметрами посещения в Google Analytics, но получить обратно его невозможно. Для выгрузки данных по API идентификатор пользователя является крайне важным, поэтому дополнительно необходимо настроить его передачу в качестве пользовательского параметра.
Для этого, в первую очередь, нужно в интерфейсе Google Analytics создать пользовательский параметр. На странице администрирования ресурса необходимо кликнуть по ссылке «Пользовательские параметры»
После чего в открывшейся вкладке нажать на кнопку «+ Специальный параметр» и на открывшейся странице ввести «Название» (1), допустим «cid», в «Область действия» (2) выбрать «Пользователь» и нажать на кнопку «Сохранить» (3)
После того, как пользовательский параметр создан, необходимо запомнить его индекс, отображаемый в списке
Точно таким же образом создаем еще один пользовательский параметр, только с областью действия «Сеанс» (2), в который мы будем сохранять идентификатор сеанса. Для примера назовем его «sid» (1).
После того, как параметр будет создан, запоминаем его идентификатор.
Настройка кода счетчика Google Analytics (analytics.js)
После того, как новый параметр добавлен, необходимо внести изменения в код Google Analytics, размещенный на сайте. Это необходимо для того, чтобы настроить передачу в созданные ранее пользовательские параметры значение Client ID и идентификатора сеанса. Для этого стандартный код Google 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','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-X', 'auto');
ga('send', 'pageview');
</script>
необходимо привести к виду:
<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','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-XXXXXXXX-X', 'auto'); ga(function(tracker) { function guid() { function s4() { return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); } result = ''; for(i=0; i<8; i++) result += s4(); return result; } ga('set', 'dimension1', tracker.get('clientId')); ga('set', 'dimension2', guid()); ga('send', 'pageview'); }); </script>
Строки, которые должны быть изменены, выделены красным. Цифру в «dimension1» необходимо заменить на индекс параметра «cid», а в «dimension2» на индекс параметра «sid», которые были созданы ранее.
Настройка Global Site Tag (gtag.js)
Некоторое время назад была выпущена новая библиотека, предназначенная передачи данных с сайта в Google Analytics, и сейчас для всех ресурсов предлагается следующий код для установки счетчика на сайт:
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXXXX-X"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-XXXXXXXX-X');
</script>
Если у вас уже используется этот код, то в него необходимо внести следующие изменения:
<!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXXXX-X"></script> <script> function guid() { function s4() { return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); } result = ''; for(i=0; i<8; i++) result += s4(); return result; } window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('set', {'sessionId': guid()}); gtag('config', 'UA-XXXXXXXX-X', { 'custom_map': { 'dimension1': 'clientId', 'dimension2': 'sessionId' } }); </script>
Настройка Google Tag Manager
В первую очередь, нам необходимо создать переменную «Client ID» типа «Собственный код JavaScript», которая должна содержать следующий код:
function() {
var customDimensionIndex = 1;
return function(model) {
model.set('dimension' + customDimensionIndex, model.get('clientId'));
}
}
Число, выделенное красным, необходимо заменить на индекс пользовательского параметра «cid», который мы создали ранее. В результате должно получиться следующее:
Далее аналогичным образом создаем вторую переменную «Session ID», которая должна содержать следующий код:
function() { function s4() { return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); } result = ''; for(i=0; i<8; i++) result += s4(); return result; }
После того как переменные были созданы, нам необходимо настроить их передачу в Google Analytics. Для это нужно внести изменения в тег просмотра страницы.
В дополнительных настройках тега разворачиваем секцию «Поля, которые необходимо задать» и добавляем поле с названием customTask и значением {{Client ID}}. В секции «Специальные параметры» добавляем новый параметр с индексом параметра «sid», который был создан ранее, и значением {{Session ID}}.
Далее сохраняем наши изменения и публикуем контейнер.
Добавление Client ID при настройке источника Google Analytics
Теперь после выполнения этих действий вам нужно будет запустить выгрузку данных из Google Analytics. Это нужно сделать на странице Источники данных внутри сервиса.
Далее следует выбрать Google Analytics, ввести произвольное название и аккаунт, из которого нужно делать выгрузку.
На следующем шаге необходимо выбрать ресурс, представление в Google Analytics и идентификатор пользовательского параметра client_id, который вы настроили ранее.
Далее необходимо запустить загрузку исторических данных для источника Google Analytics, и в вашем хранилище начнут собираться данные не только по рекламе, но еще и по действиям посетителя на сайте.