Несколько кодов Google Analytics на сайте - PullRequest
0 голосов
/ 19 ноября 2018

Я работаю над обновлением веб-сайта, на котором работают несколько экземпляров и версия Google Analytics.Мне нужна помощь в определении того, что на самом деле происходит и какую версию я должен сохранить.

Сначала они загружаются в голову:

 <script type="text/javascript" async="" src="https://www.google-analytics.com/analytics.js"></script>
    <script type="text/javascript" async="" src="https://ssl.google-analytics.com/ga.js"></script>

Затем этот код запускается и в голове.

  var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-xxxxxxx-1']);
    _gaq.push(['_trackPageview']);

    (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();



 window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-6100216-1');

Затем в теле, gtag загружается и вызывается.

  <script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-xxxxxxx-1"></script>

  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-xxxxxx-1');

Я уже исправил тысячу ошибок, допущенных прошлыми разработчиками.

Ответы [ 2 ]

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

Как уже объяснил XTOTHEL, у вас есть несколько кодов и двойной счет, и его руководство о том, как подойти к этому, превосходно.

Единственное, что я могу добавить по этой теме, - это рассмотреть возможность перехода в Google Tag Manager и добавления туда GA вместо того, чтобы встраивать какой-либо код Google Analytics самостоятельно.

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

Боже мой, это какая-то работа!На высоком уровне, по сути, у вас есть все ТРИ (3) метода реализации GA: ga.js, analytics.js, gtag.js.Текущий рекомендуемый метод: gtag.js.

ga.js (legacy)

Вот как все, что связано с ga.js, должно быть сгруппировано ( каксогласно документации ):

  1. Это строка, в которую загружена библиотека ga.js: <script type="text/javascript" async="" src="https://ssl.google-analytics.com/ga.js"></script>

  2. Этокусок кода, который запускает ga.js:

    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-xxxxxxx-1']);
    _gaq.push(['_trackPageview']);
    
    (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
    

analytics.js

Согласно документации ,обычная асинхронная реализация выглядит так:

<!-- Google Analytics -->
<script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>
<!-- End Google Analytics -->

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

gtag.js

Опять же, согласно документации , код реализации gtag выглядит следующим образом:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_TRACKING_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'GA_TRACKING_ID');
</script>

В этом случае страница использует его дважды, если номера UA совпадают, это приведет к двойному счету.

первый раз

window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());

      gtag('config', 'UA-6100216-1');

второй раз

window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-xxxxxx-1');

Хорошая новость заключается в том, что ничто в коде не указывает на то, что вы отслеживаете что-то особенное или настроенное.Я бы посоветовал вам взглянуть на метод реализации gtag.js и удалить остальную часть кода аналитики.Обратите внимание, это предполагает, что на остальных страницах сайта тоже ничего нет.Не стесняйтесь размещать больше информации о сайте, и я могу посмотреть.

...