如何使用Python通过Google Adwords API拉取转化操作绩效数据
用Python通过Google Ads API拉取转化操作绩效数据
嘿,我之前也碰到过一模一样的困惑——刚开始接触Google Ads API(原AdWords API)的时候,确实容易在库里面找不到转化操作数据的明确入口。别着急,我来一步步给你拆解怎么实现:
第一步:准备依赖与认证
首先,你需要使用官方推荐的google-ads Python库(旧的googleads库已经弃用,不再维护了,这可能是你找不到相关内容的原因之一)。先安装它:
pip install google-ads
接下来要配置认证文件google-ads.yaml,放在项目根目录或者指定路径,里面需要包含这些关键信息:
client_id: YOUR_CLIENT_ID client_secret: YOUR_CLIENT_SECRET refresh_token: YOUR_REFRESH_TOKEN developer_token: YOUR_DEVELOPER_TOKEN login_customer_id: YOUR_LOGIN_CUSTOMER_ID # 如果是MCC账号需要填这个
这些信息可以在Google Ads开发者控制台和你的Google Ads账号中获取到。
第二步:编写查询代码
转化操作的绩效数据需要通过Google Ads Query Language (GAQL) 来查询,核心是操作conversion_action资源,同时关联你需要的指标和维度。下面是一个完整的示例代码:
from google.ads.googleads.client import GoogleAdsClient from google.ads.googleads.errors import GoogleAdsException def fetch_conversion_action_performance(): # 初始化客户端 client = GoogleAdsClient.load_from_storage("google-ads.yaml") ga_service = client.get_service("GoogleAdsService") # 构造GAQL查询语句,这里拉取最近30天的转化操作核心绩效数据 query = """ SELECT conversion_action.id, conversion_action.name, conversion_action.type, metrics.conversions, metrics.conversions_value, segments.date FROM conversion_action WHERE segments.date DURING LAST_30_DAYS ORDER BY segments.date DESC """ try: # 执行查询,替换为你的客户ID response = ga_service.search(customer_id="YOUR_CUSTOMER_ID", query=query) # 遍历结果并格式化输出 for row in response: conv_action = row.conversion_action metrics = row.metrics segments = row.segments print(f"日期: {segments.date}") print(f"转化操作ID: {conv_action.id.value}") print(f"转化操作名称: {conv_action.name.value}") print(f"转化类型: {conv_action.type_.name}") print(f"转化数: {metrics.conversions.value}") print(f"转化价值: {metrics.conversions_value.value}") print("---") except GoogleAdsException as e: print(f"请求出错: {e.error.message}") for error in e.failure.errors: print(f"错误代码: {error.error_code}") print(f"错误详情: {error.message}") if __name__ == "__main__": fetch_conversion_action_performance()
关键注意点
- 替换占位符: 记得把代码中的
YOUR_CUSTOMER_ID和yaml文件中的所有占位符换成你自己的真实信息。 - 扩展查询: 如果需要关联广告系列、广告组等维度,可以修改GAQL语句,比如加入
JOIN campaign ON campaign.id = conversion_action.campaign,然后在SELECT中添加campaign.name等字段。 - 权限验证: 确保你的developer_token和账号有访问转化数据的权限,如果是MCC账号,要正确设置
login_customer_id。 - 指标过滤: 如果你需要只看特定类型的转化,可以在WHERE子句中添加
conversion_action.type = 'GOAL'这类条件,精准筛选数据。
如果还有更具体的需求(比如按广告组拆分、拉取特定转化操作的数据),可以调整GAQL的WHERE子句或者SELECT字段,GAQL的语法和SQL类似,上手很快的。
内容的提问来源于stack exchange,提问作者Lucy Kumari
相关产品推荐
相关产品推荐

