WEB API中使用Google Analytics
目录
网页中通过插入一段js代码,就可以使用 Google Analytics。但 Web API 调用无法通过浏览器执行 js 代码,Google Analytics 提供 Measurement Protocol 工具,允许开发者通过 HTTP 请求直接向 Google Analytics 发送用户互动数据。
概览
通过HTTP POST发送请求
POST /collect HTTP/1.1 Host: www.google-analytics.com payload_data
每个 payload_data 必须包含以下参数
v=1 // Version. &tid=UA-XXXXX-Y // Tracking ID / Property ID. &cid=555 // Anonymous Client ID. &t= // Hit Type.
注意cid需要为 UUID 形式,例如35009a79-1a05-49d7-b876-2b884d0f825b,不能使用555之类的值。另外,Google Analytics对每个会话有 500 次匹配限制,所以不能使用相同的cid,这样会很快达到限制,最好采用随机生成的cid值。例如使用python标准库uuid生成UUID值。
根据类型(t)的不同,还需要包含其他信息。比如发送 /home 页的网页浏览数据,需要使用如下参数:
v=1 &tid=UA-XXXXX-Y &cid=555& t=pageview &dp=%2Fhome
Python中使用
通过 requests 库发送 HTTP 请求。
post_data = {
'v': google_analytics_config['version'],
't': 'pageview',
'tid': google_analytics_config['track_id'],
'cid': google_analytics_config['client_id'],
'dh': google_analytics_config['document_host'],
'dp': url_for('api_app.post_sms_status', owner=owner, repo=repo)
}
requests.post(google_analytics_config['url'], data=post_data)