Python에서 Measurement Protocol 사용
Google 애널리틱스의 Measurement Protocol을 사용하면 HTTP 요청에서 원시 데이터를 Google 애널리틱스 서버에 직접 보낼 수 있습니다.
이렇게 하면 온라인과 오프라인 활동을 연결하고 Google 애널리틱스에서 분석할 수 있습니다.
Measurement Protocol 정보
공식 문서
데이터 가져오기와의 차이
Google 애널리틱스에는 데이터 가져오기과 비슷한 기능이 있지만 차이는 (얼마나) 아래에 있습니다.
Measurement Protocol
데이터 가져오기
데이터 전송 방법
HTTP 요청
주로 파일 업로드
전송 대상 사용자
Google 애널리틱스에 존재하지 않는 사용자(신규 사용자)의 데이터 전송도 가능
Google 애널리틱스에 있는 사용자(기존 사용자)만
반영시간
거의 실시간
24시간 정도 걸릴 수도 있다
Python에서의 사용 예를 적힌 공식 문서
없음
예 ( Management API )
이용 예
Google 애널리틱스 무료 버전
맞춤 측정기준에서 회원 ID를 가져옵니다. 시스템 데이터와 결합한 후 Measurement Protocol로 데이터 전송.
Google 애널리틱스에 전송한 데이터는 광고 게재 등에도 이용 가능합니다.
Google 애널리틱스 유료 버전 + Google Cloud Platform
Google 애널리틱스 데이터BigQuery Export를 사용할 수 있으므로 BigQuery에서 시스템 데이터와 결합한 후 Dataflow나 Cloud Composer에서 Measurement Protocol로 데이터를 전송하는 것이 좋습니다.
전치가 길어졌습니다만, 이하로부터 Measurement Protocol의 사용예가 됩니다.
환경
기계/OS
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
파이썬
프로그램
mp.py
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""send Google Analytics data using MeasurementProtocol."""
import sys
import urllib.parse
import urllib.request
from urllib.request import urlopen
if __name__ == '__main__':
mp_url = 'https://www.google-analytics.com/collect'
tid = 'UA-XXXXX-X'
ua = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:71.0) Gecko/20100101 Firefox/71.0'
t = 'event'
ec = 'sample_event_category'
ea = 'sample_event_action'
el = 'sample_event_labe'
v = '1'
ni = 1
# url params
url_params = [
{
'v': v,
'tid': tid,
'ua': ua,
't': t,
'ec': ec,
'ea': ea,
'el': el,
'ni': '1',
'cid': '11111.11111',
},
{
'v': v,
'tid': tid,
'ua': ua,
't': t,
'ec': ec,
'ea': ea,
'el': el,
'ni': '1',
'cid': '22222.22222',
},
{
'v': v,
'tid': tid,
'ua': ua,
't': t,
'ec': ec,
'ea': ea,
'el': el,
'ni': '1',
'cid': '33333.33333',
},
]
try:
for url_param in url_params:
# url encode
data = urllib.parse.urlencode(url_param).encode('utf-8')
request = urllib.request.Request(mp_url, data)
response = urlopen(request)
except Exception as e:
print(e)
sys.exit(1)
sys.exit(0)
tid
에는 대상 Google 애널리틱스의 추적 ID를 지정하고 ua
에는 적절한 사용자 에이전트를 지정하십시오.url_params
는 API의 매개 변수입니다. cid
에는 Google 애널리틱스의 클라이언트 ID를 각각 설정하십시오.사용 가능한 파라미터는 아래를 참조하십시오.
ぇぺぺrs. 오, ぇ. 코 m / 아나 ly 치 cs /에서 v gu e s / 코 c 치온 / p 여과 l / v1 / 파라 rs
실행 방법
$ python mp.py
실행 결과
Google 애널리틱스의 실시간 이벤트를 보면 설정한 이벤트가 추적되고 있는지 확인할 수 있습니다.
기타 아무래도 좋은 이야기
Mac의 pyenv를 업데이트하면 openssl이 제대로 작동하지 않으므로 클라우드 환경에서 실행하고 있습니다.
(Python 버전이 3.5 인 이유입니다.)
고치는 건 그렇게・・・.
Reference
이 문제에 관하여(Python에서 Measurement Protocol 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/best_not_best/items/208538f63abcbe4a5cfe텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)