Hallo zusammen. @best_not_best.
Mithilfe des Google Analytics-Messprotokolls können Sie Rohdaten in einer HTTP-Anforderung direkt an den Google Analytics-Server senden. Auf diese Weise können Sie Online- und Offline-Verhalten verbinden und in Google Analytics analysieren.
https://developers.google.com/analytics/devguides/collection/protocol/
Google Analytics verfügt über eine ähnliche Funktion namens Datenimport (https://support.google.com/analytics/answer/3191589). Die Unterschiede sind jedoch (ungefähr):
Measurement Protocol | Datenimport | |
---|---|---|
So senden Sie Daten | HTTP-Anfrage | Hauptsächlich Datei-Upload |
Benutzer zu senden | Es ist auch möglich, Daten von Nutzern (neuen Nutzern) zu senden, die in Google Analytics nicht vorhanden sind | Nur in Google Analytics vorhandene Benutzer (vorhandene Benutzer) |
Reflexionszeit | Fast in Echtzeit | Es kann bis zu 24 Stunden dauern |
Offizielle Dokumentation mit Anwendungsbeispielen in Python | Keiner | Ja (Management API) |
Eine Mitglieds-ID erhalten Sie unter Benutzerdefinierte Dimension. Senden Sie nach dem Kombinieren mit Systemdaten Daten mit dem Messprotokoll. Die an Google Analytics gesendeten Daten können auch für die Verteilung von Werbung verwendet werden.
Sie können BigQuery Export von Google Analytics-Daten verwenden. Nach dem Kombinieren mit Systemdaten in BigQuery können Sie also Daten aus Dataflow oder Cloud Composer mit Messprotokoll kombinieren Ich denke, es ist besser zu senden.
Obwohl die Einführung verlängert wurde, ist das Folgende ein Beispiel für die Verwendung des Messprotokolls.
$ 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/"
Python
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)
Geben Sie für "tid" die Tracking-ID des Ziels Google Analytics an und für "ua" einen geeigneten Benutzeragenten.
url_params
ist ein API-Parameter. Bitte setzen Sie jede Google Analytics-Client-ID auf "cid".
Die verfügbaren Parameter finden Sie weiter unten.
https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters
$ python mp.py
Wenn Sie sich die Echtzeitereignisse in Google Analytics ansehen, können Sie sehen, dass die von Ihnen festgelegten Ereignisse verfolgt werden.
Nach dem Update von pyenv auf meinem Mac hat openssl nicht funktioniert, daher führe ich es in einer Cloud-Umgebung aus ... (Deshalb ist die Python-Version 3.5.) Es tut mir leid, das Problem zu beheben ...
Recommended Posts