10

Ho un'app che invia dati a Google Analytics. Sono interessato ad accedere e memorizzare questi dati su un cluster Hadoop. Sto indovinando che questi dati grezzi saranno sotto forma di registri. In particolare, mi piacerebbe vedere user_id, le ricerche fatte dall'utente e l'opzione di ricerca che ha deciso di pagare per l'app.Google Analytics - Ottenere i registri dati grezzi

Come posso fare questo? Sono completamente nuovo per GA e non sono stato io a configurare GA per l'app. Sto solo cercando di capire se c'è un modo attraverso il quale posso accedere a questi dati grezzi.

Vorrei aggiungere che non posso usare Big Query poiché non abbiamo accesso ad esso. E le persone che configurano GA non sono interessate all'aggiornamento a Universal Analytics.

Qualsiasi aiuto/pensiero/suggerimento è apprezzato.

Grazie!

+0

Se è ancora necessario accedere ai dati GA non premium non campionati, è possibile vedere la mia risposta di seguito: non so perché qualcuno lo abbia votato, ma potrebbe essere un modo per voi. –

risposta

12

Non v'è alcun modo per ottenere i registri, ma ..

Il Google Analytics API vi permetterà di estrarre i dati dal sistema.

Non ci sono limiti a quello che si può fare:

  1. si sono limitati a 7 dimensioni e 10 metriche per le richieste.
  2. C'è anche una quota di 10k richieste al giorno per profilo (vista).
  3. alcune delle informazioni di cui si sta parlando non sono disponibili. A meno che l'account Google Analytics sia impostato correttamente.
  4. I dati verranno comunque aggregati in un modo o nell'altro. La più piccola unità di tempo disponibile nell'API è minuti, quindi non sarà possibile ottenere dati grezzi con data e ora, ad esempio.

Potrebbe essere utile notare che un cliente professionale di Google Analytics potrebbe esportare i dati grezzi da GA a Big Query. L'esportazione di dati da BigQuery è gratuita, ma l'elaborazione di archiviazione e interrogazione è valutata in base all'utilizzo.

Premium analytics at a reasonable price for one flat annual fee of $150,000

1

È possibile ottenere dati aggregati, ad esempio. dati che puoi vedere nel tuo account Google Analytics, utilizzando l'API di Google Analytics. Per ottenere dati grezzi, devi essere un utente premium (costa ~ 150k all'anno). Gli utenti Premium possono esportare in Google BigQuery e da lì ovunque tu voglia.

+1

e questa risposta differisce dalla mia risposta come? – DaImTo

+1

Anche dopo aver modificato il tuo post per copiare alcune delle informazioni del mio post (ad esempio il 150k - vedi il registro modificato della tua risposta) differisce ... Es. nel modo seguente: un lettore che non ha familiarità con i dettagli di Google Analytics non sa cos'è un "log", ad es. se si riferisce a dati di eventi grezzi o al tipo di elaborato, ad es. filtrato, dati. Questo è chiaro dalla mia risposta, ma non dalla tua. –

+1

L'utilizzo di Premium/360 non consente l'accesso ai dati grezzi, ma semplicemente un dump di dati da BigQuery, che è già stato elaborato. –

0

Per ottenere i dati GA clic-clic è possibile effettuare query in un modo che consente di unire i dati insieme.

Per prima cosa è necessario preparare i dati in GA. Quindi, con ogni hit inviato, aggiungi un valore hash o il clientId + un certo timestamp in una dimensione personalizzata. Questo ti darà la possibilità di unire ogni risultato di una query.

E.g. (Questo è come lo facciamo a Scitylana) Questo script sotto i ganci in script di monitoraggio di GA e si assicura che ogni colpo contiene una chiave per la cucitura successiva di risultati di un'interrogazione

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

Certo, ora è necessario fare qualche script che unisce tutti i risultati che hai eliminato da GA.

È disponibile per il download una versione gratuita dello strumento commerciale denominato Scitylana.

Disclamer: ho una partecipazione nella società

3

poiché noi dovremmo rispondere alla domanda iniziale, non v'è alcun modo per ottenere effettivi prime log di Google Analytics diversi duplicando il sistema di chiamata del server.

In altre parole, è necessario utilizzare una copia modificata dello script analytics.js per puntare a un server Web ospitato in grado di raccogliere chiamate al server.

Per farla breve, volete che il vostro sito per catturare visitatori a http://www.yourdatacollectionserver.com/collect?v=1&t=pageview[...] invece di http://www.google-analytics.com/collect?v=1&t=pageview[...]

questo è facilmente implementato attraverso un gestore di tag come GTM di Google, insieme ai normali tag di Google Analytics.

Ciò creerà efficacemente le voci di registro nel server Web che è possibile elaborare utilizzando un ETL o Snowplow o Splunk o il motore di analisi del testo Python/perl/Ruby preferito.

Spetta quindi all'utente elaborare i registri grezzi effettivi in ​​qualcosa di gestibile. E prima di chiedere, questo non è retroattivo.