2011-08-20 3 views
5

私は、PHPで書かれたデータフィードからデータを取得するモバイルアプリの使用状況を追跡しようとしています。 私は現在、このスクリプトを使用しています。google analytics serverside tracking

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

は、しかし、私にとって重要なことは、Google Analyticsのユーザーの位置を確認することです。しかし、これは利用可能ではないようです。

誰でもこれを行うことができました。

ウェブサイトの例に示すようにイベントを作成しますが、訪問者の場所は常にUSに設定されています。私のサーバーはどこにあるのでしょうか?

答えて

6

EDIT:私の以前の回答は少し間違っていました。私はそれを修正しました。

通常、Googleアナリティクスでは、独自に位置情報を明示的に渡すことはありません。代わりに、ユーザーのIPアドレスに依存します。 GoogleアナリティクスがGoogleアナリティクスにデータを送信すると、GoogleアナリティクスサーバーにHTTPリクエストが送信され、リクエスト元のエージェントのIPアドレスがその場所を特定するために使用されます。

しかし、公式Google Analytics for Mobile libraryには、特別なパラメータutmipがありますが、これは、ユーザーのブラウザを特定するために使用されます。この動作をエミュレートし、適切なジオロケーションレポートを渡すことができます。そのライブラリをダウンロードしてPHPで実装する方法を知ることができます(IPアドレス全体を渡すようには見えません)。

この機能を利用するには、あなたのアカウント名をMO-XXX-X、ではないUA-XXX-X

注意:下記のサーバーサイドのスニペットにMO-するUA- からアナリティクスのウェブプロパティIDの接頭辞を変更します。たとえば、 ウェブプロパティIDがUA-12345-67の場合は、 のサーバーサイドスニペットでMO-12345-67を使用します。

PHPのライブラリには、ユーザーのエージェントに偽装して関連するブラウザ情報を収集する方法も示されています。

0

私が要求しているユーザーのIPアドレスを送信しようとするコードのGoogleの物資を微調整しているので、何かのように:私は今までにドイツでホストされているサーバーの場所を見てい

// 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); 

しかし、Google Analyticsでエンドユーザーではなく

utmipがまだ動作しているかどうか知っていますか?それは私が渡しているリクエスタのIPアドレスではなく、上記のコードが実行されている場所のIPアドレスを使用しているようです。

(PS - 私がチェックしていると、正しいMO使用しています - ????トラッキングID)