Tips and Tricks: Шеф, два счетчика!

taxistИногда (довольно редко) приходится устанавливать на сайте два счетчика сразу. Зачем это может быть нужно? Например, чтобы можно было оставить текущий счетчик, который дорог для клиента как память, и установить свой “свежий” вариант, свободный от старых ошибок и проблем.

Например, для одного из наших клиентов нам пришлось установить два счетчика сразу, так как в оригинальный аккаунт данные попадали в довольно странном виде – клиент запихивал в trackPageview тайтл текущей страницы. Зачем он это делал, если в разделе “Содержание” есть отчет “Содержание по заголовкам”, ну да как известно, “чужой аккаунт – потемки”.

Также с помощью новоустановленного счетчика можно попробовать разобраться с проблемами, неожиданно проявившимися на старом варианте, когда непонятно, что могло произойти.

Речь именно о двух разных экземплярах кода (с разными идентификаторами), а не вариантах, создаваемых для профилей в одном аккаунте. Если втупую поставить два счетчика на одной странице, вместе с “шапкой” и прочими атрибутами, то работать они будут, но данные будут искажаться довольно интересным образом.

В нашем опыте был такой случай – со страниц забыли убрать второй экземпляр кода, и в результате в “боевом” аккаунте все посещения фиксировались как одностраничные. Соответственно, и время на сайте фиксировалось неверно. Как только второй счетчик был убран, данные пришли в норму, но увы, за то время, пока стояло два кода, мы успели потерять корректные данные примерно за неделю.

Чтобы данные собирались корректно в два счетчика сразу, нужно сначала создать отдельный аккаунт в Google Analytics и сгенерировать в нем новый код. Потом взять исходный код от первого счетчика, который уже стоит на странице, оставить от него “шапку”, а затем в основном теле кода найти функцию trackPageview(); после которой нужно добавить инициализацию второго счетчика и вызов второй функции trackPageview(). Вот как будет выглядеть кусок основного кода отслеживания в результате:

var pageTracker = _gat._getTracker("UA-XXXXX-1");
pageTracker._trackPageview();
var secondTracker = _gat._getTracker("UA-YYYYY-1");
secondTracker._trackPageview();

Как видим, потребовалось добавить к переменной pageTracker еще одну, под названием secondTracker. Именно она и будет использоваться для сбора данных во второй аккаунт с идентификатором “UA-YYYYY-1″ (понятно, что вместо “YYYYY” нужно подставить корректный идентификатор профиля).

В результате одинаковые данные будут попадать в два разных аккаунта. Клиент будет и дальше наслаждаться своими (возможно, неправильными) данными, а мы получим в свое распоряжение новенький счетчик, с которым будем делать все, что захотим.

Конечно, в подобной установке есть и ограничения. Например, вам не удастся привязать к обоим аккаунтам Google Analytics один и тот же аккаунт AdWords – для этого придется обращаться в службу поддержки AdWords. C другой стороны, это не так часто и требуется.