#angular #typescript #drupal #server-side-rendering
#angular #typescript #drupal #рендеринг на стороне сервера
Вопрос:
Похоже, что Google Analytics не отслеживает какие-либо данные на нашем веб-сайте. Как это работает;
- Код отслеживания добавлен в серверную CMS Drupal без головы
- Динамический интерфейс позволяет получить код отслеживания по концепции (типу сайта)
- Отслеживание 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>