Как отправить ga (...) события с помощью Google Tag Manager? - PullRequest
0 голосов
/ 23 мая 2018

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

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

window['GoogleAnalyticsObject'] = 'ga';
window['ga'] = window['ga'] || function() {
  (window['ga'].q = window['ga'].q || []).push(arguments)
};

Но, хотя у меня больше нет проблемы "ga is not определена", она все равно не работает.

Я не знаюничего не видно на панели инструментов Google.Я также не вижу ничего в сообщениях отладки (в консоли разработчика).

Кажется, что происходит то, что скрипт GA, загруженный с GMT, не использует эти переменные, которые я установил, но яне знаю, как это исправить, или можно ли продолжать использовать мои ga() звонки с GMT.

Я знаю, что могу сделать это с dataLayer, но я стараюсь не переписыватькуча рабочего кода только для этого.

1 Ответ

0 голосов
/ 23 мая 2018

Я видел реализацию, которая делает это следующим образом:

  window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
  ga('create', UA-XXXXXXXXXX, 'auto');
  ga('require', 'ecommerce');

может быть, это сработает и для вас.

если вы используете расширенную электронную торговлю, тогда код под"ga ('create ..." должен измениться с:

ga('require', 'ecommerce');

на:

ga('require', 'ec');

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

...