OpenClaw 串接 Google Analytics 4 與 Google Ads 完整教學
最後更新:2026 年 3 月|適用 OpenClaw 最新版本
目錄
- 前言與架構概覽
- 事前準備
- Part A — Google Analytics 4 (GA4) 設定
- Part B — Google Ads 設定
- Part C — OpenClaw 整合設定
- 驗證與測試
- 常見問題排除
- 安全性最佳實踐
- Claude Code 一鍵部署 Prompt
前言與架構概覽
本教學將指導你如何讓 OpenClaw AI 代理透過 MCP(Model Context Protocol) 存取你的 Google Analytics 4 與 Google Ads 資料,讓你可以用自然語言查詢網站流量、轉換數據、廣告成效等資訊。
整體架構如下:
你(自然語言)→ OpenClaw Agent → MCP Server → Google APIs → GA4 / Google Ads 資料
兩種主要整合方式:
| 方式 | 適用情境 | 難度 |
|---|---|---|
| Service Account + MCP Server(GA4) | 自架、完全掌控 | 中等 |
| Adspirer Plugin(Google Ads) | 快速上手、託管 OAuth | 簡單 |
| Browser Automation(Google Ads) | 無 API 存取權 | 簡單 |
事前準備
在開始之前,請確認你具備以下條件:
| 項目 | 說明 |
|---|---|
| OpenClaw | 已安裝並可正常運作(openclaw --version 可執行) |
| Node.js | v18 以上(執行 MCP Server 用) |
| Google Cloud 帳號 | 有效的 GCP 專案 |
| GA4 Property | 擁有管理員權限的 GA4 資源 |
| Google Ads 帳號 | 有效的 Google Ads 帳號 |
安裝 OpenClaw(如尚未安裝)
# macOS / Linux
curl -fsSL https://install.openclaw.com | bash
# 初始化設定
openclaw init
# 確認安裝成功
openclaw --version
Part A — Google Analytics 4 (GA4) 設定
步驟 A1:建立或選擇 GCP 專案
- 前往 Google Cloud Console
- 點選左上角專案選擇器 → 新增專案
- 專案名稱建議:
OpenClaw-Integrations或你的公司名-MCP - 記下你的 Project ID
步驟 A2:啟用必要的 API
進入 APIs & Services → Library(API 和服務 → 程式庫),搜尋並啟用以下兩個 API:
| API 名稱 | 用途 |
|---|---|
| Google Analytics Data API | 查詢 GA4 報告、指標、維度 |
| Google Analytics Admin API | 列出帳號、資源、資料串流 |
兩個 API 都必須啟用,缺一不可。
步驟 A3:建立 Service Account(服務帳號)
- 前往 IAM & Admin → Service Accounts(IAM 和管理員 → 服務帳號)
- 點選 建立服務帳號
- 填入以下資訊:
名稱: ga4-mcp-reader
ID: ga4-mcp-reader
說明: Read-only GA4 access for OpenClaw MCP
- 建立後,點進該服務帳號 → 金鑰 → 新增金鑰 → 建立新金鑰 → JSON
- 下載 JSON 金鑰檔案並妥善保存
絕對不要將 JSON 金鑰提交到 Git! 請存放在安全位置。
步驟 A4:在 GA4 中授予存取權限
- 前往 Google Analytics
- 進入 管理 → 資源存取權管理(在你的目標資源下)
- 點選 + 新增使用者
- 輸入服務帳號的 Email(在 JSON 金鑰中的
client_email欄位):
ga4-mcp-reader@你的專案ID.iam.gserviceaccount.com
- 角色選擇 檢視者(Viewer)(唯讀)
- 點選 新增
只授予檢視者權限! AI 代理不應有編輯或管理員權限。
步驟 A5:記錄關鍵資訊
你需要以下三項資訊:
| 項目 | 取得位置 |
|---|---|
| Service Account Email | JSON 金鑰檔中的 client_email 欄位 |
| Private Key | JSON 金鑰檔中的 private_key 欄位 |
| GA4 Property ID | GA4 管理 → 資源設定(是純數字 ID,例如 123456789) |
GA4 Property ID 是純數字(如
123456789),不是 Measurement ID(G-XXXXXXXXXX),兩者不同!
步驟 A6:設定環境變數
建立 .env 檔案:
# .env
GA4_CLIENT_EMAIL="ga4-mcp-reader@your-project.iam.gserviceaccount.com"
GA4_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\nMIIEv...\n-----END PRIVATE KEY-----\n"
GA4_PROPERTY_ID="123456789"
Part B — Google Ads 設定
Google Ads 整合有三種方式,依需求選擇:
方式一:Adspirer Plugin(推薦,最簡單)
Adspirer 是一個託管式 MCP 連接器,提供 100+ 廣告管理工具,支援 Google Ads、Meta Ads、LinkedIn Ads、TikTok Ads。
安裝步驟:
# 1. 安裝 Adspirer 插件
openclaw plugins install openclaw-adspirer
# 2. 登入 Adspirer(會開啟瀏覽器進行 OAuth 認證)
openclaw adspirer login
# 3. 連接你的 Google Ads 帳號(開啟瀏覽器)
openclaw adspirer connect
# 4. 確認連線狀態
openclaw adspirer status
登入後,需到 adspirer.ai/connections 連接你的 Google Ads 帳號(透過 OAuth 授權)。
遠端伺服器(VPS / Docker)使用 API Key:
# 在 adspirer.ai/keys 產生 API Key
export ADSPIRER_API_KEY="sk_live_你的金鑰"
# 或用 CLI 登入
openclaw adspirer login --token sk_live_你的金鑰
方式二:Google Ads API 直接存取(進階)
如果你有 Google Ads API 開發者權杖,可以直接透過 API 存取:
# 安裝 google-ads skill
npx playbooks add skill openclaw/skills --skill google-ads
需要設定 ~/.google-ads.yaml:
developer_token: 你的開發者權杖
client_id: 你的OAuth客戶端ID
client_secret: 你的OAuth客戶端密鑰
refresh_token: 你的刷新權杖
login_customer_id: 你的管理帳號ID
方式三:瀏覽器自動化模式(無需 API)
若你沒有 API 存取權,OpenClaw 可透過瀏覽器直接操作 Google Ads 介面:
- 確保你已在瀏覽器登入 ads.google.com
- 安裝 Google Ads skill:
npx playbooks add skill openclaw/skills --skill google-ads
- OpenClaw 會自動偵測模式,若未找到 API 設定,將改用瀏覽器自動化
Part C — OpenClaw 整合設定
C1:設定 OpenClaw Agent YAML
編輯你的 OpenClaw 設定檔(通常在 ~/.openclaw/openclaw.json 或 agent YAML 中):
GA4 MCP Server 設定:
agents:
- id: marketing-analyst
name: "行銷分析師"
model: anthropic/claude-sonnet-4-5
mcp_servers:
# Google Analytics 4
- name: ga4
command: npx
args:
- "-y"
- "mcp-server-google-analytics"
env:
GOOGLE_CLIENT_EMAIL: "${GA4_CLIENT_EMAIL}"
GOOGLE_PRIVATE_KEY: "${GA4_PRIVATE_KEY}"
GA_PROPERTY_ID: "${GA4_PROPERTY_ID}"
加上 Adspirer(Google Ads)的完整設定:
agents:
- id: marketing-director
name: "行銷總監"
model: anthropic/claude-sonnet-4-5
mcp_servers:
# Google Analytics 4(自架 MCP)
- name: ga4
command: npx
args: ["-y", "mcp-server-google-analytics"]
env:
GOOGLE_CLIENT_EMAIL: "${GA4_CLIENT_EMAIL}"
GOOGLE_PRIVATE_KEY: "${GA4_PRIVATE_KEY}"
GA_PROPERTY_ID: "${GA4_PROPERTY_ID}"
# Google Ads(透過 Adspirer)
# 安裝 openclaw-adspirer 插件後自動可用
C2:設定 SOUL.md(選用但推薦)
在 ~/.openclaw/workspace/ 建立 SOUL.md 讓代理更懂你的需求:
# 行銷數據分析師 — SOUL.md
## 身份
你是一位數位行銷績效分析師,擁有即時存取 Google Analytics 和 Google Ads 的能力。
## 每日例行檢查
當被問到績效報告時:
1. 拉取 GA4 流量與轉換數據(最近 7 天)
2. 與上一期間比較
3. 找出表現最佳與最差的管道
4. 標記異常(偏離基準 >20%)
5. 提出可執行的建議
## 關鍵指標
- 工作階段數、使用者數、新使用者(GA4)
- 各管道轉換率(GA4)
- 營收與交易數(GA4)
- 廣告投資報酬率 ROAS(Google Ads)
- 每次轉換成本 CPA(Google Ads)
## 回報語言
- 預設使用繁體中文
- 數據用表格呈現
- 金額使用 TWD 或 USD 標示
C3:Claude Desktop 本機測試(選用)
若要先在 Claude Desktop 測試,編輯 claude_desktop_config.json:
{
"mcpServers": {
"ga4": {
"command": "npx",
"args": ["-y", "mcp-server-google-analytics"],
"env": {
"GOOGLE_CLIENT_EMAIL": "ga4-mcp-reader@your-project.iam.gserviceaccount.com",
"GOOGLE_PRIVATE_KEY": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----",
"GA_PROPERTY_ID": "123456789"
}
}
}
}
驗證與測試
啟動代理
# 啟動 OpenClaw
openclaw
# 或指定代理
openclaw --agent marketing-director
GA4 測試 Prompt
| 測試指令 | 預期結果 |
|---|---|
| 「這週網站流量跟上週比如何?」 | 工作階段數與週對週比較 |
| 「上個月哪個管道帶來最多轉換?」 | 按管道分類的轉換數與轉換率 |
| 「列出轉換率最高的前 10 個到達頁」 | 排名清單含頁面路徑與轉換指標 |
| 「過去 90 天跳出率趨勢?」 | 時間序列跳出率資料 |
| 「行動裝置 vs 桌機的轉換率比較」 | 裝置類別分群的轉換率 |
Google Ads 測試 Prompt
| 測試指令 | 預期結果 |
|---|---|
| 「目前哪些廣告活動在跑?」 | 活動清單含狀態與預算 |
| 「上週 Google Ads 花了多少錢?」 | 花費摘要 |
| 「哪些關鍵字的 CPA 太高?」 | 高成本關鍵字清單與建議 |
| 「幫我研究跟『AI 行銷工具』相關的關鍵字」 | 關鍵字建議含搜尋量與 CPC |
常見問題排除
| 問題 | 原因 | 解決方式 |
|---|---|---|
| Permission denied | 服務帳號未加入 GA4 | 回到步驟 A4,在 GA4 管理中加入服務帳號 Email |
| API not enabled | GA Data API 未啟用 | 到 GCP Console 啟用 API(步驟 A2) |
| Invalid property ID | 用到 Measurement ID | 使用純數字 Property ID,非 G-XXXXXXXXXX |
| Private key error | .env 中換行符損壞 |
確保 private key 用雙引號包裹,\n 保持原樣 |
| npx timeout | 首次下載 MCP Server 慢 | 手動執行 npx -y mcp-server-google-analytics 快取套件 |
| Adspirer auth expired | OAuth 過期 | 重新執行 openclaw adspirer login |
| Tool call limit | 免費方案額度用完 | 檢查 adspirer.ai 帳號狀態,升級方案 |
安全性最佳實踐
| 項目 | 建議做法 |
|---|---|
| 最小權限原則 | GA4 只給 Viewer、Google Ads 用唯讀存取 |
| 金鑰輪替 | 每 90 天輪替 Service Account 金鑰 |
| 環境變數 | 所有憑證存在 .env,不要寫死在 YAML/JSON |
| 網路限制 | MCP gateway 綁定 127.0.0.1,不暴露外網 |
| 獨立帳號 | 用專用帳號連接,不要用個人帳號 |
| 稽核日誌 | 啟用 GCP audit logs 監控 API 使用 |
| Git 安全 | 將 .env 和 JSON 金鑰加入 .gitignore |
Claude Code 一鍵部署 Prompt
以下是可以直接複製貼上到 Claude Code 使用的 Prompt。它會自動引導你完成整個設定流程:
Prompt(複製以下內容到 Claude Code)
你是一位 DevOps 工程師,幫我在這台機器上完成 OpenClaw 串接 Google Analytics 4 和 Google Ads 的完整設定。請按照以下步驟依序執行,每一步都要確認成功後才繼續下一步。如果遇到錯誤,先診斷問題再嘗試修復。
## 任務總覽
1. 確認環境(Node.js >= 18、OpenClaw 已安裝)
2. 設定 Google Analytics 4 MCP Server
3. 設定 Google Ads 存取(Adspirer 或 API)
4. 更新 OpenClaw 設定檔
5. 建立 SOUL.md 代理人格設定
6. 驗證連線
## 詳細步驟
### 步驟 1:環境檢查
- 執行 `node --version` 確認 Node.js >= 18
- 執行 `openclaw --version` 確認 OpenClaw 已安裝
- 如果未安裝 OpenClaw,執行 `curl -fsSL https://install.openclaw.com | bash`
- 如果未初始化,執行 `openclaw init`
### 步驟 2:GA4 MCP Server 設定
- 先測試 MCP Server 可正常啟動:`npx -y mcp-server-google-analytics`(快取用)
- 請我提供以下資訊(暫停等待我輸入):
- GA4 Service Account Email(格式:xxx@xxx.iam.gserviceaccount.com)
- GA4 Private Key(JSON 金鑰檔案中的 private_key 欄位,或請我上傳 JSON 檔)
- GA4 Property ID(純數字,不是 G-XXXXXXXXXX)
- 將這些寫入 `~/.openclaw/.env` 檔案:
GA4_CLIENT_EMAIL=“…” GA4_PRIVATE_KEY=“…” GA4_PROPERTY_ID=“…”
### 步驟 3:Google Ads 設定
- 問我要使用哪種方式:
A) Adspirer Plugin(推薦,最簡單)
B) Google Ads API 直接存取(需要開發者權杖)
C) 瀏覽器自動化(無需 API)
- 如果選 A:
- 執行 `openclaw plugins install openclaw-adspirer`
- 執行 `openclaw adspirer login`(會開啟瀏覽器)
- 執行 `openclaw adspirer connect`
- 執行 `openclaw adspirer status` 確認
- 如果選 B:
- 請我提供 google-ads.yaml 的內容
- 寫入 `~/.google-ads.yaml`
- 安裝 skill:`npx playbooks add skill openclaw/skills --skill google-ads`
- 如果選 C:
- 安裝 skill:`npx playbooks add skill openclaw/skills --skill google-ads`
- 提醒我需要在瀏覽器登入 ads.google.com
### 步驟 4:更新 OpenClaw 設定
- 讀取現有的 `~/.openclaw/openclaw.json`
- 在 mcp_servers 中加入 GA4 設定:
```json
{
"mcpServers": {
"ga4": {
"command": "npx",
"args": ["-y", "mcp-server-google-analytics"],
"env": {
"GOOGLE_CLIENT_EMAIL": "${GA4_CLIENT_EMAIL}",
"GOOGLE_PRIVATE_KEY": "${GA4_PRIVATE_KEY}",
"GA_PROPERTY_ID": "${GA4_PROPERTY_ID}"
}
}
}
}
- 確保 .env 檔案會被正確載入
步驟 5:建立 SOUL.md
- 在
~/.openclaw/workspace/SOUL.md建立以下內容:
# 行銷數據分析師## 身份你是一位數位行銷績效分析師,擁有即時存取 Google Analytics 和 Google Ads 的能力。## 能力- 查詢 GA4 網站流量、使用者行為、轉換數據- 分析 Google Ads 廣告績效、關鍵字表現- 提供跨平台整合分析與建議## 每日例行檢查當被問到績效報告時:1. 拉取 GA4 流量與轉換數據(最近 7 天)2. 與上一期間比較3. 找出表現最佳與最差的管道4. 標記異常(偏離基準 >20%)5. 提出可執行的建議## 回報語言預設使用繁體中文,數據用表格呈現
步驟 6:驗證
- 重啟 OpenClaw:
openclaw - 測試 GA4 連線:傳送「列出我 GA4 資源的基本資訊」
- 測試 Google Ads 連線:傳送「列出我目前的廣告活動」
- 如果有錯誤,檢查:
- .env 中的值是否正確
- Service Account 是否有 GA4 Viewer 權限
- API 是否都有啟用
- Adspirer 帳號是否已連接 Google Ads
注意事項
- 所有敏感資訊(金鑰、密碼)不要寫死在設定檔中,一律使用環境變數
- 確保 .env 和 JSON 金鑰在 .gitignore 中
- GA4 Property ID 是純數字(如 123456789),不是 Measurement ID(G-XXXXXXXXXX)
- 每一步完成後,顯示綠色確認訊息再繼續
---
### 精簡版 Prompt(快速部署用)
如果你已經有所有憑證準備好,可以用這個更精簡的版本:
幫我在這台機器上設定 OpenClaw 串接 GA4 和 Google Ads:
- 確認 Node.js >= 18 和 OpenClaw 已安裝
- 快取 GA4 MCP Server:npx -y mcp-server-google-analytics
- 安裝 Adspirer 插件:openclaw plugins install openclaw-adspirer
- 問我要以下環境變數值,寫入 ~/.openclaw/.env:
- GA4_CLIENT_EMAIL
- GA4_PRIVATE_KEY
- GA4_PROPERTY_ID
- 更新 ~/.openclaw/openclaw.json,加入 ga4 MCP Server 設定
- 建立繁體中文 SOUL.md(行銷分析師角色)
- 引導我完成 Adspirer OAuth 登入(openclaw adspirer login + connect)
- 測試 GA4 和 Google Ads 連線
- 所有金鑰用環境變數,不寫死在設定檔
注意:GA4 Property ID 是純數字,不是 G- 開頭的。Private key 中的 \n 要保持原樣。
---
## 快速參考卡
| 項目 | 值 / 指令 |
|------|----------|
| **GA4 MCP Server** | `mcp-server-google-analytics`(via npx) |
| **必要 GCP API** | Google Analytics Data API + Admin API |
| **GA4 認證方式** | GCP Service Account(JSON 金鑰) |
| **GA4 環境變數** | `GA4_CLIENT_EMAIL`, `GA4_PRIVATE_KEY`, `GA4_PROPERTY_ID` |
| **GA4 權限** | Viewer(唯讀) |
| **Google Ads 插件** | `openclaw-adspirer` |
| **Ads 認證指令** | `openclaw adspirer login` → `openclaw adspirer connect` |
| **測試 GA4** | `npx -y mcp-server-google-analytics` |
| **確認 Ads 狀態** | `openclaw adspirer status` |
---
*教學由 Claude 整理,資料來源:Tenten Digital、Adspirer 官方文件、OpenClaw Skills Registry*