Использование идентификатора пользователя с Google Tag Manager / Analytics - PullRequest
0 голосов
/ 15 ноября 2018

Надеюсь, кто-нибудь может помочь, я использую GTM, чтобы перенести переменную userId в Google Analytics, я могу видеть данные в консоли chrome / dataLayer, но ничего не отображается в представлении userID в аналитике.Я использую этот код на своем сайте в верхней части головы:

<script>
   dataLayer = []
   dataLayer.push({ 'userId': <%= currentUser.number %> });
</script>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-XXXXXXXX');
</script>

И в верхней части тела:

<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXX"
    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>

В GTM у меня есть переменная уровня данныхустановить как userId (Data Layer version2) и в конфигурации тега (поля для установки) у меня есть имя поля userId и значение {{userId}}.

Более того, в аналитике я настроил представление UserId иНастраиваемое измерение Имя userId (область действия «Пользователь», индекс - 1).

Я что-то упустил ??

спасибо.

Ответы [ 2 ]

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

Это может не сработать, так как вы объявили метод dataLayer.push над контейнером GTM. Вы можете объявить только метод dataLayer=[] над контейнером GTM. Чтобы отправить идентификатор пользователя в GA, используйте следующий код:

<script>
   dataLayer = [{ 'userId': <%= currentUser.number %> }];
</script>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','GTM-XXXXXXXX');
</script>

И в верхней части тела:

<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXX"
    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>

Теперь установите переменную dataLayer и тег в GTM для захвата значения и отправки в GA.

Надеюсь, это поможет!

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

Код / настройка, которую я использовал выше, работает для показа userId в представлении userID в аналитике - как сказала г-жа Easy, вам придется ждать 24 часа, чтобы он обновился.

...