2013-12-06 3 views
0

Я спасаю клиент Analytics ID в скрытом поле на моем сайте по следующему сценарию:Analytics и Google ID клиента получить набор

// Assuming you are using jQuery 
$(document).ready(function() { 
    // Makes use of the Universal Analytics API 'ga' object 
    ga(function(tracker) { 
    var clientId = tracker.get('clientId'); 
    $("clientId").val(clientId); 
}); 
}); 

А затем отправить его на мой сервер.

Но иногда пользователь отправляет форму и нет идентификатора клиента аналитики, сохраненного в моей базе данных.

Так что мой вопрос: когда установлен идентификатор клиента Analytics?

Только если пользователь вошел в систему с учетной записью Google?

ответ

1

Идентификатор клиента устанавливается/генерируется всякий раз, когда вы отправляете хит на серверы GA. Итак, если вы попытаетесь прочитать clientId после того, как вы отправили обращение к просмотру страницы, вы всегда должны получить идентификатор клиента.

Надеюсь, это ответит на ваш вопрос.

Вы также можете попробовать что-то вроде этого:

ga('create', 'UA-XXXXXXX-Y'); 
ga('send', 'pageview'); 
ga(function() { 
    $(document).ready(
    // Set the field value. 
); 
}); 
+0

Спасибо за ваш ответ. Я сделал тест и посмотрел 10 моих заполненных форм. 8 из них имеют идентификатор клиента и 2 нет. Итак, по-моему, мои скрипты выполняют там работу, но, возможно, некоторые пользователи блокируют аналитику? – Robbert

+0

Это действительно зависит от того, когда происходит событие document.ready. Если событие запущено до отправки маяков просмотра страницы, вы не увидите идентификатор клиента, но увидите идентификатор клиента иначе. См. Мое редактирование для возможного решения. – Avi

+0

Что вы имеете в виду при отправке вызова для просмотра страницы? Вы хотите отправить его в Google или отправить его в значение в скрытом поле в мою базу данных? – Robbert

0

Как часто этот клиент не может быть установлен? Есть пара возможностей, почему это может быть не установлено.

(1) Некоторые пользователи блокируют Google Analytics. Google даже предоставляет this tool, что позволяет им это делать.

(2) Если ваш Javascript запущен до загрузки библиотеки analytics.js, объект трекера может еще не существовать.

Я понимаю, что $ (document) .ready НЕ гарантирует, что analytics.js загрузил и создал экземпляр трекера. Это связано с тем, что ссылка на сценарий кода отслеживания динамически вводится на страницу, чтобы гарантировать, что она загружает ПОСЛЕ всех ресурсов, на которые ссылается исходный HTML. Проблема загрузки сценариев Google Analytics в отношении события готовности документа discussed here.

Ваши посетители сайта, безусловно, НЕ должны быть зарегистрированы в Google, чтобы назначить clientId.

+0

Привет Марк, спасибо за Ваш ответ! Во-первых, я рад, что теперь я точно знаю, что пользователь не должен войти в систему с учетной записью Google. Я сделал тест с моими заполненными результатами формы и просмотрел 10 из них. 8 заполненных форм имеют идентификатор клиента Analytics и 2 нет. Так что, на мой взгляд, скрипты выполняют там работу, а некоторые пользователи используют блокировщик? Или это может быть связано с событием, подготовленным документом? – Robbert

Смежные вопросы