使用服务器端Google Analytics进行语言跟踪
问题描述:
我已将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 '保护无辜的东西')。
正如我所说,除了语言,一切都很好(位置,命中数,用户代理)。他们都被视为“未设定”。
任何想法?
答
Google Analytics(分析)所追踪的语言属性不是来自标题。
相反,它直接通过URL请求传递给__utm.gif
作为utmul
属性。
所以,我的电脑设置utmul=en-us
,使用navigator.language或navigator.browserLanguage属性(这好像它使小写)
在你的情况,这意味着你只需要加入这一行您的__utm.gif结构:
"&utmul=" + req.get('lang')
迷人!谷歌提供的示例代码不使用该属性。它使用标题。我已按照您的建议添加了该标志,现在我们将等待24小时,看看它是否有帮助! – 2012-02-24 14:17:23
了不起的消息。事实上,这确实将语言数据传递给GA。 – 2012-02-25 14:22:14