Статистика Google Analytics в LiveStreet

Давно задавался вопросом импортирования данных статистики из google analytics в нормальном виде и решил его для себя. Сейчас решил внедрить эту возможность в движок Livestreet и поделиться с общественностью. Замечу, что в код лезть не пришлось и все действия достаточно просты.



Смотрим пример и устанавливаем.

Берем архив rar [636kb] или архив zip [636kb] и помещаем все его содержимое в директорию yourdomain.ru/ga/

Конфигурация:
/ga/config/GoogleAnalytics.php

Необходимо ввести корректные данные пользователя, которые вы используете для доступа к статистике:

'_email' => 'mail@mail.ru',
'_password' => 'password',

'id' => 1111111 – это id сайта в Google Analytics. Посмотреть его можно в строке url, когда находитесь на странице статистики вашего сайта.

Права 777:
/ga/data/
/ga/logs/
/ga/public/data/

Затем необходимо запустить скрипт, который заберет все данные и сформирует xml файлы для графиков.

yoursite.ru/ga/main.php

Если все сделали верно, в результате должно получится что-то вроде (приводится только часть текста):

[06-Feb-2009 10:35:21 MSK] Создание объектов отчетов
[06-Feb-2009 10:35:21 MSK] Сбор данных требуемых для отчетов
[06-Feb-2009 10:35:21 MSK] Загрузка данных, необходимых для отчетов
[06-Feb-2009 10:35:22 MSK] Данные сохранены в файл /home/domains/ yourdomain.ru/public_html/ga/data/BrowsersReport.xml
[06-Feb-2009 10:35:23 MSK] Данные сохранены в файл /home/ domains/yourdomain.ru/public_html/ga/data/GeoCountry.xml
[06-Feb-2009 10:35:23 MSK] Данные сохранены в файл /home/ domains/ yourdomain.ru/public_html/ga/data/GeoCity.xml

И так далее. Проверить результат можно файлом

yoursite.ru/ga/test.php

Данный файл отображает графики с полученными данными. Если графики не загружаются, значит читайте сначала.

Теперь добавим графики на сайт. Я для этого воспользовался уже созданной статичной страницей /page/about/, напомню, что редиактировать\создавать страницы можно на странице /page/admin/. На данной странице я создал div для отображения в них графиков, подключил скрипт swfobject для отображения графиков и вызовы графиков.

Вызовы находятся в файлах:

/ga/public/visitors.js
/ga/public/browsers.js
/ga/public/country.js

Пример для отображения посетителей:

Вставляем код для отображения графиков.
<script type="text/javascript" src="/ga/public/ampie/swfobject.js"></script>


Div в который будет вставлен график.

<div id="visitors">
	<strong>You need to upgrade your Flash Player</strong>
</div>


Вызов графика посетителей с параметрами.

<script type="text/javascript" src="/ga/public/visitors.js"></script>


Аналогично вставляются данные для браузеров и для регионов. Подсмотреть, повторяюсь, можно в файле /ga/test.html

Мною приведен минимальный набор действий для того, чтобы статистика начала работать. В конфигурационных файлах можно найти много других параметров, включая расцветку графиков, толщину линий, типы данных и прочее. Подробнее на сайте разработчика amcharts.com

Обновлять статистику нужно все тем же файлом: yoursite.ru/ga/main.php
Выполнение этого скрипта можно поставить в cron.

UPD: обновлен архив 6 февраля 11:49

62 комментария

avatar
Если будет интерес, добавлю позже инструкцию как выводить внутреннюю статистику LiveStreet — рост количества зарегистрированных пользователей, количества постов и комментариев.
avatar
Обязательно ;)
avatar
Это вообще надо «вшить» в LS!!!
avatar
актуально еще?
avatar
спасибо — просто и доступно! А интерес есть, пожалуйста напишите еще статью. Пс… перенесите тему в блог «Дополнительные модули и доработки для LiveStreet»
avatar
Туда и собирался изначально написать, но рейтинга не хватает.
avatar
подкинула всё что могла сразу же как прочитала!
avatar
Похоже что дело не в рейтинге. А в том, что я подписался на него когда рейтинг был в минусе. Сейчас он поднялся, но подписка\отписка на блог всеравно не дают возможности писать в него. Все остальные блоги доступны. Видимо, этот момент упущен в логике LiveStreet.
avatar
Пожалуйста предоставьте файл архива в более удобоваримом варианте для линукса. ну там zip или tar.gz. я не могу разархивировать заранее спасибо.
  • sudo
  • 0
avatar
avatar
спасибо
avatar
спасибо за статью
avatar
Пожалуйста!
avatar
сорьки за почти офтоп
использую данное чудо уже пару лет, на ресурсе никак не связанном с LS один вопрос — стартует по крону, ни как не могу вычислить точно когда у гугла конец дня
постоянно подтягивается последний неполный день, что не есть красиво — такое впечатление, что глобальное падение посещаемости.
как побороть, чтоб последний день вообще не подтягивался ???
2. я так понимаю ampie.swf и amline.swf, у вас тоже не приобретенный — как убрать их копирайт в левом верхнем углу ????
avatar
не сочтите за рекламу покажу результат Статистика
avatar
Можно у вас уточнить, как вы формируете на своем сайте первый график — Динамика роста посещаемости?
avatar
Создается файл с данными и подсовывается графику. В данном случае в файле данные вида:

