Отображение данных Google Analytics на сайте
После появления на хабре странички с импортированной из Google Analytics статистикой, зародилась мысль сделать что-то похожее, но чтобы любой желающий мог более менее легко это использовать на своем сайте и настраивать под свои требования.
Основные моменты работы с системой я опишу в статье, а 1 содержат подробные комментарии, так, что разберется любой желающий.
Получение данных Google Analytics
К сожалению, для Google Analytics нет документированного API, поэтому информацию можно получить только экспериментальным путем или рассматривая соответствующие разработки. Я остановился на втором, за основу были взяты API 2 для плагина 3, и 4. Второе не подходит в качестве базового решения, поскольку требует CakePHP знакомиться с которым пока желания нет, да и ставить фреймворк из-за простенького скрипта захочется не всем. В API от Джо я значительно упростил часть работающую непосредственно с GA, убрал лишние запросы и парсинг, которому в элементе отвечающем за загрузку делать нечего.
Обратите внимание, что для авторизации требуются логин и пароль Google аккаунта, хранить на хостинге данные основного аккаунта не всегда целесообразно и безопасно, возможно стоит создать аккаунт специально для таких целей и открыть на нем доступ к отчетам сайта.
Подготовка отчетов
Самый простой способ получить необходимые данных из XML это использовать функцию SimpleXMLElement->xpath(). Вся работа по выборке данных возлагается на функцию parse($file, $xpath, $callbackFunction = ''). Значение параметра $file достаточно очевидно — это имя XML файла с данными GA, параметр $xpath должен содержать описание необходимых данных на языке 5, $callbackFunction имя функции вызываемой для каждого полученного элемента, чтобы получить данные требуемого формата, например, для удаления лишних пробелов.
Отображение данных
Пользователь должен сам выбирать как отображать полученные отчеты, поэтому подключение модулей экспорта максимально упрощено и для начала реализовано два модуля на основе 6 и 7 т.е. с флешем и без. Изображения Google Chart загружаются и хранятся на сервере, чтобы избежать модификации страницы статистики каждый день, хотя это возможно и не оптимальный вариант.
Результаты работы можно посмотреть на примере 8 (используется amCharts), которая совсем не блещет после того как он месяц пролежал, и на представленном ниже графике отображающем ту же статистику с помощью Google Chart. Обратите внимание на столь любимый всеми отчет о ссылающихся блоггерах (или как его назвать даже не знаю), теперь он будет обновляться каждый день, хотя временно размещен в iframe, опять таки, чтобы не работать с базой данных CMS. Только вот блоггеров выявлять все равно придется просматривая статистику GA и добавляя в config.php новые URL.


Установка
Установить скрипт достаточно просто, скопируйте папку ga в корневую директорию сайта. Укажите свои данные для аккаунта Google и профиль сайта в файле config.php. Создайте в CMS страницу и перейдя в режим редактирования HTML, внедрите в нее flash или img графики. Подробнее о внедрении графиков amCharts можно узнать на сайте разработчика в разделе 9, с графиками в формате img и так все понятно. 10, есть в папке со скриптами. Настройки графиков amCharts хранятся в папке settings, настройки графиков Google Chart задаются в скрипте converter.php.Теперь чтобы загрузить и подготовить данные для отображения нужно запустить файл site-name/ga/ga.php, а чтобы не беспокоиться об этом каждый день нужно запускать его с помощью cron или 11.
