Google Analytics не отслеживает данные

#angular #typescript #drupal #server-side-rendering

#angular #typescript #drupal #рендеринг на стороне сервера

Вопрос:

Похоже, что Google Analytics не отслеживает какие-либо данные на нашем веб-сайте. Как это работает;

  1. Код отслеживания добавлен в серверную CMS Drupal без головы
  2. Динамический интерфейс позволяет получить код отслеживания по концепции (типу сайта)
  3. Отслеживание get динамически добавляется в Head (с использованием angular в конструкторе).

Помощник по тегам сообщает:

Отсутствует Analytics.js скрипт и HTTP-ответ не обнаружены

Пробовал несколько способов, также использовал код в теле, получал разные виды отслеживания и т.д. Также пытался добавить

Текущий используемый код:

 <!-- Global site tag (gtag.js) - Google Ads: 991964869 -->
<script data-cfasync="false" async src="https://www.googletagmanager.com/gtag/js?id=AW-991964869-1"></script>

<!-- Cross domain checking for the ticket sale cms-->
<script data-cfasync="false">
  window.dataLayer = window.dataLayer || [];

  function gtag() {
    dataLayer.push(arguments);
  }
  gtag('js', new Date());

  gtag('config', 'UA-37890526-1');
</script>

<script type="text/javascript" data-cfasync="false">
  (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-37890526-1', 'auto');
  ga(function (tracker) {
    var clientId = tracker.get('clientId');
    var frameWindow = document.getElementById('cm-ticketshop').contentWindow;
    window.addEventListener('message', function (event) {
      if (event.origin === "pos.cmtickets.com" amp;amp; event.data === "shop.loaded") {
        frameWindow.postMessage({
          clientId: clientId
        }, '*');
      }
    });
  });
</script>

<!-- Cross domain checking for the ticket sale cms -->
<!-- Facebook Pixel Code -->
<script>
  ! function (f, b, e, v, n, t, s) {
    if (f.fbq) return;
    n = f.fbq = function () {
      n.callMethod ?
        n.callMethod.apply(n, arguments) : n.queue.push(arguments)
    };
    if (!f._fbq) f._fbq = n;
    n.push = n;
    n.loaded = !0;
    n.version = '2.0';
    n.queue = [];
    t = b.createElement(e);
    t.async = !0;
    t.src = v;
    s = b.getElementsByTagName(e)[0];
    s.parentNode.insertBefore(t, s)
  }(window, document, 'script',
    'https://connect.facebook.net/en_US/fbevents.js');
  fbq('init', '324909954561696');
  fbq('track', 'PageView');
</script><noscript><img height="1" width="1" style="display:none"src="https://www.facebook.com/tr?id=324909954561696amp;ev=PageViewamp;noscript=1"
    
 /></noscript>

<!-- End Facebook Pixel Code -->
  

Хотите, чтобы отслеживание работало! 🙁

Комментарии:

1. Поскольку Google Analytics хорошо работает в MPA (многостраничных приложениях), и я думаю, что вы используете его в Angular, который является SPA, следуйте этому руководству, надеюсь, это поможет вам codeburst.io/using-google-analytics-with-angular-25c93bffaa18

Ответ №1:

убедитесь, что вы просто скопировали и вставили код, предоставленный api Google Analytics, у меня есть следующий код, вставленный в последний тег inside <head></head> index.html файл и его обработка и отслеживание данных

 <script async src="https://www.googletagmanager.com/gtag/js?id=UA-134123456-1"></script>
  <script>
    window.dataLayer = window.dataLayer || [];
    function gtag() {
      dataLayer.push(arguments);
    }
    gtag('js', new Date());
    gtag('config', 'UA-134123456-1'); 
  </script>