Aduca Hướng dẫn Agent Google Ads với OpenClaw
Agent Google Ads đọc số liệu, cảnh báo chi phí bất thường, gợi ý từ khoá phủ định, viết mẫu quảng cáo — bắt đầu bằng Google Ads Scripts (không cần xin API), sau đó mới nối API. Quy trình nội bộ Aduca, chia sẻ cho học viên · Cập nhật 02/10/2026
Agent Google Ads làm được gì
| Việc | Cấp | Cần bạn duyệt? |
|---|---|---|
| Đọc báo cáo mỗi sáng, so sánh tuần trước, chỉ ra chiến dịch lãng phí | 1 | Không |
| Cảnh báo: chi tiêu nhanh bất thường, quảng cáo bị từ chối, chiến dịch không có hiển thị | 1 | Không |
| Đọc báo cáo cụm từ tìm kiếm, đề xuất từ khoá phủ định | 1 | Không |
| Viết quảng cáo tìm kiếm thích ứng (15 dòng tiêu đề, 4 mô tả), nhóm tài sản Performance Max | 1 | Không |
| Kiểm tra trang đích: tốc độ, nội dung khớp từ khoá, nút gọi/đăng ký | 1 | Không |
| Hỏi đáp số liệu bằng tiếng Việt trên dữ liệu trực tiếp (Google Ads MCP, chỉ đọc) | 2 | Không |
| Tạo/sửa chiến dịch, ngân sách, giá thầu | 3 | Có |
| Cấp | Dành cho | Bạn được gì |
|---|---|---|
| Cấp 1 — Không cần API | Người mới, làm được ngay hôm nay | Google Ads Scripts tự xuất số liệu ra Google Sheets mỗi sáng; Agent đọc Sheet, phân tích, cảnh báo, viết quảng cáo. |
| Cấp 2 — Đọc dữ liệu qua API | Sau khi đăng ký app/quyền với nền tảng | Agent hỏi trực tiếp dữ liệu Google Ads qua máy chủ MCP chính thức của Google (chỉ đọc). |
| Cấp 3 — Thay đổi qua API | Có người kỹ thuật theo dõi | Thay đổi tài khoản qua API — chỉ khi có người kỹ thuật; khuyên dùng script có bước "Xem trước". |
Nên đi lần lượt: chạy ổn Cấp 1 vài tuần rồi mới lên Cấp 2. Ở Cấp 3, mọi thứ Agent tạo ra luôn ở trạng thái nháp / tạm dừng và chờ bạn trả lời "DUYỆT".
Chuẩn bị & cập nhật quan trọng 2026
| Thứ cần có | Ghi chú |
|---|---|
| Tài khoản Google Ads đang chạy | Bạn là quản trị viên |
| Gmail riêng của bot (mục 7 hướng dẫn gốc) | Thêm vào Google Ads với quyền Chỉ đọc (Read only): Google Ads → Quản trị → Quyền truy cập và bảo mật → + |
| Google Sheet "Báo cáo Google Ads" | Chia sẻ cho Gmail của bot quyền Người xem (Agent chỉ cần đọc) |
| Dự án Google Cloud (dùng lại dự án mục 7) | Chỉ cần cho Cấp 2 |
Nguyên tắc quyền tối thiểu: Gmail của bot chỉ có quyền Chỉ đọc trong Google Ads. Dù Agent hiểu sai yêu cầu, nó cũng không sửa được tài khoản.
Tạo Agent Google Ads
Bước 1 — Tạo Agent Google Ads với bot Telegram riêng
Làm giống mục 6 hướng dẫn gốc. Tạo bot mới ở @BotFather (/newbot), lưu token vào trình quản lý mật khẩu. Mã Agent: gads.
Khối 1 — tạo Agent với thư mục làm việc riêng:
openclaw agents add gads --workspace ~/.openclaw/workspace-gadsKhối 2 — nhập token bot vào ô ẩn (chạy riêng):
openclaw secrets store set TG_GADS_TOKEN --kind secret # dán token bot → EnterKhối 3 — thêm bot, nối với Agent, đặt quyền: được chạy lệnh nhưng phải hỏi bạn trước lệnh lạ:
openclaw config set channels.telegram.accounts.gads '{"enabled":true,"botToken":{"source":"store","provider":"default","id":"TG_GADS_TOKEN"}}' --strict-json --merge
openclaw agents bind --agent gads --bind telegram:gads
openclaw config set agents.entries.gads.tools.profile '"coding"' --strict-json
openclaw config set agents.entries.gads.tools.exec.mode '"ask"' --strict-json # hỏi trước khi chạy lệnh lạ
openclaw gateway restartNhắn "hi" cho bot mới → bot trả mã 8 ký tự → duyệt: openclaw pairing approve telegram <CODE> --account gads.
Khối 4 — giao vai trò (tin nhắn này không chứa bí mật):
Hãy cập nhật SOUL.md, IDENTITY.md và AGENTS.md của bạn:
- Tên: Google Ads. Bạn là chuyên gia quảng cáo Google (Tìm kiếm, Performance Max, YouTube, Shopping) của <tên doanh nghiệp>.
- Mục tiêu kinh doanh: <vd: chi phí/khách tiềm năng dưới 150.000đ>. Website: <tên miền>.
- Luôn trả lời tiếng Việt, có số liệu, so sánh với kỳ trước, kèm đề xuất cụ thể.
- Không tự thay đổi tài khoản quảng cáo. Mọi thay đổi là đề xuất; chỉ thực hiện khi tôi trả lời "DUYỆT".
- Không in, ghi ra file hay gửi mã bí mật; không yêu cầu tôi gửi mã bí mật qua chat.Duyệt lệnh ngay trong Telegram (làm 1 lần cho cả bộ)
Agent có quyền chạy lệnh ở chế độ ask sẽ xin phép trước lệnh lạ. Để nhận yêu cầu duyệt ngay trong Telegram: lấy Telegram user ID của bạn (nhắn @userinfobot, nó trả về một dãy số) rồi chạy:
openclaw config set channels.telegram.execApprovals '{"enabled":true,"approvers":["<Telegram user ID>"]}' --strict-json --merge
openclaw gateway restartKhi Agent xin chạy lệnh, bot gửi nút Cho phép 1 lần / Luôn cho phép / Từ chối hoặc dòng /approve <id> allow-once. Đọc kỹ lệnh trước khi duyệt; lệnh có rm, curl … | bash, gửi dữ liệu ra ngoài → hỏi lại Agent vì sao cần. Chi tiết: Exec approvals.
Cấp 1 — Google Ads Scripts → Google Sheets (khuyên dùng)
Google Ads Scripts là đoạn mã chạy ngay trong tài khoản Google Ads, miễn phí, không cần xin API. Đoạn mã dưới chỉ đọc số liệu và ghi ra Google Sheet; Agent đọc Sheet đó mỗi sáng.
Bước 1 — Tạo Google Sheet
- Tạo Google Sheet tên
Báo cáo Google Ads, copy đường link. - Bấm Chia sẻ → thêm Gmail của bot với quyền Người xem.
Bước 2 — Dán script vào Google Ads
- Google Ads → Công cụ → Hành động hàng loạt → Tập lệnh (Scripts) → nút + → Tập lệnh mới.
- Xoá nội dung mẫu, dán đoạn mã dưới, thay link Sheet ở dòng 2.
- Bấm Uỷ quyền → chọn tài khoản Google của bạn → Cho phép.
- Bấm Xem trước: phần Nhật ký không báo lỗi, Sheet có 3 tab số liệu là đạt.
- Bấm Lưu, đặt Tần suất: Hằng ngày, 6:00.
// Aduca – xuất số liệu Google Ads ra Google Sheets (chỉ ĐỌC, không thay đổi tài khoản)
const SHEET_URL = '<link Google Sheet Báo cáo Google Ads>';
function main() {
const ss = SpreadsheetApp.openByUrl(SHEET_URL);
writeReport(ss, 'Hom qua', 'YESTERDAY');
writeReport(ss, '7 ngay', 'LAST_7_DAYS');
writeReport(ss, '30 ngay', 'LAST_30_DAYS');
}
function writeReport(ss, name, range) {
const q = 'SELECT campaign.name, campaign.status, campaign.advertising_channel_type, ' +
'metrics.cost_micros, metrics.impressions, metrics.clicks, metrics.ctr, ' +
'metrics.average_cpc, metrics.conversions, metrics.conversions_value ' +
'FROM campaign WHERE segments.date DURING ' + range + ' AND metrics.impressions > 0';
const rows = [['Chiến dịch', 'Trạng thái', 'Loại', 'Chi phí', 'Hiển thị', 'Click', 'CTR', 'CPC TB', 'Chuyển đổi', 'Giá trị CĐ']];
const it = AdsApp.search(q);
while (it.hasNext()) {
const r = it.next();
rows.push([r.campaign.name, r.campaign.status, r.campaign.advertisingChannelType,
r.metrics.costMicros / 1e6, r.metrics.impressions, r.metrics.clicks, r.metrics.ctr,
r.metrics.averageCpc / 1e6, r.metrics.conversions, r.metrics.conversionsValue]);
}
const sh = ss.getSheetByName(name) || ss.insertSheet(name);
sh.clearContents();
sh.getRange(1, 1, rows.length, rows[0].length).setValues(rows);
sh.getRange(1, 12).setValue('Cập nhật: ' + new Date());
}Bước 3 — Cho Agent đọc và phân tích mỗi sáng
openclaw automations create "0 7 * * *" \
"Đọc Google Sheet Báo cáo Google Ads (link: <link Sheet>) bằng gog. So sánh hôm qua với trung bình 7 ngày: chi phí, chuyển đổi, chi phí/chuyển đổi theo chiến dịch. Gửi tôi bảng ngắn, 3 điểm cần chú ý và đề xuất. Chỉ đọc, không thay đổi gì." \
--name "Bao cao Google Ads" --agent gads --tz Asia/Ho_Chi_MinhKết quả tự gửi về Telegram của Agent. Xem/sửa/xoá lịch: openclaw automations list, openclaw automations run <id> (chạy thử ngay), openclaw automations remove <id>. Cũng có thể nhắn bot: "Tạo lịch tự động … lúc … mỗi ngày".
Bước 4 — Từ khoá phủ định từ báo cáo cụm từ tìm kiếm
- Google Ads → Thông tin chi tiết và báo cáo → Cụm từ tìm kiếm → 30 ngày → Tải xuống CSV.
- Gửi file cho bot kèm tin nhắn:
Đây là báo cáo cụm từ tìm kiếm 30 ngày. Sản phẩm của tôi: <mô tả>.
Liệt kê cụm từ tốn tiền nhưng không có chuyển đổi và không liên quan (đề xuất làm từ khoá phủ định, ghi kiểu đối sánh),
và cụm từ chuyển đổi tốt nên thêm làm từ khoá mới. Trả lời dạng bảng, kèm chi phí đã tiêu.Bạn tự thêm từ khoá phủ định trong Google Ads, hoặc dùng cách "script có Xem trước" ở Cấp 3.
Viết quảng cáo và kiểm tra trang đích
Viết 1 quảng cáo tìm kiếm thích ứng cho nhóm từ khoá <nhóm từ khoá>, trang đích <link>:
15 dòng tiêu đề (tối đa 30 ký tự, có số đếm ký tự), 4 dòng mô tả (tối đa 90 ký tự),
có từ khoá chính, lợi ích, con số, lời kêu gọi. Không dùng từ ngữ vi phạm chính sách (nhất, số 1, cam kết 100%).Mở trang đích <link> bằng trình duyệt: kiểm tra tốc độ, tiêu đề có khớp từ khoá <từ khoá> không,
nút gọi/đăng ký có hiện ngay màn hình đầu trên điện thoại không, form có quá nhiều ô không.
Liệt kê 5 việc sửa để tăng tỷ lệ chuyển đổi.Cấp 2 — Hỏi dữ liệu trực tiếp qua Google Ads MCP (chỉ đọc)
Google phát hành máy chủ MCP chính thức cho Google Ads: Agent hỏi được số liệu bằng ngôn ngữ thường ("chiến dịch nào tốn nhiều nhất tuần này?"). Bản hiện tại chỉ đọc — không sửa được tài khoản.
Bước 1 — Xin quyền Google Ads API cho dự án Google Cloud
- Mở dự án Google Cloud đã tạo ở mục 7 → bật Google Ads API → Enable.
- Mở trang tổng quan Google Ads API trong dự án → mở mục Upgrade access level → Apply for access. Mức Explorer cho phép khoảng 2.880 thao tác/ngày trên tài khoản thật — đủ cho báo cáo. Cần nhiều hơn thì xin Basic (15.000/ngày).
- Trang Google Auth Platform → Data access: thêm scope
https://www.googleapis.com/auth/adwords.
Bước 2 — Tạo file đăng nhập (ADC) trên laptop rồi đưa lên VPS
Cài Google Cloud CLI (gcloud) trên laptop. Tải file OAuth client (loại Desktop, mục 7) về laptop. Đăng nhập bằng Gmail của bot (Gmail chỉ có quyền Chỉ đọc trong Google Ads):
gcloud auth application-default login \
--client-id-file=<đường dẫn client_secret.json> \
--scopes=https://www.googleapis.com/auth/adwords,https://www.googleapis.com/auth/cloud-platform
scp ~/.config/gcloud/application_default_credentials.json openclaw@<IP_VPS>:~/gads-adc.json
rm ~/.config/gcloud/application_default_credentials.json # xoá bản trên laptopWindows: file nằm ở %APPDATA%\gcloud\application_default_credentials.json — đưa lên VPS bằng SFTP của Termius rồi xoá bản trên máy.
Bước 3 — Cài và đăng ký máy chủ MCP trên VPS
mkdir -p ~/.config/google-ads-mcp && chmod 700 ~/.config/google-ads-mcp
mv ~/gads-adc.json ~/.config/google-ads-mcp/adc.json && chmod 600 ~/.config/google-ads-mcp/adc.json
sudo apt install -y pipx && pipx ensurepath
openclaw mcp set googleads '{"command":"pipx","args":["run","--spec","git+https://github.com/googleads/google-ads-mcp.git","google-ads-mcp"],"env":{"GOOGLE_PROJECT_ID":"<ID dự án Google Cloud>","GOOGLE_APPLICATION_CREDENTIALS":"/home/openclaw/.config/google-ads-mcp/adc.json"}}'
openclaw mcp probe googleads # phải thấy 3 công cụ: list_accessible_customers, search, get_resource_metadata
openclaw gateway restartDùng công cụ Google Ads MCP: liệt kê các tài khoản tôi truy cập được,
rồi lấy chi phí, click, chuyển đổi 7 ngày qua theo chiến dịch của tài khoản <ID tài khoản, không có dấu gạch>.adc.json chứa quyền đăng nhập lâu dài của Gmail bot (dạng chữ thường). Vì Gmail bot chỉ có quyền Chỉ đọc trong Google Ads, rủi ro bị giới hạn. Không bao giờ dùng Gmail quản trị chính để tạo file này. Thu hồi khi cần: Tài khoản Google của bot → Bảo mật → Ứng dụng bên thứ ba → xoá quyền.Cấp 3 — Thay đổi tài khoản an toàn
Cách an toàn nhất cho người không chuyên: Agent viết script thay đổi, bạn bấm "Xem trước" trong Google Ads. Chế độ Xem trước cho thấy chính xác những gì sẽ thay đổi mà chưa áp dụng; bạn đồng ý mới bấm Chạy.
Viết Google Ads Script thêm các từ khoá phủ định sau vào chiến dịch <tên chiến dịch> (đối sánh cụm từ): <danh sách>.
Script chỉ làm đúng việc này, có Logger.log từng thay đổi, không xoá gì, không đổi ngân sách hay giá thầu.- Dán vào Google Ads Scripts (tập lệnh mới), bấm Xem trước, đọc phần Thay đổi.
- Đúng ý thì bấm Chạy. Không đặt lịch tự động cho script thay đổi.
Gọi Google Ads API để thay đổi trực tiếp (tạo chiến dịch, đổi ngân sách) chỉ nên làm khi có lập trình viên. Khi đó Gmail bot cần quyền Tiêu chuẩn, và quy tắc bắt buộc: chiến dịch mới ở trạng thái PAUSED, ngân sách trần, ghi nhật ký, chờ "DUYỆT".
Mẫu giao việc hay dùng
| Việc | Tin nhắn mẫu (tóm tắt) |
|---|---|
| Kiểm tra sức khoẻ tài khoản | "Từ Sheet báo cáo 30 ngày: chiến dịch nào chi phí/chuyển đổi gấp đôi mục tiêu, chiến dịch nào bị giới hạn ngân sách nhưng hiệu quả tốt?" |
| Kế hoạch ngân sách theo mùa | "Lập kế hoạch ngân sách tháng 11 cho 3 chiến dịch, tính cả 11.11 và Black Friday, giữ chi phí/đơn dưới …" |
| Performance Max | "Viết nhóm tài sản Performance Max: 5 tiêu đề ngắn, 5 tiêu đề dài, 5 mô tả, gợi ý tín hiệu đối tượng." |
| Shopping / Merchant Center | "Kiểm tra file sản phẩm (gửi kèm): tiêu đề nào thiếu thương hiệu, màu, kích thước; đề xuất tiêu đề tối ưu." |
| Đối thủ | "Tìm trên Google từ khoá … (không bấm quảng cáo), liệt kê thông điệp quảng cáo của 5 đối thủ, đề xuất điểm khác biệt." |
Lỗi thường gặp & cách sửa
| Hiện tượng | Nguyên nhân | Cách sửa |
|---|---|---|
| Script báo "Authorization required" | Chưa uỷ quyền hoặc đổi người tạo script | Mở script → Uỷ quyền lại |
| Script báo không mở được Sheet | Sai link hoặc tài khoản chạy script không có quyền sửa Sheet | Dùng link đúng; người tạo script phải có quyền chỉnh sửa Sheet |
| Agent báo không đọc được Sheet | Chưa chia sẻ Sheet cho Gmail bot | Chia sẻ quyền Người xem cho Gmail bot |
openclaw mcp probe lỗi | Thiếu pipx/git, sai đường dẫn adc.json, chưa bật Google Ads API | Chạy lại Bước 3; kiểm tra ls -l ~/.config/google-ads-mcp/ |
| PERMISSION_DENIED / chưa đủ quyền truy cập | Dự án Cloud chưa được duyệt mức truy cập phù hợp | Xem lại trang tổng quan Google Ads API trong Cloud Console |
| Không thấy tài khoản | Gmail bot chưa được thêm vào Google Ads | Quản trị → Quyền truy cập → thêm Gmail bot (Chỉ đọc) |
Lưu ý chính sách
- Tuân thủ Chính sách quảng cáo Google: ngành y tế, thực phẩm bảo vệ sức khoẻ, tài chính… cần đúng quy định và giấy phép tại Việt Nam.
- Không để Agent tự tăng ngân sách hoặc tạo chiến dịch đang chạy; luôn có giới hạn ngân sách tài khoản.
- Theo dõi chuyển đổi đúng chuẩn (GA4/thẻ Google Ads) và có cơ chế đồng ý cookie trên website.
Muốn dựng đội AI Agent chạy thật cho doanh nghiệp?
Khóa Meta Ads AI Automation do Nguyễn Đức – Chủ tịch Aduca Group đào tạo trực tiếp 3 ngày: cài OpenClaw, dựng Agent quảng cáo, nội dung, chốt sale, kế toán trên chính tài khoản của bạn.
Nguồn
- Google Ads Scripts
- Google Ads API – Access levels
- Google Ads MCP server
- googleads/google-ads-mcp (GitHub)
- Quyền truy cập tài khoản Google Ads
- Chính sách quảng cáo Google
- OpenClaw – MCP servers
- Aduca – Hướng dẫn cài đặt OpenClaw trên VPS (nền tảng)
Miễn trừ trách nhiệm
Tài liệu này là quy trình nội bộ Aduca đang sử dụng để triển khai AI Agent và giảng dạy trong các lớp AI Agent, được chia sẻ công khai miễn phí cho mục đích học tập và tham khảo. Nội dung được đối chiếu với tài liệu chính thức của OpenClaw và của các nền tảng liên quan tại thời điểm cập nhật (02/10/2026).
- Phần mềm của bên thứ ba: OpenClaw là phần mềm mã nguồn mở do cộng đồng phát triển, không thuộc sở hữu của Aduca. Các plugin cộng đồng, Telegram, Zalo, Meta, Google, TikTok và nhà cung cấp VPS/AI là dịch vụ của bên thứ ba. Aduca không bảo đảm các phần mềm, dịch vụ này hoạt động liên tục, không lỗi hay không thay đổi; lệnh, giao diện và chính sách có thể khác so với tài liệu.
- Trách nhiệm của người áp dụng: bạn tự chịu trách nhiệm về VPS, tài khoản, mã bí mật, dữ liệu, chi phí phát sinh (VPS, API AI, ngân sách quảng cáo) và mọi hành động do Agent của bạn thực hiện. Hãy kiểm tra từng lệnh trước khi chạy, thử trên môi trường thử nghiệm và sao lưu trước mọi thay đổi.
- Tuân thủ: khi Agent xử lý dữ liệu khách hàng, bạn có trách nhiệm tuân thủ điều khoản của từng nền tảng và pháp luật Việt Nam, bao gồm quy định về bảo vệ dữ liệu cá nhân. Kết nối Zalo cá nhân là cách không chính thức và có thể khiến tài khoản bị khoá.
- Giới hạn trách nhiệm: trong phạm vi pháp luật cho phép, Aduca không chịu trách nhiệm cho bất kỳ thiệt hại trực tiếp hay gián tiếp nào (mất dữ liệu, lộ thông tin, khoá tài khoản, chi phí quảng cáo, gián đoạn kinh doanh…) phát sinh từ việc sử dụng tài liệu này.
- Không phải tư vấn chuyên sâu: tài liệu không thay thế đánh giá bảo mật chuyên nghiệp. Hệ thống quan trọng hoặc xử lý nhiều dữ liệu khách hàng nên được chuyên gia rà soát riêng.
- Không thu thập thông tin bí mật: Aduca không bao giờ yêu cầu bạn gửi token, mật khẩu, mã OTP hay file bí mật.
- Bản quyền: © 2026 Công ty Cổ phần Giáo dục Aduca. Được trích dẫn khi ghi rõ nguồn aduca.vn. OpenClaw và các nhãn hiệu nêu trên thuộc về chủ sở hữu tương ứng.