Я пытаюсь настроить специальный параметр и сообщить о нем в Google Analytics. Я не вижу переданных значений ни в одном отчете.
В Google Analytics для моего ресурса в настройках в разделе «Специальные параметры» я добавил специальный параметр под названием «userId» с индексом 1 (и областью действия «Пользователь»).
На основе эта страница мой скрипт отслеживания в заголовке страниц моего сайта выглядит следующим образом:
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-XXXXXX', {
'custom_map': {
'dimension1': 'userId'
}
});
var dimensionValue = <?php print $userId; ?>;
gtag('event', 'userId_dimension', {'userId': dimensionValue});
($ userId - целое число.)
В таком отчете, как «Поведение» -> «Содержание сайта» -> «Страницы», я могу выбрать дополнительный параметр, включая «userId». При выборе этого дополнительного измерения в результирующей таблице нет строк. Несмотря на то, что при проверке моих страниц код отслеживания, похоже, передает userId, а Google Analytics записывает посещения, которые передают userId.
Что я делаю неправильно?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Кажется, через некоторое время это разрешилось само собой.
Однако я обнаружил, что создание нескольких событий для разных настраиваемых параметров, похоже, не регистрирует эти значения.
Итак, вот что у меня получилось:
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-XXXXXX-1', {
'custom_map': {
'dimension1': 'userId',
'dimension2': 'userName',
'dimension3': 'clientId',
'dimension4': 'clientName'
}
});
<?php
if (isset($_SESSION["user"])) {
$gt["userId"] = $_SESSION["user"]["iID"];
$gt["userName"] = addslashes($_SESSION["user"]["tFirstName"]." ".$_SESSION["user"]["tLastName"]);
$gt["clientId"] = 0;
$gt["clientName"] = '';
if (isset($_SESSION["user"]["clients"])) {
if (isset($_SESSION["user"]["clients"][0])) {
$gt["clientId"] = $_SESSION["user"]["clients"][0]["iID"];
$gt["clientName"] = addslashes($_SESSION["user"]["clients"][0]["tName"]);
}
}
?>
gtag('event', 'add_dimensions', {
'userId' : <?php print $gt["userId"]; ?>,
'userName' : '<?php print $gt["userName"]; ?>',
'clientId' : <?php print $gt["clientId"]; ?>,
'clientName' : '<?php print $gt["clientName"]; ?>'
});
<?php
}
?>
Теперь похоже, что это работает, как ожидалось.