Кастомизация возможностей Google Analytics

История в трех частях про то, как можно использовать счетчик Google Analytics там, где его, по идее, использовать нельзя.

Часть 1 (она же мат. часть)

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

Сам по себе счетчик представляет собой javascript’овый код, установленный на страницах сайта. При отображении страницы в браузере код генерирует адрес зеро-пикселя — пустой картинки размером в пиксель. В адресе картинки в качестве параметров код прописывает все данные посетителя вплоть до размера экрана и версии Flash. Сгенерированный «адрес» картинки запрашивается на сервере GA. GA получает запрос, считывает из него все параметры и сохраняет их в своей базе данных, из которой потом формируются отчеты.

Кастомизация возможностей Google Analytics

Часть 2

Некоторое время назад некий умелец написал PHP-библиотеку Galvanize(), которая предназначена для отправки запросов к серверу статистика GA из php-скрипта. По сути Galvanize — это тот же счетчик GA, но переписанный на язык PHP. Выполняет он ровно те же функции — собирает данные о пользователе и его действии, упаковывает их в адрес зеро-пикселя и запрашивает его у сервера GA. Замена javascript на PHP дает возможность отправлять запросы в GA не из браузера пользователя, а с сервера сайта. Это может быть нужно, если вы хотите мониторить в GA действия пользователей, связанные с вашим сайтом, но совершаемые не через сайт. Например, загрузку файлов с вашего сервера.

Кастомизация возможностей Google Analytics

Пример 1:

Вы разместили на вашем сайте некий файл для скачивания. Разместили = выложили его на свой сервер + поставили ссылку на этот файл у себя на сайте. Стандартные возможности GA позволяют навесить на эту ссылку код вызова счетчика. Это означает, что фактически вы будете считать таким образом не реальные закачки файла, а клики по ссылке, ведущей на этот файл. Если же кто-нибудь разместит ссылку на этот же файл на другом сайте (в ЖЖ, Фейсбуке и т.д.), то закачки по этим сторонним ссылкам вы уже не посчитаете. Здесь и приходит на помощь php-версия счетчика, которую вы можете установить на своем сервере и настроить так, чтобы она отправляла данные в GA каждый раз, когда кто-нибудь запрашивает ваш файл, откуда бы ни пришел этот запрос.

Таким «файлом для скачивания» может быть не только собственно файл для скачивания. Это может быть, например, запрос RSS-ленты — вы сможете получить в GA данные, как часто ее читают.

Часть 3

Через некоторое время после появления библиотеки Galvanize другие умельцы сделали к ней небольшое дополнение. Это дополнение, которое тоже представляет собой php-скрипт, умеет делать две простые вещи:

1. Генерирует код зеро-пикселя (назову его фейковым, потому что он всего лишь пародия на настоящий зеро-пиксель GA), который можно затем вставить на страницу стороннего сайта, посещаемость которой хочется померить, но вставить javascript на которую нельзя.

2. Получив запрос фейкового зеро-пикселя, генерирует настоящий зеро-пиксель и запрашивает его на сервере GA.

Схема выглядит коряво, но она позволяет использовать GA там, где его нельзя использовать. Например, чтобы измерить посещаемость фан-страницы Фейсбука (для чего собственно эта схема и была придумана).

Кастомизация возможностей Google Analytics

Пример 2 (как вставить GA на фан-страницу Фейсбука):

Алгоритм таков:
1. Заведите себе аккаунт в GA;
2. Создайте новый профиль статистики, в качестве адреса сайта укажите адрес вашей фан-страницы на Фейсбуке (по-моему, адрес никакой роли не играет, но я на всякий случай указывал реальный адрес);
3. Установите на своем сервере библиотеку Galvanize вместе с дополнением. На моем сервере оно почему-то не заработало — видимо, из-за несовместимости версий PHP. Но на сервере изобретателей этой схемы скрипт работает;
4. По адресу установленного на вашем сервере дополнения сгенерируйте код фейкового зеро-пикселя;
5. На своей фан-странице добавьте приложение FBML (оно позволяет добавлять на свою фан-страницу дополнительные блоки-закладки с произвольным HTML-кодом, включая внешние изображения и ссылки);
6. Через приложение FBML создайте новый блок, вставьте в него код фейкового зеро-пикселя, разместите блок на стене фан-страницы.

К сожалению, FBML можно поставить только на стену фан-страницы, так что полноценно померить посещаемость не получится — страницы информации, фотографии и другие стандартные закладки фан-страницы останутся за пределами измерения.

Короче, для сбора статистики в Фейсбуке методика применима слабо, но у нее есть как минимум три мощных применения:
— Статистика мобильных сайтов. Мобильники пока слабо дружат с javascript, а вот картинки загружать умеют, думаю, все.
— Статистика e-mail рассылок. Можно померить, сколько людей реально видят спам, который вы им рассылаете.
— Статистика embed-блоков (такие штуки, которые многие новостные и информационные сайты предлагают вставить себе в блог).

Конечно, замена javascript’а на фейковый зеро-пиксель сказывается на качестве собираемых данных не в лучшую сторону. Во-первых, часть параметров типа разрешения экрана без javascript’а получить в принципе невозможно, соответственно, в отчетах этих данных вы не увидите. Во-вторых, фейковый зеро-пиксель не оставляет в браузере куки — это значит, как минимум, некорректные данные по уникальным посетителям, максимум — некорректные данные еще и по посещениям.