Pull to refresh

PyGA: использование трекинга Google Analytics в бекенде, написанном на Python

Reading time2 min
Views6.6K
Для недавно сделанного мной в рамках изучения 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('domain.com', 'UA-xxxx') #ваш ключ для GA
    ga.track(request) #записываем посещение текущей страницы

    #<...>


Для Flask потребуется передать еще объект сессии:

from flask import request, session #должен быть задан secret_key в параметрах приложения flask, см. документацию по flask

from pyga import FlaskGATracker

#<...>

ga = FlaskGATracker('domain.com', 'UA-xxxx') #ключ GA
ga.track(request, session)  #регистрируем посещение страницы


Если нужно, то можно использовать все это на чуть более низком уровне:

from pyga import GATracker

ga = GATracker('domain.com', '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


Pull-реквесты приветствуются :)
Tags:
Hubs:
Total votes 24: ↑20 and ↓4+16
Comments8

Articles