You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 12:47:51