集成 Google Analytics

借助 Google Analytics 平台,您可以跨多种设备和环境衡量用户与您的企业互动的情况。该平台会提供收集、存储、处理和报告上述用户互动所需的所有计算资源。

Analytics 数据收集在客户端和服务器端都可以进行。Google Analytics 提供易用的 API 和 SDK,以便将数据发送到 Google Analytics。除此之外,我们还开发了可在 App Engine 应用中使用的代码,可以轻松地将服务器端分析发送到 Google Analytics。

客户端分析数据收集

借助数据收集 API 和 SDK,您可以衡量用户与您的内容和营销计划的互动方式。实现数据收集功能后,您将能够在 Google Analytics 中或通过 Reporting API 查看用户互动数据。如需详细了解客户端分析数据收集,请根据您的客户端类型选择以下链接:

  • 网络跟踪 (analytics.js) - 衡量用户与网站或网页应用的互动情况。
  • Android - 衡量用户与 Android 应用的互动情况。
  • iOS - 衡量用户与 iOS 应用的互动情况。
  • Measurement Protocol - 利用此底层协议可衡量任何环境中的用户互动情况。

App Engine 服务器端分析数据收集

虽然 App Engine 已经提供在应用中记录事件的机制,但在 Google Analytics 中跟踪特定的服务器端事件可能更有利。部分优势如下:

  • 历史数据分析 - 借助 App Engine,您可以配置日志文件最长保留天数或最大大小。超过该天数后,您将无权再访问这些日志文件。借助 Google Analytics 中的事件跟踪功能,您可以在更长的有效期内查看过往事件。
  • 跟踪关键事件 - 应用的各种组件都会向日志文件写入数据,因而可能导致日志文件过于冗长。借助事件跟踪,您可以仅精确定位想要监控的关键事件,并跟踪这些事件以及一些其他元数据。
  • 强大的用户界面 - 利用 Google Analytics 提供的功能丰富的用户界面,可以直观呈现、报告和导出这些服务器端事件。

将以下示例源代码集成到 App Engine 应用中,可以轻松实现此功能。如需详细了解此方法,请参阅 Google Analytics 开发者指南中的事件跟踪

示例源代码

def track_event(category, action, label=None, value=0):
    data = {
        'v': '1',  # API Version.
        'tid': GA_TRACKING_ID,  # Tracking ID / Property ID.
        # Anonymous Client Identifier. Ideally, this should be a UUID that
        # is associated with particular user, device, or browser instance.
        'cid': '555',
        't': 'event',  # Event hit type.
        'ec': category,  # Event category.
        'ea': action,  # Event action.
        'el': label,  # Event label.
        'ev': value,  # Event value, must be an integer
    }

    response = requests.post(
        'http://www.google-analytics.com/collect', data=data)

    # If the request fails, this will raise a RequestException. Depending
    # on your application's needs, this may be a non-error and can be caught
    # by the caller.
    response.raise_for_status()


@app.route('/')
def track_example():
    track_event(
        category='Example',
        action='test action')
    return 'Event tracked.'