Claude Code Google Analytics: Chạy GA4 Bằng Lệnh Và Ngôn Ngữ Tự Nhiên (2026)
Mỗi lần mình muốn xem traffic tuần này so tuần trước, quy trình thường là: mở GA4, chờ dashboard load, kéo xuống tìm comparison, chọn thủ công date range, rồi export thêm một CSV nếu cần chia sẻ. Cộng lại cả ngày, mình tốn khoảng 20–30 phút chỉ cho những câu hỏi lẽ ra phải trả lời trong 30 giây. Sau khi cài ga4 skill (claude-google-analytics) vào Claude Code, mình chỉ cần gõ /ga4-compare hoặc hỏi thẳng bằng tiếng Việt “so sánh traffic tuần này với tuần trước”, và nhận kết quả ngay trong terminal, bao gồm trang nào tăng, trang nào giảm, và channel nào đang dịch chuyển.
Bài này hướng dẫn từng bước cài đặt, xác thực OAuth, và cách tận dụng 9 slash command trong workflow Claude Code hàng ngày. Nếu bạn đã cài skill GSC rồi, đây là lớp dữ liệu tiếp theo cần có: GSC cho biết bạn được tìm thấy như thế nào, còn ga4 cho biết người dùng làm gì sau khi vào site.
TL;DR
claude-google-analytics là skill cho Claude Code tích hợp trực tiếp GA4 Data API (v1beta) và GA4 Admin API (v1beta). 9 skill ga4-* bao gồm traffic analysis, period comparison, audience breakdown, traffic sources, realtime và ad-hoc report với tối đa 250,000 rows. CLI ga4 hỗ trợ 3 format output (table/json/csv). Bạn có thể gõ lệnh trực tiếp hoặc hỏi Claude bằng ngôn ngữ tự nhiên như “phân tích traffic tháng này”. Khác với MCP server, skill này chạy local, không cần daemon và output có thể chia sẻ được. Yêu cầu: Python 3.11+, Google Cloud Project với GA4 Data API và Admin API bật, OAuth Desktop client_secrets.json hoặc service account, và ít nhất 1 GA4 property.

