2012-02-23 12 views
0

GoogleアナリティクスサーバーのサイドコードをPython GAEアプリケーションに移植しました。言語トラッキングを除いて、すべてがうまくいっています。私は、サーバー側でGoogleアナリティクスを使用している誰もが言語を追跡するのに成功しているのだろうかと思っています。サーバサイドのGoogle Analyticsを使用した言語トラッキング

utm_url = utm_gif_location + "?" + \ 
     "utmwv=" + GA_VERSION + \ 
     "&utmn=" + str(randint(0, 0x7fffffff)) + \ 
     "&utmhn=" + urllib.quote(domain) + \ 
     "&utmsr=" + '-' + \ 
     "&utme=" + '-' + \ 
     "&utmr=" + urllib.quote(document_referer) + \ 
     "&utmp=" + path + \ 
     "&utmac=" + GA_ACCOUNT + \ 
     "&utmcc=__utma%3D999.999.999.999.999.1%3B" + \ 
     "&utmvid=" + visitor_id + \ 
     "&utmip=" + ip 

    headers = { 
    'User-Agent': req.get('ua'), 
    'Accept-Language': req.get('lang') 
    } 
    httpresp = urlfetch.fetch(
    url  = utm_url, 
    method = urlfetch.GET, 
    headers = headers 
    ) 

    if httpresp.status_code == 200: 
    logging.info("GA success: %s(%s)\n%s" % (utm_url, headers, httpresp.headers)) 
    else: 
    logging.warning("GA fail: %s %d" % (utm_url, httpresp.status_code)) 

そして、ここで私がたAccept-Languageヘッダ送信てることを示して少しデバッグ出力です:

コードの該当ビットがある

GA success: http://www.google-analytics.com/__utm.gif?utmwv=4.4sh&utmn=1306014991&utmhn=XXXXXXXXXXXXX.com&utmsr=-&utme=-&utmr=-&utmp=XXXXXXXXXXXXXXXXXXXXXXXXXX&utmac=MO-XXXXX-XX&utmcc=__utma%3D999.999.999.999.999.1%3B&utmvid=XXXXXXXXXXXXXXXXXX&utmip=XXX.XXX.XX.XX({'Accept-Language': u'en-us', 'User-Agent': u'Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9A405'}) 
{'content-length': '35', 'x-google-cache-control': 'remote-fetch', 'x-content-type-options': 'nosniff', 'age': '93451', 'expires': 'Wed, 19 Apr 2000 11:43:00 GMT', 'server': 'GFE/2.0', 'last-modified': 'Wed, 21 Jan 2004 19:51:30 GMT', 'via': 'HTTP/1.1 GWA', 'pragma': 'no-cache', 'cache-control': 'private, no-cache, no-cache=Set-Cookie, proxy-revalidate', 'date': 'Wed, 22 Feb 2012 16:25:04 GMT', 'content-type': 'image/gif'} 

(私はしましたXXXXを無実を守るためのもの)。

私が言ったように、言語を除いてすべてがうまくいっています(場所、ヒット数、ユーザーエージェント)。彼らはすべて「設定されていない」と数えられています。

アイデア?

答えて

1

Googleアナリティクスが追跡する言語属性はヘッダーではありません。

むしろURLは__utm.gifutmul属性に直接渡されます。

だから、私のコンピュータはnavigator.languageを使用して、utmul=en-usを設定したりnavigator.browserLanguage属性(それは下部ケースを作るようにそれが思われる。)

あなたのケースでは、それはあなただけにこの行を追加する必要があることを意味あなたの__utm.gif構成:

"&utmul=" + req.get('lang') 
+0

魅惑的です! Googleが提供するサンプルコードでは、その属性は使用されません。それはヘッダーを使用します。私はあなたが提案したようにその旗を追加しました、そして、今私たちはそれが助けるかどうかを見るために24時間待つでしょう! –

+0

すばらしいニュース。これは、実際には、GAに言語データを取得しました。 –

関連する問題