как да проверите дали е зададена персонализирана променлива на Google Analytic (обхват на сесия)

Опитвам се да проследя типове потребители в обхвата на сесията с помощта на персонализирани променливи. При всяко зареждане на страница искам да проверя дали променливата на GA съществува и ако не я задам на една от 3 стойности въз основа на бисквитка (посетител, регистрация, премия).

 TrackUser: function () {
        var index = 5; //slot 5
        var scope = 2; //set scope to session level
        var key = "UserType";
        var value;
        if (_gaq != undefined) {
            _gaq.push(function () { //this is async
                var pageTracker = _gat._getTrackerByName();    //Gets the default tracker.
                var vis = pageTracker._getVisitorCustomVar(5); //this should return the 'usertype' if its been set
                //if no GA variable exists then lets set it
                if (vis == undefined) {    // !? THIS IS ALWAYS 'undefined' ?!

                    value = getUserType(); //get the users type

                    //send custom var to GA
                    _gaq.push(['_setCustomVar',
                     index,   // This custom var is set to slot #1.  Required parameter.
                     key,     // The name acts as a kind of category for the user activity.  Required parameter.
                     value,   // This value of the custom variable.  Required parameter.
                     scope    // Sets the scope to session-level.  Optional parameter.
                    ]);
                }
            });
            }

    }

Тази функция се извиква точно преди натискане на събитие за проследяване '_trackEvent', така че може да не завърши преди извикването на '_trackEvent'. Въпреки това, няма ли да бъде изпратено при следващото зареждане на страницата?

Или разбирам погрешно как GA използва бисквитки с Custom Vars?

BTW: ако има по-лесен начин за получаване на персонализираната променлива (може би без да се налага да изпращате заявка до Google), това би било идеално.

Актуализация

След като прочетох повече документация, разбрах, че „_getVisitorCustomVar“ връща потребителски променливи само ако са зададени в „обхвата на посетителя“ (3). Google очевидно проследява променливите „обхват на сесията“ (2) на своя сървър и не задава бисквитки от страна на клиента. Докато не успея да намеря по-елегантно решение, просто настройвам собствена бисквитка за сесия, за да проверя дали съм изпратил информация до GA за типа потребител.


person NSjonas    schedule 24.09.2012    source източник


Отговори (1)


Възможно е да се получат стойности за „Обхват на посетителя“ само от извикване на API на Google _getVisitorCustomVar

person NSjonas    schedule 04.12.2012