web-dev-qa-db-fra.com

Google Analytics - Obtention des journaux de données brutes

J'ai une application qui envoie des données à Google Analytics. Je souhaite accéder à ces données et les stocker sur un cluster Hadoop. Je suppose que ces données brutes seront sous la forme de journaux. En particulier, j'aimerais voir le user_id, les recherches effectuées par l'utilisateur et l'option de recherche qu'il/elle a décidé de payer pour l'application.

Comment puis-je faire ceci? Je suis complètement nouveau dans GA et je n’étais pas celui qui a configuré GA pour l’application. J'essaie simplement de voir s'il existe un moyen d'accéder à ces données brutes.

J'aimerais ajouter que je ne peux pas utiliser Big Query car nous n'y avons pas accès. Et les personnes qui ont configuré GA ne sont pas intéressées par la mise à niveau vers Universal Analytics.

Toute aide/pensées/suggestions sont appréciées. 

Merci!

13
activelearner

Il n'y a aucun moyen d'obtenir les journaux, mais ..

L'API Google Analytics API vous permettra d'extraire vos données du système. 

Il y a des limites à ce que vous pouvez faire:

  1. vous êtes limité à 7 dimensions et 10 métriques par demande.
  2. Il existe également un quota de 10 000 requêtes par jour et par profil (voir). 
  3. une partie de l'information dont vous parlez n'est pas disponible. Sauf si le compte Google Analytics est configuré correctement. 
  4. Les données seront toujours agrégées d'une manière ou d'une autre. La plus petite unité de temps disponible dans l'API est le nombre de minutes, vous ne pourrez donc pas obtenir de données brutes avec des horodatages, par exemple. 

Il peut être intéressant de noter qu'un client professionnel de Google Analytics peut exporter les données brutes de GA vers Big Query . L'exportation de données à partir de BigQuery est gratuite, mais le traitement du stockage et des requêtes est facturé en fonction de l'utilisation.

Analyse Premium à un prix raisonnable pour un montant annuel forfaitaire de 150 000 $

14
DaImTo

étant donné que nous sommes censés répondre à la question initiale, il est impossible d'obtenir les journaux bruts de Google Analytics autrement qu'en dupliquant le système d'appel du serveur.

En d'autres termes, vous devez utiliser une copie modifiée du script analytics.js pour pointer vers un serveur Web hébergé pouvant collecter des appels de serveur.

En résumé, vous voulez que votre site capture les hits à http://www.yourdatacollectionserver.com/collect?v=1&t=pageview [...] Au lieu de http://www.google-analytics.com/collect?v=1&t=pageview [...]

Ceci est facilement déployé à l'aide d'un gestionnaire de balises, tel que le GTM de Google, associé à des balises Google Analytics classiques.

Cela créera effectivement des entrées de journal sur votre serveur Web que vous pourrez traiter à l'aide d'un ETL, de Snowplow ou de Splunk ou de votre moteur d'analyse de texte Python/Perl/Ruby préféré. 

Il vous appartient ensuite de transformer les journaux bruts en fichiers gérables. Et avant de vous demander, ce n'est pas rétroactif.

3
Julien Coquet

Vous pouvez obtenir des données agrégées, c.-à-d. données que vous pouvez voir dans votre compte Google Analytics, à l'aide de l'API Google Analytics. Pour obtenir des données brutes, vous devez être un utilisateur premium (coûte environ 150 000 euros par an). Les utilisateurs Premium peuvent exporter dans Google BigQuery et à partir de là où vous le souhaitez.

1
Johannes Schneider

Pour obtenir GA données clic par clic, vous pouvez effectuer des requêtes de manière à vous permettre de joindre des données.

Vous devez d’abord préparer les données dans GA. Ainsi, à chaque coup envoyé, ajoutez une valeur hachée ou le clientId + un horodatage dans une dimension personnalisée. chaque résultat de la requête.

Par exemple. (C’est ce que nous faisons chez Scitylana) Ce script ci-dessous est lié au script de suivi de GA et garantit que chaque résultat contient une clé permettant d’assembler ultérieurement les résultats de la requête

<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>

Bien sûr, vous devez maintenant créer un script qui intègre tous les résultats que vous avez obtenus dans GA.

Une version gratuite de l'outil commercial appelé [Scitylana] ( http://www.scitylana.com ) est disponible au téléchargement.

Disclamer: J'ai une participation dans l'entreprise

0