GTM & Optimize: JS Переменная не определена, но в консоли она работает хорошо - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь показать вариант Google Optimize в Менеджере тегов Google.

Я пытался реализовать его с помощью "Custom JavaScript Variable":

function() {
  var property = window.keys(gaData);
  var experiment_nr = window.keys(window.gaData[property].experiments);
  var experiment_value = window.values(window.gaData[property].experiments).toString()
  if (experiment_value == "") {
    return "0"
  } else {
    return experiment_value
  }
}

Это результат этого:

Custom JavaScript Variable Result

Затем я попытался проверить свой код с задержкой запуска 5 se c:

GTM HTML Tag

И это результат консоли DevTools JS:

DevTools Console result

Как видите, консоль не принимает ее с GTM, но принимает ее, когда я набираю ее вручную дюйма

Может ли кто-нибудь помочь мне там?

Ответы [ 2 ]

0 голосов
/ 16 января 2020

Ответ на самом деле был довольно прост.

В Google Optimize используется повар ie с именем _gaexp. Там вы получите строку, суммирующую идентификатор эксперимента Google Optimize, а также версию в самом конце: GAX1.2.wHL2IJUnSg2n8PB4iQH66w.18362.1

Все, что мне нужно было сделать, это создать новую переменную, читающую повара ie:

  1. Новая переменная
  2. Повар 1-го лица ie с поваром ie с именем "_gaexp"

Вы можете конечно, получите имя повара ie с помощью JavaScript, просто вызвав Cookies.get('_gaexp') из консоли DevTools (чтобы проверить, правильно ли указано значение повара ie)

Значение _gaexp должно быть манипулировать, чтобы выделить вариант:

  1. Новая переменная
  2. Пользовательская JavaScript
  3. Добавить следующий код:
function (){
  if ({{GA_Optimize_Variable}}=='undefined'){
    return '0'
  } else {
    return {{GA_Optimize_Variable}}.charAt({{GA_Optimize_Variable}}.length-1)
  }
}

_gaexp не существует, когда Google Optimize приводит ваш трафик c к исходному варианту веб-сайта. Поэтому требуется оператор if.

Наконец, вы можете использовать свою переменную в событиях и / или измерении Google Analytics.

0 голосов
/ 11 января 2020

Попробуйте использовать dataLayer вместо объекта окна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...