2015-05-03 26 views
15

Si consideri un'applicazione Web che fornisce servizi a scuole diverse, ovvero, le credenziali di accesso sono composte da tre parti: codice della scuola, nome utente e password. Mi è stato chiesto di configurare Google Analytics per questo sito Web e creare un paio di rapporti per questo.Come implementare metrica personalizzata univoca in Google Analytics

C'è una relazione particolare che non riesco ancora a capire come implementare: il numero di scuole attive per data. Una scuola attiva è una scuola che alcuni studenti hanno utilizzato il sito web. Ecco il mio approccio finora:

Ho deciso di incorporare event s e inviarli indipendentemente dal caricamento della pagina (è comunque un'applicazione a singola pagina). Quindi invierei un evento per ogni accesso includendo il codice della scuola. Per mantenere la domanda breve, non importa quello che ho fatto, non ho trovato un modo per contare il numero corretto di scuole attive. Ho provato con Unique Events, Custom Dimensions e Custom Metrics. In caso di Unique Events, le sessioni disturbano i risultati e in caso di Custom Metrics, non esiste "Metrica personalizzata unica"!

La parte peggiore è che ogni nuova soluzione che vorrei testare mi prende un giorno! E mi sta facendo impazzire (la pazienza non è la mia specialità).

[UPDATE]

per rendere la domanda più facile da capire, chiedere a un negozio online che vende diversi tipi di prodotti. In che modo puoi creare un rapporto in GA che mostra quante pagine di prodotti unici sono state visualizzate per un determinato periodo di tempo? io. e., se la pagina del prodotto X è stata vista oggi, aumenterà la barra di oggi di uno nel report, indipendentemente da quante volte è stata vista.

+0

Perché le sessioni disturbano i risultati? – samthebrand

+0

È abbastanza semplice! Cerca di contare il numero di scuole attive e lo otterrai. – Mehran

+0

Domanda n. 1: che tipo di sito web? –

risposta

6

il tuo compito in un primo sguardo è piuttosto semplice, ma è un fatto - non lo è. Che cosa si può provare a fare: ogni volta, quando l'utente connesso, inviare evento con i parametri:

  • Categoria: identificatore scuola unica
  • Azione: quello che vuoi (per esempio, hash login o utente ID
  • Etichetta: vuota.

Dopo che i dati di simulazione assomiglia: enter image description here come etichette di eventi sono unici per ogni scuola, poi contare di scuole attive al giorno - è conteggio delle righe a tavola con gli eventi (contrassegnati in immagine).

Cosa c'è di male in questo approccio:

  1. È possibile scegliere un solo giorno separato per analizzare, quante scuole erano attivi. Quindi non puoi scegliere un intervallo come il 1 maggio - 5 maggio e ottenere un rapporto con il conteggio delle scuole attive al giorno. Devi scegliere manualmente cinque periodi di 1 giorno (1 maggio - 1 maggio, 2 maggio - 2 maggio e così via) e prendere manualmente il conteggio delle righe nella tabella degli eventi per ogni giorno.
  2. Purtroppo, non è possibile accedere alla metrica "Numero di righe" nell'interfaccia di Google Analytics e mostrarla al rapporto personalizzato. Questo può essere disponibile nell'API di Google Analytics (richiede molta programmazione, non è sicuro che sia ciò di cui hai bisogno).
+0

Grazie, ma questa non è una soluzione accettabile! Devo creare un rapporto per il mio cliente e lui non prenderà il conteggio delle righe come soluzione. Inoltre, essere in grado di aggregare su diversi periodi di tempo (giorni, settimane, mesi) è un mio requisito. Grazie comunque per il tuo tempo. – Mehran

+0

In tal caso è possibile utilizzare l'API di Google Analytics per i rapporti o creare una soluzione sul lato server, che invierà l'evento per ogni scuola dopo l'accesso solo una volta al giorno. – buttersmai

+0

Le richieste devono essere inviate a GA tramite client (browser), quindi nessuna soluzione lato server è accettabile. Ma se pensi che l'API di GA possa aiutarti, perché no !? – Mehran

2

Nel layout di dati standard questo non può essere calcolato in anticipo in quanto si sta essenzialmente contando il numero di dimensioni univoche sulla data.

Tuttavia, esistono due dimensioni eccezionali che richiedono l'unione dei dati per creare le viste normali: userId e transactionId.

Quindi è possibile assegnare a tutti in un gruppo lo stesso ID utente o una transazione condivisa.

Ad esempio, se si crea una transazione con un ID di Date + schoolId ogni volta che si accede, ci saranno tante transazioni in qualsiasi giorno quante sono le scuole attive in quel giorno.

0

È necessaria una piccola persistenza sul lato server.

Lascia che la pagina Web includa un iframe che punta a un file il cui nome è la data + nome della scuola (o altra granularità di cui potrebbe essere necessario). Consentire al gestore 404 di creare (non restituire) un file HTML vuoto con il nome richiesto che non chiama GA, ma restituisce il codice HTTP 200 e HTML che include le chiamate GA. In questo modo la GA-API verrà chiamata solo una volta per scuola per data, quindi riceverai il rapporto GA che stai cercando.

Punti da notare:

  • meglio tenere i file in una directory separata con la propria .htaccess (o specifici equivalente del server web) e 404 handler, per evitare conflitti con il codice del sito.

  • Probabilmente si dovrebbero pulire quei file una volta ogni tanto.

  • L'oggetto javascript Date del client potrebbe essere errato, è meglio ottenere l'ora corrente dall'intestazione Date: di un server affidabile (ad esempio Google).

  • È anche possibile implementare questo meccanismo con tutto lo script fatto lato client, anche se rende le cose un po 'più complicate. Fammi sapere se non hai assolutamente modo di aggiungere script sul lato server.

Problemi correlati