Как настроить переменные Google Analytics с помощью диспетчера тегов Google с сервера? - PullRequest
0 голосов
/ 09 ноября 2018

Я использую Google Optimize для создания A / B-тестов.Я использую его в режиме на стороне сервера, как в этом руководстве: https://developers.google.com/optimize/devguides/experiments

В этом руководстве показан простой способ указать, какой эксперимент выполняется с каким вариантом, путем рендеринга кода JS на сервере, который устанавливает экспериментid и id варианта:

  // 2. Create a tracker.
  ga('create', 'UA-XXXXX-Y', 'auto');

<?php
<<<HTML
  // 3. Set the experiment ID and variation ID.
  ga('set', 'exp', '$experimentId.$variationId');
HTML;
?>
  // 4. Send a pageview hit to Google Analytics.
  ga('send', 'pageview');

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

1 Ответ

0 голосов
/ 12 ноября 2018

Поскольку GTM вызывает нормальный фрагмент для каждого тега, вы можете установить любое поле, которое понимает фрагмент аналитики, даже если они еще не перечислены автоматически в раскрывающемся списке редактора тегов.

Например, в качестве поля просмотра страницы: Fields to set

Затем установите переменную DataLayer, чтобы ее можно было получить из внешнего источника, например: DataLayer Variable

Приведение к полям с использованием переменной в готовом теге: Field using the DataLayer Variable

Теперь вы можете установить переменную DataLayer на стороне сервера, которая будет передаваться тегу. Так как я выбрал вид страницы, было бы лучше предварительно заполнить dataLayer перед загрузкой GTM, чтобы они присутствовали до запуска начальных тегов, например:

<!-- Google Tag Manager -->
<?php or other backend language wrapping...
 <script>window.dataLayer = [{exp:"$experimentId.$experimentVariant"}] 
 </script>
?>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-0');</script>
<!-- End Google Tag Manager -->
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...