Все аналитики знают, что прикрутить кастомные переменные (Custom Variables) - весьма забавная штука. Хотя в Google Analytics есть вроде бы все, что душе угодно, но это все же универсальный инструмент для всех. И он конечно же не в курсе про хитрости нашего бизнеса и интернет-маркетинга. А нам вполне может понадобиться померять статистику в весьма специфичных измерениях, про которые GA не знает.
Скажем, при регистрации на сайте можно спросить у пользователя, кто он. Дилер, поставщик или покупатель? Занести эту информацию в кастомную переменную. А затем изучать поведение на сайте тех, других и третьих по-отдельности (делаем Advanced Segments). Замечательно!
Но пост не про это..
Есть два малоприятных момента, связанных с этим инструментом. И о них следует помнить уже на этапе внедрения.
Во-первых, после присвоения кастомной переменной в коде страницы должна содержаться функция, отправляющая данные на сервер GA. Это либо фиксация просмотра страницы _trackPageview(), либо фиксация события _trackEvent() (ну либо на худой конец, фиксация заказа через e-commerce отслеживание). Да, именно в коде этой же страницы и обязательно после! Иначе вы этой переменной в отчетах можете так и не увидеть, а статистика, если и будет собираться, то станет некорректной.
Что, если мы по рекомендации самого же Google влепили код счетчика в самых верх страницы? Ведь в данный момент нам советуют ставить счетчик в тег <head>...</head>. А если форма регистрации (из примера выше) сидит в середине страницы. В таком случае придется делать фиктивное событие (_trackEvent()) после присвоения кастомной переменной. Да, лучше для этого использовать именно фиктивные события, а не фиктивные просмотры страниц, чтобы не портить статистику “количество страниц за сессию”, “среднее время загрузки страниц” и т.д.
Во-вторых, есть и более печальная проблема с кастомными переменными. Как известно, они бывают трех видов: переменные уровня страницы, уровня сессии и уровня пользователя. Скажем, дилеру мы присваиваем значение status=dealer, и это visitor-level переменная.
При этом у нас на все про все пять ячеек (слотов) для кастомных переменных. То есть мы единомоментно можем пользоваться пятью переменными, а если нужно еще, то одну из предыдущих надо удалить (или перейти на платную версию GA, где дается 50 ячеек).
Так вот, неприятность заключается в том, что, присваивая кастомную переменную номер N (где 2<=N<=5) в коде некой страницы, мы должны тут же на этой странице присваивать и другие кастомные переменные с номерами до N (т.е. такие K, что 1<=K<=N).
Иными словами, если в примере выше мы присваиваем кастомную переменную уровня пользователя status=dealer в слот номер 1, то логично это делать только на странице регистрации. Однако же в данный момент такой подход влечет сбой в работе - кастомные переменные в слотах с 2 по 5 присваиваться на других страницах будут через пень-колоду и не в свои ячейки. Поэтому требуется на каждой странице определять статус пользователя и присваивать переменную.
Предполагаю, что это баг и возможно через какое-то время он будет исправлен. Однако сейчас тем, что захочет воспользоваться инструментом кастомных переменных, надо быть в курсе про эти два нюанса. Иначе не избежать долгих мучений над вопросом “Почему не работает?”
Всем приятных инсайтов! :)