SuperAPI AI 工具集

google-ads

营销与增长

查看项目

更新于 10-15 18:09

技能介绍

用途

Google Ads 集成技能用于让 AI 智能体或命令行用户与 Google Ads 在线广告平台进行交互。Google Ads 是 Google 开发的在线广告平台,广告主通过竞价在 Google 搜索、YouTube 及其他网站上展示广告、服务、商品信息或视频。该技能适用于需要管理 Google Ads 数据的场景,例如操作广告系列、账户、用户、预算与报表。

官方文档:https://developers.google.com/google-ads/api/docs/start

主要能力

该技能涵盖以下领域:广告系列(Campaigns)、广告组(Ad Groups)、广告(Ads)、广告建议(Ad Recommendations)。技能通过 Membrane CLI 与 Google Ads 交互,Membrane 自动处理认证与凭证刷新,使用者可专注于集成逻辑而非认证管道。

常用动作包括:

  • get-customer:获取指定 Google Ads 客户账户的详情。
  • upload-offline-conversions:上传离线转化数据到 Google Ads。
  • remove-campaign:从 Google Ads 删除广告系列。
  • create-conversion-action:创建新的转化操作以跟踪转化。
  • create-keyword:在广告组中创建新的关键词定位条件。
  • create-responsive-search-ad:在广告组中创建新的响应式搜索广告。
  • update-ad-group:更新 Google Ads 中已有的广告组。
  • create-ad-group:在广告系列内创建新的广告组。
  • update-campaign:更新 Google Ads 中已有的广告系列。
  • create-campaign:创建新的广告系列。
  • create-campaign-budget:创建可分配给一个或多个广告系列的预算。
  • search:执行 Google Ads 查询语言(GAQL)查询,跨资源检索数据。
  • list-accessible-customers:返回已认证用户可访问的 Google Ads 客户账户列表。

使用方式

安装 CLI

在终端运行:

npm install -g @membranehq/cli@latest

认证

membrane login --tenant --clientName=<agentType>

该命令会打开浏览器进行认证,或在控制台打印授权 URL(取决于是否支持交互模式)。

无头环境:命令会打印授权 URL,请用户在浏览器中打开。用户完成登录后看到验证码,再执行:

membrane login complete <code>

任意命令添加 --json 可获得机器可读的 JSON 输出。

Agent 类型:claude、openclaw、codex、warp、windsurf 等,用于针对不同宿主调整工具使用方式。

连接 Google Ads

使用 membrane connection ensure 按应用 URL 或域名查找或创建连接:

membrane connection ensure "https://ads.google.com/" --json

用户在浏览器中完成认证,输出包含新的连接 id。这是获取连接最快的方式。URL 会被规范化为域名并与已知应用匹配;若未找到应用,则自动创建连接器。

若返回连接的 state 为 "READY",可跳到第 2 步。

若连接处于 BUILDING 状态,轮询直到就绪:

npx @membranehq/cli connection get <id> --wait --json

--wait 标志会长轮询(最多 --timeout 秒,默认 30)直到状态变化。持续轮询直到 state 不再是 BUILDING。

状态含义:

  • READY:连接已完全建立,跳到第 2 步。
  • CLIENT_ACTION_REQUIRED:用户或智能体需要执行操作,clientAction 对象描述所需操作:
    • clientAction.type:所需操作类型。"connect" 表示需要认证(OAuth、API 密钥等),涵盖初始认证和断连后的重新认证;"provide-input" 表示需要更多信息(例如连接哪个应用)。
    • clientAction.description:所需操作的说明。
    • clientAction.uiUrl(可选):用户完成操作的预构建 UI 地址,存在时展示给用户。
    • clientAction.agentInstructions(可选):智能体如何以编程方式继续的说明。
  • CONFIGURATION_ERROR 或 SETUP_FAILED:出现错误,检查 error 字段了解详情。

用户完成操作(如在浏览器中认证)后,再次用 membrane connection get <id> --json 轮询检查状态是否变为 READY。

搜索动作

用自然语言描述想要做的事情进行搜索:

membrane action list --connectionId=CONNECTION_ID --intent "QUERY" --limit 10 --json

应始终在特定连接的上下文中搜索动作。每个结果包含 id、name、description、inputSchema(动作接受的参数)和 outputSchema(返回内容)。

运行动作

membrane action run <actionId> --connectionId=CONNECTION_ID --json

传递 JSON 参数:

membrane action run <actionId> --connectionId=CONNECTION_ID --input '{"key": "value"}' --json

结果位于响应的 output 字段中。

代理请求

当可用动作无法覆盖用例时,可通过 Membrane 代理直接向 Google Ads API 发送请求。Membrane 会自动将基础 URL 追加到提供的路径,并注入正确的认证头,包括凭证过期时的透明刷新。

membrane request CONNECTION_ID /path/to/endpoint

常用选项:

  • -X, --method:HTTP 方法(GET、POST、PUT、PATCH、DELETE),默认 GET。
  • -H, --header:添加请求头(可重复),例如 -H "Accept: application/json"。
  • -d, --data:请求体(字符串)。
  • --json:发送 JSON 请求体并设置 Content-Type: application/json 的简写。
  • --rawData:按原样发送请求体,不做任何处理。
  • --query:查询字符串参数(可重复),例如 --query "limit=10"。
  • --pathParam:路径参数(可重复),例如 --pathParam "id=123"。

最佳实践

  • 优先使用 Membrane 与外部应用通信:Membrane 提供预构建动作,内置认证、分页和错误处理,可减少 token 消耗并提高安全性。
  • 先发现再构建:运行 membrane action list --intent=QUERY 查找已有动作,再编写自定义 API 调用。预构建动作处理分页、字段映射和原始 API 调用容易遗漏的边界情况。
  • 让 Membrane 处理凭证:不要向用户索要 API 密钥或令牌,而是创建连接;Membrane 在服务端管理完整认证生命周期,本地不保存密钥。

适用场景与限制

适用场景:需要以编程或智能体方式管理 Google Ads 广告系列、广告组、广告、关键词、预算、转化与报表,或通过 GAQL 查询检索 Google Ads 数据时。

限制:使用前需安装 Membrane CLI 并完成登录与 Google Ads 连接;具体可用的动作受当前连接与 Membrane 提供的动作集约束,未覆盖的用例需通过代理请求直接调用 Google Ads API。关于计费、价格、平台覆盖面或具体效果的信息暂未提供。