AdWords
Сейчас в сети: 486
Сейчас в сети: 486
Структура аккаунта, выбор ключевых слов и другие базовые настройки аккаунта AdWords
Подсказки
star_border
Ответить

tracker is undefined

Бакалавр ✭

Перенёс UA на TagManager, всё о фен-шую. И тут на тебе. clientid больше не ловится. Вернее не ловится сам tracker.

setTimeout(function() {ga(function(tracker) {
alert(tracker);
var id = tracker.get('clientId');
})}, 7000)

 

Алерт выбрасывает undefined. Как так? Весь интернет этим методом cid получает. Я не могу.

Re: tracker is undefined

Профессор ✭
Возможно, данный код выполняется быстрее, чем загружается тег Google Analytics.

Re: tracker is undefined

Бакалавр ✭

я не просто так показал задержку в 7 секунд. ) Чтобы отбросить этот вариант сразу.

+ у меня этот этот блок срабатывает на событию gtm.load.
Я и прямо в код пытался прописать и в gtm. Ничего не помогает. Началось всё именно с перевода Universal Analytics в правильный тэг. До этого UA была прямо в пользовательский HTML тэг явно прописана. И грузился он не в HEAD.

Re: tracker is undefined

Бакалавр ✭
У меня только 1 версия. Нельзя обращаться к ga. Хотя имя я не переопределял.

Re: tracker is undefined

Бакалавр ✭
Неожиданно для себя решил я проблему.

Создал макрос "Собственный JavaScript", который представляет из себя функцию, возвращающую clientid:
function() {
try {
var tracker = ga.getAll()[0];
return tracker.get('clientId');
} catch(e) {
console.log("Error fetching clientId");
return "n/a";
}
}
Назвал его Get Client ID.
Потом обратился в своём HTML тэге к этому макросу как к переменной {{Get Client ID}} и сразу же получил значение. Без задержек.