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

в 17:41, , рубрики: django, flask, google analytics, python, Программирование, метки: , , ,

Для недавно сделанного мной в рамках изучения 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

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js