дата — количество пользователей

На днях выложу файлы для формирования подобной статистики для LiveStreet. Кое-что уже сделано
avatar

экспортирую за все время
где то так
https://www.google.com/analytics/reporting/export?id=".$id."&pdr=".$datestart."-".$datefinish."&gdfmt=nth_month&rpt=VisitorsOverviewReport&tab=0&tchcol=0&tst=0&tscol=0&tsdir=0&mdet=WORLD&midx=0&gidx=0&gval=visitors&glcnt=2&sgtyp=current_data&sgval=pageviews&fmt=3
где $id — понятно id
$datestart — дата старта ресурса
$datefinish — сегодня
gdfmt=nth_month — интервал в месяц
avatar
С неполными днями тоже была проблема. Так как для меня не критично иметь самую последнюю информацию о посетителях, то обновляю статистику днем, в часа 3. Последние данные за вчера.

Почему вы решили что не приобретенный? Стоит всего 85 Euro ;)
avatar
>Почему вы решили что не приобретенный?
ну есть такое подозрение ;-)
>Стоит всего 85 Euro
да они webMoney не принимают
да и такая цена за 2 swf файла имхо — дороговато
avatar
Про то как убрать копирайт с графиков можно прочитать здесь
avatar
Очень небезопасно хранить пароль к аккаунту Google, на котором держится почта, ридер, вся статистика аналитикса и многое другое на сервере.
avatar
других вариантов нет
как вариант под стату — завести левый акаунт, что лично я и сделал.
avatar
вообще-то в аналитиксе с основного аккаунта можно дать доступ любому другому. И не обязательно на левый регистрировать. По крайней мере раньше я так и делал… не знаю как сейчас, не смотрел
avatar
Все верно, можно дать доступ к определенным сайтам определенным логинам.
avatar
Спасибо, удобно.
avatar
А в новой версии ЛС ничего не измениться? Возможно будет вставить все это? Просто я жду релиза и комплю модули которые надо будет потом вставить! )
avatar

сделал страничку с кодом

<script type="text/javascript" src="/ga/public/visitors.js"></script>
<script type="text/javascript" src="/ga/public/country.js"></script>
<script type="text/javascript" src="/ga/public/browsers.js"></script>
 
но всеравно отображается только статистика «Посетители/просмотры»
Что нужно для отображения всего остального?
avatar

То, что вы написали — вызовы графиков. Теперь для каждого из них нужно создать div с нужным id.

В итоге должно выглядеть так:

<script type="text/javascript" src="/ga/public/ampie/swfobject.js"></script>

<div id="visitors">Текст, который будет показан если не установлен flash у пользователя</div>

<script type="text/javascript" src="/ga/public/visitors.js"></script>

<div id="browsers"></div>

<script type="text/javascript" src="/ga/public/browsers.js"></script>


<div id="country"></div>

<script type="text/javascript" src="/ga/public/country.js"></script>
 
avatar
спасибо!
avatar
Здравствуйте!
Возник вопрос

На одном хостинге xml отчеты успешно загружаются, графики отображаются, а на другом проблемы:
при выполнении сайт.ру/ga/main.php страница долго висит, а затем выдает страницу
504 Gateway Time-out (IE)
HTTP-шлюз не отвечает (код ошибки: 504) (Opera)

собственно хостеру-то я уже написал, может просто кто сталкивался?
На там хостинге, где не получается сформировать отчеты в event.log пишется

[15-Feb-2009 17:43:34 ALMT] Создание объектов отчетов
[15-Feb-2009 17:43:34 ALMT] Сбор данных требуемых для отчетов
[15-Feb-2009 17:43:34 ALMT] Загрузка данных, необходимых для отчетов
[15-Feb-2009 17:47:59 ALMT] Создание объектов отчетов
[15-Feb-2009 17:47:59 ALMT] Сбор данных требуемых для отчетов
[15-Feb-2009 17:47:59 ALMT] Загрузка данных, необходимых для отчетов
[15-Feb-2009 17:48:34 ALMT] Your login and password don't match. Make sure you've typed them in correctly.
в браузер так ничего и не выводится…
С логином и паролем все верно, т.к. с теми же авторизационными данными на первом хостинге проблем нет.

и еще вопрос: то что в php файлах скриптов нет закрывающихся кавычек в конце «?>» — это так нужно?
avatar
Вопрос снят
Как и оказалось — все дело в хостере — по умолчанию у них закрыты исходящие коннекты с серверов по http.
посмотрели куда ходит скрипт и открыли эти направления.
avatar
[18-Mar-2009 11:40:43 PDT] При выполнении запроса feed/entry/@date для файла /nfs/c03/h03/mnt/55936/domains/SITE.COM/html/ga/data/subscribers.xml не найдено ни одного элемента

