Для недавно сделанного мной в рамках изучения Flask микросервиса shares.datagreed.ru мне захотелось отслеживать переходы по разным адресам API. Как это сделать, если Google Analytics интегрируется в страницу посредством JS?
Вот и я тоже не знал. Поиск привел меня к официальной библиотеке на PHP для мобильных сайтов, на которых не предполагалось (когда-то) использовать JavaScript.
Дальнейшие мои изыскания вылились в небольшой модуль для питона, который позволяет использовать трекинг страниц (ивенты, увы, не поддерживаются) Google Analytics со стороны сервера. Штатно в библиотеку влючены классы для Django и Flask. Класс для Flask в данный момент развернут и обкатывается у меня на shares.datagreed.ru, а класс для Django я пока что не тестировал, так что багрепорты приветствуются.
В Django используется вот так (во views.py
):
from pyga import DjangoGATracker
def some_view(request):
ga = DjangoGATracker('UA-xxxx') #ваш ключ для GA
ga.track(request) #записываем посещение текущей страницы
#<...>
Для Flask потребуется передать еще объект сессии:
from flask import request, session #должен быть задан secret_key в параметрах приложения flask, см. документацию по flask
from pyga import FlaskGATracker
#<...>
ga = FlaskGATracker('UA-xxxx') #ключ GA
ga.track(request, session) #регистрируем посещение страницы
Если нужно, то можно использовать все это на чуть более низком уровне:
from pyga import GATracker
ga = GATracker('UA-xxxx')
ga.track('/api/news/', user_session_id, ip_address, useragent)
Проект живет на битбакете. Документация там черновая, если кому-то будет интересно, то могу ее дописать.
Установка с помощью pip:
pip install -e git+https://bitbucket.org/DataGreed/pyga.git#egg=pyga-dev
Автор: loststylus