Cześć. Potrzebuję wysłać UserId do Google Tag Manager. Z tego co czytałem muszę to zrobić za pomocą kawałka kodu w mojej aplikacji. Służy do tego specjalna zmienna DataLayer.
<script>
// muszę pobrać MyUserId i przesłać do dataLAyer pod kluczem "uid"
dataLayer = [{"uid":MyUserId}];
</script>
Chciałem kawałem takiego skryptu wrzucić do mojego pliku głównego, do index.hml. Ale tutaj trochę utknąłem bo nie mam pomysłu jak wyciągnąć userId w mojej aplikacji np. w sekcji HEAD czy w sekcji body przez angular. Z tego co się orientowałem to najlepiej to zrobić w sekcji HEAD. Poniżej jest okrojona wersja mojego index.html:
<html>
<head>
<!-- Google Tag Manager -->
<script>
// I tutaj nie wiem jak mógłbym wyciągnąć UserId ?? Są jakieś globalne zmienne które dostarcza nam Symfony?
//dataLayer = [{"uid":"<?= echo $app->getUserIdFromGlobals"}];??
dataLayer = [{"uid":MyUserId}];
</script>
<!-- End Google Tag Manager -->
<meta charset="utf-8">
<meta http-equiv='X-UA-Compatible' content='IE=edge'>
<title>Example title</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<link rel="stylesheet" href="styles/main.css">
</head>
<body data-ng-app="app" id="app">
<div data-ng-controller="AppCtrl">
<!-- Google Tag Manager -->
<script>
//Ewentualnie tutaj mógłbym jakoś przechwycić UserId z AngularaJs ale też nie mam pomysłu jak tu to przesłać i odebrać?
//dataLayer = [{"uid":{{userId}}}];??
dataLayer = [{"uid":MyUserId}];
</script>
<!-- End Google Tag Manager -->
<section data-ng-include=" 'views/header.html' "
id="header" class="top-header"></section>
<div class="view-container">
<section data-ng-view id="content" class="animate-fade-up"></section>
</div>
</div>
</body>
</html>
Ktoś może korzystał z tego Google Tag Managera i może podpowiedzieć jak to najlepiej zrobić?