а так все ок?
avatar
А как можно вставить города?
Что то я не нанешл city.js
avatar
<code>// <![CDATA[		
	var so = new SWFObject("/ga/public/ampie/ampie.swf", "ampie", "560", "400", "8", "#FFFFFF");
	so.addVariable("path", "/ga/public/ampie/");
	so.addVariable("settings_file", escape("/ga/public/settings/city.xml"));
	so.addVariable("data_file", escape("/ga/public/data/city.xml"));		
	so.addVariable("preloader_color", "#A2BCDA");
	so.write("city");
	// ]]></code>
avatar
Ок все заработало!
Это ведь все само автоматически будет обновляться? так ведь?
Я ваши постинги все использую, надеюсь там не надо запускать по расписанию скрипты, у меня простой хостинг ) он этого не позволяет!
avatar
В конце постав автор пишет:
Обновлять статистику нужно все тем же файлом: yoursite.ru/ga/main.php
Выполнение этого скрипта можно поставить в cron.


есле нет крона можна вручную :) либо сделать штмл-файл и поставить ему авторефреш
avatar
Хорошо, в крайнем случае в ручную буду!
А этот файл, можно сделать публичным? Ну там ведь просто запрос такведь?
avatar
в каком плане публычный?

еще вариант — в браузере поставить автообновление странички с запросом статистики :)

Например на сервере (если такой имеется) который всегда включен.
avatar
Я поставил CRON — на раз в день!
Чтобы статистика обновлялась раз в день, этого я думаю достаточно ) там буквалньо 2 секунды заниамет генерация файлов!
avatar
приведите пожалуйста строчку-сценарий
avatar
Право, я тоже не вкурил, как без city.js вывести города, без map.js карту и т.п. Не подскажете?! ;-)
avatar
простите за наглость, а как насчет разрешение экрана?
avatar
как наглость связана с разрешением экрана и наоборот? изъясняйтесь понятнее
avatar
Я хочу показать разрешение экрана в статистике — как это сделать!
Простите за наглость! :)
avatar
В данном примере эта возможность не реализована. Но в целом, продемонстрировано как можно брать из GA любые данные, в том числе и разрешения. Разберитесь в скрипте и сделайте по аналогии.
avatar
Как можно обнулить статистику ГуглАналитикс?
avatar
Думаю, что обнулить нельзя. Возможно получится удалением\добавлением сайта в GA.
avatar
А русский язык можно в статистике сделать?
avatar
И еще у меня такая ошибка выскакивает: Warning: Invalid argument supplied for foreach() in /public_html/ga/report/report.php on line 29
avatar
Здравствйте.
Вроде все сделал по инструкции, но показывается какая-то левая статистика чужого сайта с ~200 посещениями и ~500 просмотрами ежедневно. У меня сайт новый, никаких посетителей нет и быть не должно пока.

Думал, что ID не тот ввёл но вроде верный.
на странице Analytics Settings > Edit Account and Data Sharing Settings
Account ID: UA-8316207
так ведь?
В чем тогда может быть моя проблема? Чужая статитика.
  • Ave
  • +1
avatar
Сегодня заметил что с 12.10 не доступна статистика.

В логах нашел вот что:
[19-Oct-2009 15:45:33 EEST] Создание объектов отчетов
[19-Oct-2009 15:45:33 EEST] Сбор данных требуемых для отчетов
[19-Oct-2009 15:45:33 EEST] Загрузка данных, необходимых для отчетов
[19-Oct-2009 15:45:34 EEST] Your login and password don't match. Make sure you've typed them in correctly.

хотя пароль не менялся и доступ в панель ГА осуществляется!
Скорее всего что-то изменилось со стороны гугла!
Может кто в курсе в чем трабла???
avatar
Гугл массово переводит АПИ на следующую версию. АПИ поиска например месяц назад (с него начинали) переехал на новую версию и полностью отвалилось все что использовало предыдущую. У меня jabber Бот на Ocaml, пришлось гуглилку переписывать.
avatar
ясно
Может кто переделал статистику под новую версию АПИ?
avatar
+1, тоже интересна инфа.
avatar
Пробую по вашему мануалу установить Google Analytics, но на этапе запуска скрипта выдает следующее:

[03-Nov-2009 14:20:24 MSK] Создание объектов отчетов
[03-Nov-2009 14:20:24 MSK] Сбор данных требуемых для отчетов
[03-Nov-2009 14:20:24 MSK] Загрузка данных, необходимых для отчетов
[03-Nov-2009 14:20:29 MSK] Your login and password don't match. Make sure you've typed them in correctly.

Емайл и пароль ввожу верно, в этом не может быть сомнений.
avatar
мдя
пару постов выше я уже поднимал этот вопрос — гугл сменил АПИ
avatar
Да, точно, не дочитал до конца.
avatar
Новая рабочая версия livestreet.ru/blog/3400.html
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.