Ваша пользовательская переменная возвращает функцию, а не значение (поскольку функция никогда не выполняется на самом деле).
Лучший способ получить clientId для каждого текущего трекера - использовать пользовательскую задачу в Google Analytics ( задачи - это в основном отдельные шаги в жизненном цикле трекера, от проверки наличия идентификатора клиента для сборки полезной нагрузки до фактической отправки данных). Задача - это функция Javascript, которая добавляется к тегу GA через конфигурацию "set fields". Задачи имеют доступ к модели данных трекера и могут добавлять, удалять или изменять значения из полезной нагрузки.
Единственная задача, которую вы можете использовать через GTM, - это customTask, которая, как следует из названия, добавляет в трекер настраиваемые возможности .
Если вы создаете пользовательскую переменную javascript с именем, например, «getClientId», со следующим кодом:
function() {
// Modify customDimensionIndex to match the index number you want to send the data to
var customDimensionIndex = 5;
return function(model) {
model.set('dimension' + customDimensionIndex, model.get('clientId'));
}
}
, затем go в свой тег настроек GA и в «set» field "конфигурация задает имя поля" customTask "с переменной в качестве значения, clientId будет извлечен из модели данных и добавлен к полезной нагрузке в качестве настраиваемого измерения.
Лучше, чем мое объяснение Simo Ahavas Совет GTM по настройке идентификатора клиента с помощью пользовательских задач.