2012-06-17 10 views
8

I love graphs.Utilizzo di mixpanel per creare una dashboard di analisi personalizzata per gli utenti

Mi piacerebbe mettere le mani su alcuni dati e renderlo bello. Ma ahimè, sono un po 'perso su ciò che sarebbe considerato una buona pratica.

Ho selezionato mixpanel (solo a titolo di esempio) poiché mi sembra straordinariamente facile tenere traccia degli eventi personalizzati e non ha alcun limite di sottodominio come Google Analytics.

Dire che avevo 100-1000 + utenti che hanno un account (che è pubblicamente rivolto), e attualmente sto monitorando le interazioni pubbliche ottenute dalle loro pagine. Con mixpanel, posso vedere i dati che sono belli e l'ho segmentato in singoli account. Fin qui tutto bene!

Ma poi, voglio mostrare ai miei utenti questa informazione. E qui inizia a farmi male la testa. Pianifico un cron job, inserendo i dati da mixpanel e scrivendoli nei rispettivi account? O c'è un modo migliore? Ho esaminato l'API di mixpanel (sto usando Ruby), ma continuano a dirmi che dovrei usare l'API di javascript. Ma nell'usare JS, come si fa a impedire ad altri di ottenere i dati (ad esempio, cosa impedisce a qualcuno di falsificare i messaggi API di mixpanel nella console o di visualizzare la mia chiave privata?).

Cosa considereresti una soluzione pratica in questo caso?

+0

La risposta accettata utilizza $ bucket, ma i documenti dicono che questo è stato dichiarato obsoleto e gli eventi con $ bucket non verranno visualizzati nei report! Funziona ancora per te? –

+0

Mi hai avuto a "I love graphs" –

risposta

5

È possibile ottenere questo memorizzando gli eventi specifici dell'utente di ciascun utente con una proprietà $ bucket associata che ha un valore univoco per ciascun utente come spiegato nei documenti mixpanel qui Mixpanel docs. Se si desidera utilizzare ancora ruby ​​per servire gli eventi, dare un'occhiata a ruby client libraries mixpanel_client consigliato da Mixpanel sembra l'opzione molto mantenuta dei 2 menzionati. Se si va con che allora si può servire eventi specifici dell'utente, come mostrato nell'esempio seguente (che è anche nel readme della gemma):

data = client.request do 
    # Available options 
    resource 'events/properties' 
    event  '["test-event"]' 
    name  'hello' 
    values '["uno", "dos"]' 
    timezone '-8' 
    type  'general' 
    unit  'hour' 
    interval 24 
    limit  5 
    bucket 'contents' 
    from_date '2011-08-11' 
    to_date '2011-08-12' 
    on  'properties["product_id"]' 
    where  '1 in properties["product_id"]' 
    buckets '5' 
end 
1

Si potrebbe provare un servizio come Keen IO che vi permetterà di generare crittografato chiavi API per scrivere e leggere. Keen IO è progettato per funzioni di analisi programmabili e personalizzabili, come l'esposizione delle analisi ai clienti, dove MixPanel è più utile per esplorare i dati nell'interfaccia utente. L'idea con una chiave con ambito crittografato è che non saranno mai in grado di accedere al tuo account, solo i dati che desideri che vengano visualizzati. Puoi facilmente taggare i tuoi eventi con un ID cliente e quindi utilizzare le chiavi Scoped per assicurarti di mostrare sempre ai clienti i propri dati.

https://keen.io/docs/security/#scoped-key

Inoltre, Keen IO ha un "importer" che permette di esportare i vostri eventi MixPanel nel database Keen IO.