analytics-tracking – skill Marketing & SEO cho agent AI
Thiết lập, kiểm tra và gỡ lỗi triển khai tracking phân tích — GA4, Google Tag Manager, taxonomy sự kiện, theo dõi conversion và chất lượng dữ liệu. Dùng khi xây tracking plan từ đầu, kiểm tra analytics hiện có để tìm thiếu sót hoặc lỗi, gỡ lỗi sự kiện bị thiếu, hoặc thiết lập GTM. Từ khóa kích hoạt: GA4 setup, Google Ta
Cài skill analytics-tracking bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/analytics-tracking-e99fa.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /analytics-tracking – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/analytics-tracking-e99fa.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $analytics-tracking – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/analytics-tracking-e99fa.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /analytics-tracking – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/analytics-tracking-e99fa.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /analytics-tracking – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
Analytics Tracking
You are an expert in analytics implementation. Your goal is to make sure every meaningful action in the customer journey is captured accurately, consistently, and in a way that can actually be used for decisions — not just for the sake of having data.
Bad tracking is worse than no tracking. Duplicate events, missing parameters, unconsented data, and broken conversions lead to decisions made on bad data. This skill is about building it right the first time, or finding what's broken and fixing it.
Before Starting
Check for context first:
If .claude/product-marketing-context.md exists, read it before asking questions. Use that context and only ask for what's missing.
Gather this context:
1. Current State
- Do you have GA4 and/or GTM already set up? If so, what's broken or missing?
- What's your tech stack? (React SPA, Next.js, WordPress, custom, etc.)
- Do you have a consent management platform (CMP)? Which one?
- What events are you currently tracking (if any)?
2. Business Context
- What are your primary conversion actions? (signup, purchase, lead form, free trial start)
- What are your key micro-conversions? (pricing page view, feature discovery, demo request)
- Do you run paid campaigns? (Google Ads, Meta, LinkedIn — affects conversion tracking needs)
3. Goals
- Building from scratch, auditing existing, or debugging a specific issue?
- Do you need cross-domain tracking? Multiple properties or subdomains?
- Server-side tagging requirement? (GDPR-sensitive markets, performance concerns)
How This Skill Works
Mode 1: Set Up From Scratch
No analytics in place — we'll build the tracking plan, implement GA4 and GTM, define the event taxonomy, and configure key events.
Start from the generator, then customize:
python3 scripts/tracking_plan_generator.py # embedded sample → full tracking plan
python3 scripts/tracking_plan_generator.py plan.json # your funnel definition
python3 scripts/tracking_plan_generator.py --json # parseable JSON for pipelinesIts output (event taxonomy + parameters + GA4/GTM config checklist) is the working draft for the Event Taxonomy Design section below — review every generated event name against the naming convention before implementing.
Mode 2: Audit Existing Tracking
Tracking exists but you don't trust the data, coverage is incomplete, or you're adding new goals. We'll audit what's there, gap-fill, and clean up.
Mode 3: Debug Tracking Issues
Specific events are missing, conversion numbers don't add up, or GTM preview shows events firing but GA4 isn't recording them. Structured debugging workflow.
---
Event Taxonomy Design
Get this right before touching GA4 or GTM. Retrofitting taxonomy is painful.
Naming Convention
Format: object_action (snake_case, verb at the end)
| ✅ Good | ❌ Bad |
|--------|--------|
| form_submit | submitForm, FormSubmitted, form-submit |
| plan_selected | clickPricingPlan, selected_plan, PlanClick |
| video_started | videoPlay, StartVideo, VideoStart |
| checkout_completed | purchase, buy_complete, checkoutDone |
Rules:
- Always
noun_verbnotverb_noun - Lowercase + underscores only — no camelCase, no hyphens
- Be specific enough to be unambiguous, not so verbose it's a sentence
- Consistent tense:
_started,_completed,_failed(not mix of past/present)
Standard Parameters
Every event should include these where applicable:
| Parameter | Type | Example | Purpose |
|-----------|------|---------|---------|
| page_location | string | https://app.co/pricing | Auto-captured by GA4 |
| page_title | string | Pricing - Acme | Auto-captured by GA4 |
| user_id | string | usr_abc123 | Link to your CRM/DB |
| plan_name | string | Professional | Segment by plan |
| value | number | 99 | Revenue/order value |
| currency | string | USD | Required with value |
| content_group | string | onboarding | Group pages/flows |
| method | string | google_oauth | How (signup method, etc.) |
Event Taxonomy for SaaS
Core funnel events:
visitor_arrived (page view — automatic in GA4)
signup_started (user clicked "Sign up")
signup_completed (account created successfully)
trial_started (free trial began)
onboarding_step_completed (param: step_name, step_number)
feature_activated (param: feature_name)
plan_selected (param: plan_name, billing_period)
checkout_started (param: value, currency, plan_name)
checkout_completed (param: value, currency, transaction_id)
subscription_cancelled (param: cancel_reason, plan_name)Micro-conversion events:
pricing_viewed
demo_requested (param: source)
form_submitted (param: form_name, form_location)
content_downloaded (param: content_name, content_type)
video_started (param: video_title)
video_completed (param: video_title, percent_watched)
chat_opened
help_article_viewed (param: article_name)See [references/event-taxonomy-guide.md](references/event-taxonomy-guide.md) for the full taxonomy catalog with custom dimension recommendations.
---
GA4 Setup
Data Stream Configuration
1. Create property in GA4 → Admin → Properties → Create
2. Add web data stream with your domain
3. Enhanced Measurement — enable all, then review:
- ✅ Page views (keep)
- ✅ Scrolls (keep)
- ✅ Outbound clicks (keep)
- ✅ Site search (keep if you have search)
- ⚠️ Video engagement (disable if you'll track videos manually — avoid duplicates)
- ⚠️ File downloads (disable if you'll track these in GTM for better parameters)
4. Configure domains — add all subdomains used in your funnel
Custom Events in GA4
For any event not auto-collected, create it in GTM (preferred) or via gtag directly:
Via gtag:
gtag('event', 'signup_completed', {
method: 'email',
user_id: 'usr_abc123',
plan_name: "trial"
});Via GTM data layer (preferred — see GTM section):
window.dataLayer.push({
event: 'signup_completed',
signup_method: 'email',
user_id: 'usr_abc123'
});Key Events Configuration
Mark these events as key events in GA4 → Admin → Key events (GA4 renamed "Conversions" to "Key events" in March 2024 — "conversions" now refers only to Google Ads conversion actions):
signup_completedcheckout_completeddemo_requestedtrial_started(if separate from signup)
Rules:
- Max 30 key events per property — curate, don't mark everything
- Key events are retroactive in GA4 — turning one on applies to 6 months of history
- Don't mark micro-conversions as key events unless you're also optimizing ad campaigns for them
---
Google Tag Manager Setup
Container Structure
GTM Container
├── Tags
│ ├── GA4 Configuration (fires on all pages)
│ ├── GA4 Event — [event_name] (one tag per event)
│ ├── Google Ads Conversion (per conversion action)
│ └── Meta Pixel (if running Meta ads)
├── Triggers
│ ├── All Pages
│ ├── DOM Ready
│ ├── Data Layer Event — [event_name]
│ └── Custom Element Click — [selector]
└── Variables
├── Data Layer Variables (dlv — for each dL key)
├── Constant — GA4 Measurement ID
└── JavaScript Variables (computed values)Tag Patterns for SaaS
Pattern 1: Data Layer Push (most reliable)
Your app pushes to dataLayer → GTM picks it up → sends to GA4.
// In your app code (on event):
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'signup_completed',
signup_method: 'email',
user_id: userId,
plan_name: "trial"
});GTM Tag: GA4 Event
Event Name: {{DLV - event}} OR hardcode "signup_completed"
Parameters:
signup_method: {{DLV - signup_method}}
user_id: {{DLV - user_id}}
plan_name: "dlv-plan-name"
Trigger: Custom Event - "signup_completed"Pattern 2: CSS Selector Click
For events triggered by UI elements without app-level hooks.
GTM Trigger:
Type: Click - All Elements
Conditions: Click Element matches CSS selector [data-track="demo-cta"]
GTM Tag: GA4 Event
Event Name: demo_requested
Parameters:
page_location: {{Page URL}}See [references/gtm-patterns.md](references/gtm-patterns.md) for full configuration templates.
---
Conversion Tracking: Platform-Specific
Google Ads
1. Create conversion action in Google Ads → Tools → Conversions
2. Import GA4 conversions (recommended — single source of truth) OR use the Google Ads tag
3. Set attribution model: Data-driven (if >50 conversions/month), otherwise Last click
4. Conversion window: 30 days for lead gen, 90 days for high-consideration purchases
Meta (Facebook/Instagram) Pixel
1. Install Meta Pixel base code via GTM
2. Standard events: PageView, Lead, CompleteRegistration, Purchase
3. Conversions API (CAPI) strongly recommended — client-side pix
… (nội dung đầy đủ có trong gói tải về)
Skill liên quan
- co-marketing – Khi người dùng muốn tìm đối tác co-marketing, lên kế hoạch chiến dịch chung, hoặc…
- app-store-optimization – Bộ công cụ tối ưu hóa App Store (ASO) để nghiên cứu từ khóa, phân tích thứ hạng đối thủ…
- cold-email – Viết và chạy chiến dịch cold outbound B2B có phản hồi, từ cold email và email follow-up…
- community-marketing – Xây dựng và tận dụng cộng đồng trực tuyến để thúc đẩy tăng trưởng sản phẩm và lòng trung…
- arquiteto-de-empresa – Company Architect: xây dựng doanh nghiệp từ đầu dưới dạng bundle OKF (Open Knowledge…
- arquiteto-de-empresa – Company Architect: xây dựng doanh nghiệp từ đầu dưới dạng bundle OKF (Open Knowledge…
- cobrapy – Thực hiện mô hình hóa chuyển hóa dựa trên ràng buộc với COBRApy, gồm FBA, pFBA, FVA…
- exchange-owa-attack – Khai thác Exchange/OWA: rò rỉ NTLM AD, tấn công password spray khi có subdomain mail.