Google AnalyticsAPI - 按名称检索自定义细分ID

时间:2015-07-22 23:48:46

标签: google-analytics-api

使用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地址/用户读取权限。我想这还不足以获得自定义细分。

我错过了什么吗?有没有办法使用服务帐户获取自定义细分?我是否需要使用服务帐户以外的身份进行身份验证?

2 个答案:

答案 0 :(得分:4)

我找到了一种从api获取自定义细分细节的简单方法。

首先,您需要具有用户管理权限,管理员可以轻松地进行访问。

Manage Segments#Set Segment availability

  • 访问此链接并转到“设置细分可用性”#39;在那里。
  • 申请'协作许可'选项如链接所示。

申请权限后,只需从您的服务帐户和api运行您在问题中提及的相同代码,或按照以下代码链接列出所有细分细节。

Listing a User's Segments

这次您将能够获得自定义细分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%以上,所以我会定期检索比我需要的数据更多的数据。