webentwicklung-frage-antwort-db.com.de

Google Analytics - Rohdatenprotokolle abrufen

Ich habe eine App, die Daten an Google Analytics sendet. Ich bin daran interessiert, auf diese Daten in einem Hadoop-Cluster zuzugreifen und diese zu speichern. Ich vermute, diese Rohdaten werden in Form von Protokollen vorliegen. Ich möchte insbesondere die user_id, die vom Benutzer durchgeführten Suchen und die Suchoption, für die er/sie sich entschieden hat, für die App zu bezahlen.

Wie kann ich das machen? Ich bin völlig neu in GA und ich war nicht derjenige, der GA für die App eingerichtet hat. Ich versuche nur zu sehen, ob es einen Weg gibt, durch den ich auf diese Rohdaten zugreifen kann.

Ich möchte hinzufügen, dass ich Big Query nicht verwenden kann, da wir keinen Zugriff darauf haben. Und die Leute, die GA eingerichtet haben, haben kein Interesse an einem Upgrade auf Universal Analytics.

Jede Hilfe/Gedanken/Anregungen sind willkommen. 

Vielen Dank!

13
activelearner

Es gibt keine Möglichkeit, die Protokolle abzurufen, aber ..

Mit der Google Analytics-API können Sie Ihre Daten aus dem System extrahieren. 

Es gibt Grenzen für das, was Sie tun können:

  1. sie sind auf 7 Dimensionen und 10 Metriken pro Anforderung begrenzt.
  2. Es gibt auch eine Quote von 10.000 Anfragen pro Tag pro Profil (Ansicht). 
  3. einige der Informationen, über die Sie sprechen, sind nicht verfügbar. Es sei denn, das Google Analytics-Konto ist ordnungsgemäß eingerichtet. 
  4. Die Daten werden immer noch auf die eine oder andere Weise aggregiert. Die kleinste in der API verfügbare Zeiteinheit ist Minuten, sodass Sie beispielsweise keine Rohdaten mit Zeitstempeln erhalten können. 

Beachten Sie, dass ein professioneller Google Analytics-Kunde die Rohdaten von GA nach Big Query exportieren kann. Das Exportieren von Daten aus BigQuery ist kostenlos, die Speicher- und Abfrageverarbeitung erfolgt jedoch je nach Nutzung.

Premium Analytics zu einem günstigen Preis für eine jährliche Pauschalgebühr von 150.000 USD

14
DaImTo

da wir die ursprüngliche Frage beantworten sollen, gibt es keine andere Möglichkeit, tatsächliche rohe Google Analytics-Protokolle zu erhalten, als das Serveranrufsystem zu duplizieren.

Mit anderen Worten, Sie müssen eine modifizierte Kopie des Skripts "analytics.js" verwenden, um auf einen gehosteten Webserver zu verweisen, der Serveraufrufe erfassen kann.

Um es kurz zu machen: Sie möchten, dass Ihre Website Treffer an http://www.yourdatacollectionserver.com/collect?v=1&t=pageview [...] Statt anhält http://www.google-analytics.com/collect?v=1&t=pageview [...]

Dies kann problemlos mit einem Tag-Manager wie dem GTM von Google zusammen mit normalen Google Analytics-Tags implementiert werden.

Dadurch werden effektiv Protokolleinträge auf Ihrem Webserver erstellt, die Sie mit ETL, Snowplow oder Splunk oder Ihrem bevorzugten Python/Perl/Ruby-Text-Parsing-Modul verarbeiten können. 

Es liegt dann an Ihnen, die eigentlichen rohen Protokolle in etwas überschaubarem Material zu verarbeiten. Und bevor Sie fragen, ist dies nicht rückwirkend.

3
Julien Coquet

Sie können aggregierte Daten erhalten, dh. Daten, die Sie mithilfe der Google Analytics-API in Ihrem Google Analytics-Konto sehen können. Um Rohdaten zu erhalten, müssen Sie ein Premium-Benutzer sein (Kosten ~ 150.000 pro Jahr). Premium-Nutzer können in Google BigQuery und von dort aus dorthin exportieren, wo Sie möchten.

1

Um GA -Daten per Mausklick zu erhalten, können Sie Abfragen auf eine Weise durchführen, die Ihnen die Möglichkeit bietet, Daten zusammenzufügen.

Zuerst müssen Sie die Daten in GA vorbereiten. Fügen Sie also bei jedem Treffer, den Sie senden, einen Hashwert oder die clientId + einen Zeitstempel in eine benutzerdefinierte Dimension hinzu. Dies gibt Ihnen die Möglichkeit, sich anzuschließen jedes Abfrageergebnis.

Z.B. (So ​​machen wir das bei Scitylana.) Dieses Skript hakt sich in das Tracking-Skript von GA ein und stellt sicher, dass jeder Treffer einen Schlüssel zum späteren Zusammenfügen der Abfrageergebnisse enthält

<script>
var BindingsDimensionIndex = CUSTOM DIMENSION INDEX HERE;
var Version = 1;

function overrideBuildTask() {
    var c = window[window['GoogleAnalyticsObject'] || 'ga'];
    var d = c.getAll();
    if (console) { console.log('Found ' + d.length + ' ga trackers') }
    for (var i = 0; i < d.length; i++) {
        var e = d[i]; var f = e.get('name');
        if (console) { console.log(f + ' modified') }
        var g = e.get('buildHitTask');
        if (!e.buildHitTaskIsModified) {
            e.set('buildHitTask', function(a) {
            window['_sc_order'] = typeof window['_sc_order'] == 'undefined' ? 0 : window['_sc_order'] + 1;
                var b = ['sl=' + Version, 'u=' + e.get('clientId'), 't=' + (new Date().getTime() + window['_sc_order'])].join('&');
                a.set('dimension' + BindingsDimensionIndex, b);
                g(a);
                if (console) {
                    console.log(f + '.' + a.get('hitType') + '.set.customDimension' + BindingsDimensionIndex + ' = ' + b)
                }
            });
            e.buildHitTaskIsModified = true
        }
    }
}
window.ga = window.ga || function() {
    (ga.q = ga.q || []).Push(arguments);
    if (arguments[0] === 'create') { ga(overrideBuildTask) }
};
ga.l = +new Date();

</script>

Natürlich müssen Sie jetzt ein Skript erstellen, das alle Ergebnisse enthält, die Sie aus GA übernommen haben.

Eine kostenlose Version des kommerziellen Tools namens [Scitylana] ( http://www.scitylana.com ) steht zum Download zur Verfügung.

Disclamer: Ich bin an dem Unternehmen beteiligt