2011-08-20 40 views
5

Sto cercando di tracciare l'utilizzo di un'app mobile che recupera dati da un flusso di dati scritto in php. Quindi attualmente sto usando questo script.google analytics serveride tracking

http://code.google.com/p/serversidegoogleanalytics/

comunque la cosa importante per me è vedere la posizione degli utenti di Google Analytics. ma questo non sembra disponibile.

qualcuno è stato in grado di farlo.

Io creo eventi come mostrato nell'esempio sul sito Web ma la posizione del visitatore è sempre impostata su Stati Uniti, credo che sia proprio dove si trova il mio server.

risposta

6

EDIT: La mia risposta precedente era un po 'errata. L'ho modificato

In genere, Google Analytics non trasmette esplicitamente le informazioni sulla posizione; invece, si basa sull'indirizzo IP dell'utente. cioè, quando Google Analytics "invia" i dati a Google Analytics, effettua una richiesta HTTP ai server di Google Analytics e l'indirizzo IP dell'agente richiedente viene utilizzato per determinare la posizione. (Lo stesso metodo viene utilizzato per determinare il browser dell'utente, poiché la richiesta HTTP invia l'intestazione User-Agent ai server di Google.)

Tuttavia, risulta che nello Google Analytics for Mobile library ufficiale, c'è un parametro speciale, utmip, puoi passare che emulerà questo comportamento e ti fornirà una corretta segnalazione di geolocalizzazione. Puoi scaricare quella libreria per vedere come la implementa in PHP (non sembra passare l'intero indirizzo IP.)

Sembra che, per utilizzare questa funzione, devi passare il nome del tuo account come MO-XXX-X, non UA-XXX-X

Promemoria: Cambiare il prefisso sul web di Analytics proprietà ID da UA al mo- nei frammenti lato server indicati di seguito. Ad esempio, se l'ID della proprietà web è UA-12345-67, si utilizzerà MO-12345-67 nei frammenti di server sul lato server.

La loro libreria PHP mostra anche come puoi spoofare il tuo User Agent in modo che corrisponda a quello dell'utente in modo da poter raccogliere informazioni pertinenti sul browser.

0

ho ottimizzato le forniture Google Code per provare a inviare l'indirizzo IP dell'utente che richiede, quindi qualcosa di simile:

// Construct the gif hit url. 
string utmUrl = utmGifLocation + "?" + 
    "utmwv=" + Version + 
    "&utmn=" + GetRandomNumber() + 
    "&utmhn=" + HttpUtility.UrlEncode(domainName) + 
    "&utmr=" + HttpUtility.UrlEncode(documentReferer) + 
    "&utmp=" + HttpUtility.UrlEncode(documentPath) + 
    "&utmac=" + account + 
    "&utmcc=__utma%3D999.999.999.999.999.1%3B" + 
    "&utmvid=" + visitorId + 
    //"&utmip=" + GetIP(Request.ServerVariables["REMOTE_ADDR"]); 
    "&utmip=" + GetIP(Request.UserHostAddress); 

SendRequestToGoogleAnalytics(utmUrl); 

Ma in Google Analytics sto sempre e solo vedendo la posizione del server ospitato in Germania piuttosto che l'utente finale.

Qualcuno sa se utmip è ancora funzionante/supportato? Sembra che stia usando semplicemente l'indirizzo IP di dove è in esecuzione il codice precedente piuttosto che quello del richiedente che sto passando.

(PS - Ho controllato e sto usando il corretto MO - ???? monitoraggio id)