【问题标题】:Google Analytics API - retrieve Custom Segment Id by its nameGoogle Analytics API - 按名称检索自定义细分 ID
【发布时间】:2015-07-25 06:22:35
【问题描述】:

使用 Google Analytics API 检索 20 多个配置文件的数据,以便我可以将所有这些数据组合成一组数据进行分析。 (单独的配置文件适用于具有相同内容的不同域)

我在每个配置文件上使用自定义细分来删除推荐垃圾邮件。我为自定义细分赋予了相同的名称,例如“推荐人垃圾邮件”。

所以我想在使用 API 检索记录时使用这些自定义细分。然而遇到了挑战。

我认为我可以遍历这些细分并通过自定义细分名称(例如“垃圾推荐人”)获取每个配置文件的 ID。我做的第一件事是遍历 Segments 看看它会给我什么。所以我做了以下事情:

# 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 地址/用户对所有配置文件的读取权限。我想这不足以获得自定义细分。

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

【问题讨论】:

    标签: google-analytics-api


    【解决方案1】:

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

    首先,您需要拥有用户管理权限,可能管理员可以轻松做到这一点。

    Manage Segments#Set Segment availability

    • 访问此链接并转到其中的“设置细分可用性”部分。
    • 应用“协作权限”选项,如链接所示。

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

    Listing a User's Segments

    这次您将能够获得自定义细分 ID。自过去 3-4 天以来,我一直在尝试获取自定义细分的详细信息。希望对您有所帮助。

    【讨论】:

    • 谢谢,我刚试过,它确实有效。尽管我最终在下面的答案中使用了选项 2,但将 Source 和 Hostname 检索到我的核心报告查询中。我在核心报告 italic_service.data().ga().get( _italic 语句中对 Source 使用了过滤器。我必须对 get 结果单独执行 Hostname 过滤器。但现在我可以查看我可能会返回并使用它们的自定义细分。
    • 这也为我们做了,谢谢。请注意:Harshit 上面所说的选项实际上已从 Google Analytics UI 中删除,因为我们的细分基于冗长的正则表达式,这会导致它溢出。猜猜这就是为什么互联网上除此之外的每个帖子都说不可能的原因。
    【解决方案2】:

    答案是 Analytics Core Reporting API 无权访问自定义细分。它们只能由此处引用的 Analytics Management API 访问:

    检索用户的自定义细分以将其应用于核心报告 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% 以上,因此我会检索到比我经常需要的更多的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多