我们代表许多在我们网站上进行认证的用户查询Google Analytics(分析)数据。在许多情况下,即使用户可以在GA UI中看到数据,对于用户来说,所有请求的指标也都显示为0。
我们正在使用Python客户端库通过以下代码检索数据:
def traffic_report(profile_id, oauth_cred, start_date=None, end_date=None):
return _report(profile_id,
oauth_cred,
start_date=start_date,
end_date=end_date,
metrics=[
'ga:users',
'ga:sessions',
'ga:newUsers',
'ga:sessionDuration',
'ga:avgSessionDuration',
'ga:percentNewSessions',
'ga:bounceRate',
'ga:pageviews',
'ga:pageviewsPerSession',
'ga:uniquePageviews',
])
def _report(profile_id, oauth_cred, start_date=None, end_date=None, metrics=None, dimensions=None):
import httplib2
http = httplib2.Http()
http = oauth_cred.authorize(http)
from apiclient.discovery import build
analytics = build(ANALYTICS_API_SERVICE_NAME,
ANALYTICS_REPORTING_API_VERSION,
http=http,
discoveryServiceUrl=ANALYTICS_DISCOVERY_URI)
metrics_request = [{'expression': metric} for metric in (metrics or [])]
dimensions_request = [{'name': dimension} for dimension in (dimensions or [])]
response = analytics.reports().batchGet(
body={
'reportRequests': [{
'viewId': profile_id,
'dateRanges': [{
'startDate': start_date.strftime('%Y-%m-%d'),
'endDate': end_date.strftime('%Y-%m-%d'),
}],
'metrics': metrics_request,
}]
}
).execute()
return response['reports'][0]
有人知道这可能是什么吗?我已经问过Google了,但他们没有太大帮助。
答案 0 :(得分:1)
我碰到了这一点,检查了属性中的数据保留设置,认为该问题可能与数据保留设置有关,并且维度组合恰好是非标准的GA报告汇总。
https://support.google.com/analytics/answer/7667196?hl=en
我恰好丢失了50个月的数据,结果证明用户和事件数据保留设置被设置为在50个月后过期。
对于50个月之前的日期以及维度组合比普通GA报告无法处理的日期复杂的情况,API请求将为所有指标返回0。