使用Google AnalyticsAPI检索20多个配置文件的数据,以便我可以将所有这些数据合并为一组数据进行分析。 (单独的配置文件适用于所有内容相同的不同域)
我在每个个人资料上使用自定义细分来移除推介垃圾邮件。我给自定义细分具有相同的名称,例如“引荐垃圾邮件”。
所以我想在使用API检索记录时使用这些自定义细分。但是遇到了挑战。
我以为我可以遍历细分,并通过自定义细分名称获取每个个人资料的ID,例如“引荐垃圾邮件”。我做的第一件事是循环细分,看看它会给我什么。所以我做了以下事情:
# Authenticate and construct service.
service = get_service('analytics', 'v3', scope, key_file_location,
service_account_email)
segments = service.management().segments().list().execute()
for segment in segments.get('items', []):
print 'Segment ID ' + segment.get('id') + " - " + segment.get('name')
但这不会检索自定义细分,只检索“标准”Google细分,例如:
Segment ID -1 - All Sessions
Segment ID -2 - New Users
Segment ID -3 - Returning Users
Segment ID -4 - Paid Traffic
Segment ID -5 - Organic Traffic
Segment ID -6 - Search Traffic
Segment ID -7 - Direct Traffic
Segment ID -8 - Referral Traffic
Segment ID -9 - Sessions with Conversions
Segment ID -10 - Sessions with Transactions
etc etc
所以看起来我无法访问自定义细分。
我认为这与我使用服务帐户并且无权访问自定义细分这一事实有关?
我已经为所有配置文件提供了API生成的开发人员gmail地址/用户读取权限。我想这还不足以获得自定义细分。
我错过了什么吗?有没有办法使用服务帐户获取自定义细分?我是否需要使用服务帐户以外的身份进行身份验证?
答案 0 :(得分:4)
我找到了一种从api获取自定义细分细节的简单方法。
首先,您需要具有用户管理权限,管理员可以轻松地进行访问。
Manage Segments#Set Segment availability
申请权限后,只需从您的服务帐户和api运行您在问题中提及的相同代码,或按照以下代码链接列出所有细分细节。
这次您将能够获得自定义细分ID。自从过去3-4天以来,我一直试图获取自定义细分细节。希望它有所帮助。
答案 1 :(得分:0)
答案是Analytics Core Reporting API无法访问自定义细分受众群。它们只能通过此处引用的Analytics Management API进行访问:
检索用户的自定义细分以将其应用于Core Reporting API查询。 https://developers.google.com/analytics/devguides/config/mgmt/v3/
看起来我必须首先调用Analytics Management API来获取我想要的自定义细分列表,然后在Analytics Core Reporting API调用中使用该列表来获取这些细分的数据。
https://developers.google.com/analytics/devguides/reporting/core/v3/reference#segment
或者,我可以忘记使用自定义细分,而是在Analytics Core Reporting API调用数据中检索会话主机名和来源,以便我可以在查询或报告中作为自定义细分执行相同的过滤。缺点是推荐垃圾邮件大约是Google Analytics数据的80%以上,所以我会定期检索比我需要的数据更多的数据。