2012-02-23 95 views
0

我已將Google分析服務器端代碼移植到我的Python GAE應用程序中。除了語言跟蹤外,一切都很好。我想知道在這裏誰使用谷歌分析在服務器端有成功跟蹤語言。使用服務器端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 Analytics(分析)所追蹤的語言屬性不是來自標題。

相反,它直接通過URL請求傳遞給__utm.gif作爲utmul屬性。

所以,我的電腦設置utmul=en-us,使用navigator.language或navigator.browserLanguage屬性(這好像它使小寫)

在你的情況,這意味着你只需要加入這一行您的__utm.gif結構:

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

迷人!谷歌提供的示例代碼不使用該屬性。它使用標題。我已按照您的建議添加了該標誌,現在我們將等待24小時,看看它是否有幫助! – 2012-02-24 14:17:23

+0

了不起的消息。事實上,這確實將語言數據傳遞給GA。 – 2012-02-25 14:22:14

相關問題