Архив за ноември, 2012

Enhanced Link Attribution в Google Analytics!

07.11.2012

Честно казано не очаквах, че някога ще видя тази функция реализирана в Google Analytics. Но тя е факт от днес – в отчетите In-Page Analytics (Анализи върху страниците) вече ще виждаме реални данни за това къде кликат потребителите, а не само данни на база импресии по страниците. При това решението е реализиране супер интелигентно, така че да се справи с възможно най-много типове връзки и други усложнения, които се случват при преход от една страница към друга.

Защо Анализи върху страниците досега не показваше реални данни за кликовете?

Анализи върху страниците до този момент имаше претенциозно име, но съвсем не толкова добри функции. Реално не представляваше нищо повече от визуализация на данните, които виждате в отчетите за съдържанието – коя страница (Б) посещава посетителят след като посети дадена друга страница (А). Поради това при наличие на повече от една връзка от А към Б, и двете връзки показваха едно и също число, т.е. нямаше как да се разбере къде кликат потребителите. За целта аз лично ползвах инструмента MouseFlow.com, често в комбинация с Event Tracking (Проследяване на събития) в Analytics.

Какво представлява „Подобреното отчитане на връзките“?

Това е допълнителен код (плъгин), който се изпълнява заедно с основния код на Гугъл Анализи. Той отчита всеки клик по страницата и се опитва да идентифицира от коя връзка е инициализиран. По този начин вече ще се прави разлика между различните връзки на страницата към една и съща друга страница. Съответно вече няма да виждаме същите проценти за връзката в хедъра и тази във футъра…

Много често важни бутони се дублират на целеви страници – вече ще виждате точно кой бутон се клика. Често в онлайн магазини и новинарски сайтове има по няколко връзки към продукт или новина – заглавието, картинка или снимка, линк „виж още“ и т.н. Ползвайки новата функционалност ще виждате къде всъщност кликат потребителите.

Самото вграждане на кода е елементарно и препоръчвам на всеки да го направи, за да има по-достоверни данни за ползваемостта на различните елементи в сайта. Ако сайтът е направен добре технически, кодът ще отчита правилно и без проблеми всички кликове. Необходимо е разрешаването на събирането на тези данни от административния интерфейс в Google Analytics. Тази опция ще е достъпна постепенно за всички потребители в следващите 3-4 седмици.

Технически детайли

Самият код представлява само два допълнителни реда:

var pluginUrl =
‘//www.google-analytics.com/plugins/ga/inpage_linkid.js’;
_gaq.push([‘_require’, ‘inpage_linkid’, pluginUrl]);

Кодът се добавя в блока с основния GA код, след реда, в който е инициализирана gaq променливата. Ето и как действа:

1. При зареждане на страницата този плъгин прилага onclick хендлър към цялата уебстраница. Съответно при всеки клик на какъвто и да е елемент се проверява дали елемента има ID и то се записва в utmi куки, което е с трайност само 30 секунди. Ако текущия елемент няма сложено ID, се обхожда DOM структурата до три нива нагоре, в търсене на елемент с ID. Например при този код:

<li id=“help“>

<a href=’/help’>
<img src=’/images/help-icon.png’ />
</a>

</li>

ще се запише ID „help“, въпреки, че самата картинка и връзката нямат ID.

30-секундната продължиност се прави с две цели. От една страна, кратката продължителност означава, че се намалява шансът да се запише грешно ID (примерно ако човек кликне на линк който има ID, след това на следващата страница кликне на линк без ID. Ако кукито е с по-голям живот, то има вероятност да се запише първото ID за клика на втората страница, вместо да остане празно). От друга страна 30 секунди е достатъчно време за зареждане на следващата страница в 99% от случаите, дори да се минава през редиректи и да е тежка самата страница. 1-2% пропуснати кликове не са от значение при анализ на тенденции.

2. При зареждане на следващата страница, ако utmi има стойност, то тя се подава към аналитикс чрез стандартната trackPageview функция.

Връзка към публкацията в блога на Google Analytics

Връзка към Помощния център с информация за имплементацията