ga4 Skill Làm Được Gì Cho Workflow Analytics Của Bạn?
Skill claude-google-analytics kết nối trực tiếp GA4 Data API và Admin API thay vì dùng dashboard web. Thay vì kéo thả filter trong giao diện GA4 (vốn load chậm và ẩn nhiều thứ trong submenu), bạn gõ một lệnh hoặc hỏi Claude bằng câu tự nhiên và nhận kết quả trong terminal, đúng format bạn cần: bảng để đọc, JSON để pipe vào script, CSV để paste vào spreadsheet.
Kiến trúc gồm 3 lớp: thư viện Python core bọc GA4 Data API và Admin API, CLI ga4 expose từng tính năng thành lệnh composable, và 9 Claude Code skill dùng CLI để biến dữ liệu thô thành insight có thể hành động ngay.
Bạn Cần Chuẩn Bị Gì Trước Khi Cài Đặt?
Skill này yêu cầu một vài bước liên quan đến Google Cloud, nhưng mỗi bước chỉ mất 2–3 phút và bạn chỉ làm một lần duy nhất.
Nếu bạn chưa từng làm việc với Google Cloud API, phần tạo credentials sẽ mất khoảng 10 phút. Cả hai API cần bật đều nằm trong free tier của Google Cloud, chi phí thực tế là $0 cho mức dùng thông thường.
Làm Thế Nào Để Cài Đặt ga4 Skill Cho Claude Code?
Skill là mã nguồn mở (MIT). Xem toàn bộ source code trên GitHub: github.com/thenguyenvn90/claude-google-analytics.
Quá trình gồm 4 bước: tải skill, cài CLI global, tạo GCP credentials và xác thực. Toàn bộ mất 15–20 phút lần đầu.
Bước 1: Clone repo và cài 9 skill vào Claude Code
# 1. Clone repo (KHÔNG clone thẳng vào ~/.claude/skills)
git clone https://github.com/thenguyenvn90/claude-google-analytics.git
cd claude-google-analytics
# 2. Cài 9 skill vào ~/.claude/skills (install.sh tự copy đúng chỗ)
bash install.sh # macOS / Linux
# .\install.ps1 # Windows PowerShell
Bước 2: Cài CLI ga4 global
# Cài CLI `ga4` global (cần Python 3.11+)
pip install . # hoặc: uv tool install .
# Kiểm tra (LƯU Ý: dùng --help, KHÔNG có cờ --version)
ga4 --help
ga4 accounts list
Bước 3: Tạo Google Cloud credentials
Mở console.cloud.google.com, tạo project mới (hoặc dùng project hiện có), sau đó:
- Vào APIs & Services → Library, tìm “Google Analytics Data API”, bấm Enable. Làm tương tự với “Google Analytics Admin API”.
- Vào APIs & Services → Credentials, bấm “Create Credentials” → “OAuth 2.0 Client IDs”
- Chọn Application type: Desktop app, đặt tên bất kỳ
- Download file JSON, lưu vào máy (ví dụ:
~/ga4-credentials.json)
Bước 4: Xác thực với GA4
# Xác thực lần đầu (mở browser tự động)
ga4 auth login --client-secrets ~/ga4-credentials.json
# Kiểm tra trạng thái
ga4 auth status
# Xem danh sách accounts
ga4 accounts list
Sau lệnh auth login, trình duyệt mở trang Google để cấp quyền. Sau khi đồng ý, credentials được lưu tự động vào ~/.config/ga4/oauth/default.json. Những lần sau không cần xác thực lại.
Checkpoint: Lệnh ga4 accounts list trả về danh sách GA4 account của bạn là setup thành công.
Làm Thế Nào Để Chạy Báo Cáo GA4 Đầu Tiên?
Sau khi setup xong, bước tiếp theo là tìm property ID và chạy report đầu tiên. GA4 dùng property ID dạng số (ví dụ 123456789), khác với GSC dùng domain string.
# Tìm property ID của bạn
ga4 accounts list
ga4 properties list --account <account-id>
# Traffic overview 30 ngày gần nhất (thay 123456789 bằng property ID thực)
ga4 report 123456789 \
--start-date 30daysAgo --end-date yesterday \
--metrics activeUsers,sessions,screenPageViews,bounceRate
# Top 20 trang theo lượt xem
ga4 report 123456789 \
--start-date 30daysAgo --end-date yesterday \
--dimensions pagePath \
--metrics screenPageViews,activeUsers \
--order-by screenPageViews --desc --limit 20
Hoặc nếu bạn muốn dùng skill Claude Code thay vì gõ lệnh trực tiếp, mở Claude Code và hỏi:
# Trong Claude Code: hỏi bằng ngôn ngữ tự nhiên
/ga4-analyze
# → "phân tích traffic 30 ngày gần nhất cho property 123456789"
/ga4-compare
# → "so sánh tuần này với tuần trước cho property 123456789"
/ga4-realtime
# → "cho mình xem visitor đang online ngay bây giờ"
ga4 properties list --account <id> để xác nhận property ID đúng trước khi chạy report. GA4 cũng cần 24–48 giờ để xử lý dữ liệu mới. Nếu site vừa cài tracking, data hôm nay có thể chưa đầy đủ.
Output mặc định là dạng bảng trong terminal. Thêm --format json để pipe vào script hoặc tool khác, --format csv để mở trong Excel/Sheets.
Ví dụ output minh hoạ (số liệu minh hoạ):
pagePath screenPageViews activeUsers
------------------------------ ----------------- -----------
/blog/huong-dan-claude-code 1,240 890 (số liệu minh hoạ)
/ 980 750 (số liệu minh hoạ)
/cai-dat-claude-code/ 620 510 (số liệu minh hoạ)
9 Skill ga4-*: Khi Nào Dùng Lệnh Nào?
Mỗi skill được thiết kế cho một loại câu hỏi cụ thể. Dùng bảng này để chọn đúng skill ngay lần đầu, không phải trial-and-error.
Trong thực tế mình dùng /ga4-analyze và /ga4-compare nhiều nhất. /ga4-realtime cũng rất hữu ích ngay sau khi push bài mới: xem traffic vào từ đâu trong 29 phút đầu thay vì phải chờ hôm sau.
Skill Này Khác Gì So Với Dùng MCP Server Cho GA4?
Câu hỏi về skill vs MCP mình nhận được khá nhiều từ người dùng Claude Code. Ngắn gọn: hai kiến trúc khác nhau, phù hợp với use case khác nhau. Nếu bạn chưa rõ MCP là gì, đây là điểm khác biệt chính cần biết trước khi chọn.
Nếu bạn muốn hỏi Claude “hôm nay có bao nhiêu visitors?” theo dạng chat thuần túy, MCP tiện hơn. Nếu bạn cần phân tích có cấu trúc, output lưu lại để so sánh, hoặc pipe dữ liệu vào script, skill phù hợp hơn. Điểm mạnh của skill là nó chạy hoàn toàn local, không cần process nào thường trực, và output CSV/JSON có thể đưa thẳng vào workflow tiếp theo.
ga4 Skill Đóng Vai Trò Gì Trong claude-growth?
claude-google-analytics không phải skill standalone. Nó là lớp dữ liệu hành vi trong claude-growth, bộ kit SEO + content. Trong khi skill GSC cấp dữ liệu về cách site được tìm thấy (clicks, impressions, position, CTR), ga4 skill cấp dữ liệu về điều xảy ra sau đó: người dùng đến từ đâu, họ đọc gì, họ ở lại bao lâu, thiết bị và quốc gia nào chiếm đa số.
GSC + GA4 = bức tranh đầy đủ: GSC trả lời “trang nào đang được Google hiển thị và có CTR thấp?”, GA4 trả lời “trang đó có giữ chân người dùng không, hay bounce rate cao bất thường?”

