当前位置: 首页 » 开发技巧 » Google Analytics API 使用

Google Analytics API 使用

目标

我们的目标是获取用户的分布范围,以日期和应用版本为维度,以此推算用户分布比例对ECPM和广告收入的影响。

准备工作

启用API

首先,访问 Google Cloud 服务,在API和服务入口中选择正确的应用,启用 Google Analytics Data API v1。

创建服务凭证

在导航栏中找到 IAM 与管理,切换到服务账号,创建服务账号。在密钥 tab页面,添加新密钥,添加完毕后生成新的凭证下载json。保存好这个凭证,后面会用到。同时,记住生成的邮件地址。

注意:请确保你已经切换到正确的应用。

添加GA权限

打开 GA 管理后台,在这里,进入管理 – 设置页面,点击 账号访问权限管理,在弹出的页面中,添加新的账号,把刚才记录的电子邮件地址,输入到电子邮件输入框中,选择好权限后,确定完成添加。

下载客户端/SDK

Python 客户端地址在 GitHub 上可以找到。

更多示例

更多的示例可以在 GitHub 上找到。

API说明

官方文档在这里 ,如果文档显示成了中文,切记切换回到英文版。

使用

克隆 python 示例代码

在命令行中运行以下命令:

git clone https://github.com/googleapis/python-analytics-data.git

然后,使用 PyCharm 打开克隆的文件夹 python-analytics-data,IDE 将自动创建好虚拟目录,准备运行。

激活虚拟环境

运行 venv/scripts/activate.bat 文件,激活环境。激活后,命令行提示是这样滴:(venv) E:\works\python-analytics-data>

安装依赖

在激活环境后,直接执行以下命令,安装依赖:

pip install google-analytics-data google-auth-oauthlib

然后,执行 python setup.py

修改认证文件

将上面下载的认证文件信息,导出到环境变量中,在命令行提示符中,Windows 平台cmd上执行以下命令:

set GOOGLE_APPLICATION_CREDENTIALS="CREDENTIALS.json文件路径"

对于 Mac或者其他 Linux 平台,执行以下命令:

export GOOGLE_APPLICATION_CREDENTIALS="CREDENTIALS.json文件路径"

注意一些路径、双引号等问题,注意:python 寻找文件的开始路径是工程目录,而不是当前目录。

添加代理

Google 的服务都需要代理才能访问,命令行修改环境变量,Windows 平台cmd中执行以下命令:

set http_proxy=http://127.0.0.1:7890 & set https_proxy=http://127.0.0.1:7890

添加id

在准备执行的代码中,找到property_id="YOUR-GA4-PROPERTY-ID"将其中 YOUR-GA4-PROPERTY-ID 替换成 Google Analytics 的应用 ID,比如 319925804。

测试

切换目录到 snippets,执行quickstart.py,运行以下命令:

cd samples/snippets
python quickstart.py

然后,观察运行结果。

按国家输出用户信息

构建维度与指标,根据版本过滤,运行以下 Python 代码:

# property_id = "YOUR-GA4-PROPERTY-ID"  

# [START analyticsdata_run_report_initialize]
client = BetaAnalyticsDataClient()  
# [END analyticsdata_run_report_initialize]  

# [START analyticsdata_run_report]  
request = RunReportRequest(  
    property=f"properties/{property_id}",  
    dimensions=[Dimension(name="country")],  
    metrics=[Metric(name="activeUsers"), Metric(name="newUsers"),  
             Metric(name="totalRevenue"), Metric(name="totalUsers")],  
    dimension_filter=FilterExpression(  
        filter=Filter(  
            field_name="appVersion",  
            string_filter=Filter.StringFilter(value="1.5.4"),  
        )  
    ),  
    date_ranges=[DateRange(start_date="2020-05-01", end_date="today")],  
)  
response = client.run_report(request)  
# [END analyticsdata_run_report]

直接执行,输出信息:

dimension_values {
  value: "Bangladesh"
}
metric_values {
  value: "149"
}
metric_values {
  value: "131"
}
metric_values {
  value: "0.792976"
}
metric_values {
  value: "157"
}

获取到的数据,与实际使用图表使用可能有差异,需要前端在使用数据时,做一些数据转换。

如何得到自定义事件数量

以前以为是获取不到,但实际上是可以的,根据GA 后台中的探索功能演示,可以从获取到,Demision,使用 eventName,Metrics 使用 eventValue,即可。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

滚动至顶部