ga4 skill là MIT, chạy local, không tính phí per-request. Vai trò của nó trong claude-growth: biến mọi quyết định nội dung từ “mình đoán là…” thành “data GA4 cho thấy…”. Đây là nền tảng bổ trợ cho gsc skill để có bức tranh đầy đủ cả search và behavior.
→ Xem cách claude-growth audit toàn site trong một lệnh
Tích Hợp Vào Workflow Hàng Ngày Như Thế Nào?
Điểm mạnh của ga4 skill không phải ở từng lệnh đơn lẻ mà ở cách nó khớp vào nhịp làm việc hiện tại. Đây là pattern mình dùng thực tế.
Thứ Hai đầu tuần: review traffic tuần trước
# 1. So sánh tuần này vs tuần trước
/ga4-compare
# → hỏi Claude: "compare traffic 7daysAgo-yesterday vs 14daysAgo-8daysAgo"
# 2. Xem nguồn traffic có gì thay đổi không
/ga4-traffic-sources
# 3. Đối chiếu với GSC: trang traffic giảm có position giảm không?
/gsc-compare sc-domain:yourdomain.com
Sau khi publish bài mới: theo dõi traction ban đầu
# Xem ai đang đọc bài mới trong 29 phút đầu
/ga4-realtime
# → hỏi: "show realtime visitors, breakdown by pagePath"
# Kiểm tra landing page performance sau 3-5 ngày
ga4 report 123456789 \
--start-date 5daysAgo --end-date yesterday \
--dimensions pagePath,sessionDefaultChannelGroup \
--metrics sessions,engagementRate,averageSessionDuration \
--dimension-filter "pagePath contains /ten-bai-moi/" \
--order-by sessions --desc
Tích hợp vào CLAUDE.md của project:
# Trong CLAUDE.md
## Weekly Analytics Review (mỗi thứ Hai)
1. Chạy /ga4-analyze: tổng quan traffic 7 ngày
2. Chạy /ga4-compare: so với tuần trước, ghi nhận trang tăng/giảm rõ nhất
3. Đối chiếu với /gsc-compare: trang traffic giảm có position giảm không?
4. Nếu có trang bounce rate cao bất thường → /ga4-audience để kiểm tra device/geo mismatch
Kết hợp ga4 skill với gsc skill là pattern hiệu quả nhất: GSC cho biết keyword và position, GA4 cho biết người dùng thực sự làm gì sau khi click. Hai nguồn dữ liệu này bổ sung cho nhau, không thay thế được nhau.
Câu Hỏi Thường Gặp
Skill này có miễn phí không?
claude-google-analytics là open source MIT, hoàn toàn miễn phí. GA4 Data API và Admin API nằm trong free tier của Google Cloud với hạn mức rất cao, hầu như không có site thông thường nào chạm giới hạn đó. Chi phí thực tế là $0 cho mức dùng cá nhân và doanh nghiệp vừa nhỏ.
Cần biết lập trình để dùng không?
Không cần viết code để dùng 9 skill ga4-*. Bạn chỉ cần chạy lệnh terminal khi cài đặt (4 lệnh một lần) và dùng slash command trong Claude Code về sau, hoặc hỏi bằng câu tự nhiên. Phần phức tạp nhất là tạo OAuth credentials trên Google Cloud, mất khoảng 10 phút và chỉ làm một lần. Tìm hiểu thêm về Claude Code là gì nếu bạn chưa quen với công cụ này.
Dữ liệu GA4 được lưu ở đâu sau khi chạy?
Dữ liệu không được lưu lại sau mỗi session, trừ khi bạn dùng --format csv và redirect output ra file. Credentials OAuth được lưu cục bộ tại ~/.config/ga4/oauth/default.json trên máy của bạn, không gửi lên bất kỳ server nào ngoài Google API.
GA4 skill này khác gì so với Google Analytics 4 thông thường (Universal Analytics đã ngừng)?
Skill này chỉ hỗ trợ Google Analytics 4 (GA4), không hỗ trợ Universal Analytics (UA) vốn đã ngừng thu thập dữ liệu từ tháng 7/2023. Nếu bạn vẫn đang dùng UA property, cần migrate sang GA4 trước. CLI dùng GA4 Data API v1beta và Admin API v1beta (API hiện hành của Google Analytics).
Có thể dùng với nhiều GA4 property khác nhau không?
Có. Bạn có thể dùng ga4 auth add-profile tensite --service-account path/to/key.json --property 123456789 để tạo nhiều profile cho các property khác nhau. Khi chạy report, thêm --profile tensite để chỉ định, hoặc dùng ga4 properties list --account <id> để tìm đúng property ID trước.
Skill này khác gì so với export CSV thủ công từ GA4?
Export CSV từ GA4 dashboard bị giới hạn bởi giao diện: bạn chỉ xuất được những gì đang hiển thị, với số row giới hạn. Skill này truy cập trực tiếp API với tối đa 250,000 rows, kết hợp nhiều dimension và metric trong một query, hỗ trợ 7 loại filter (exact, contains, regex, inList…) và có thể pipe output vào script. Quan trọng hơn, với Claude skill bạn nhận được AI analysis, không chỉ data thô.
Cần Claude Code plan nào để dùng?
Pro ($20/tháng) đủ dùng cho hầu hết trường hợp. Skill chạy CLI Python cục bộ, Claude Code chỉ đóng vai trò điều phối và phân tích kết quả. Context window không phải vấn đề vì skill tự xử lý việc lấy data, chỉ trả về insight tóm tắt cho Claude. Với report lớn (nhiều property, nhiều date range), Max plan có thể cần thiết do context dài hơn.
Khác biệt thực tế giữa dùng skill và gõ lệnh ga4 trực tiếp là gì?
Lệnh CLI trả về data thô (bảng số hoặc JSON). Skill Claude Code thêm một lớp AI interpretation: tự chọn dimensions/metrics phù hợp với câu hỏi của bạn, nhận ra pattern bất thường, gợi ý action tiếp theo. Mình dùng lệnh CLI trực tiếp khi cần data cụ thể cho script, dùng skill khi cần insight và không muốn nghĩ về đúng dimensions cần dùng.
