Analytics Tracking
freekmurze/dotfiles
When the user wants to set up, improve, or audit analytics tracking and measurement.
Set up, audit, and debug analytics tracking implementation — GA4, Google Tag Manager, event taxonomy, conversion tracking, and data quality.
$ npx skills add alirezarezvani/claude-skills --skill analytics-tracking -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install alirezarezvani/claude-skills analytics-tracking --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/marketing-skill/skills/analytics-tracking .claude/skills/analytics-tracking && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "analytics-tracking" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/analytics-tracking into .claude/skills/analytics-tracking/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analytics-tracking", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/analytics-trackingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add alirezarezvani/claude-skills --skill analytics-tracking -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install alirezarezvani/claude-skills analytics-tracking --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/marketing-skill/skills/analytics-tracking .agents/skills/analytics-tracking && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "analytics-tracking" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/analytics-tracking into .agents/skills/analytics-tracking/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analytics-tracking", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add alirezarezvani/claude-skills --skill analytics-tracking -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install alirezarezvani/claude-skills analytics-tracking --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/marketing-skill/skills/analytics-tracking .cursor/skills/analytics-tracking && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "analytics-tracking" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/analytics-tracking into .cursor/skills/analytics-tracking/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analytics-tracking", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/alirezarezvani/claude-skills.git --path marketing-skill/skills/analytics-tracking--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add alirezarezvani/claude-skills --skill analytics-tracking -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install alirezarezvani/claude-skills analytics-tracking --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/marketing-skill/skills/analytics-tracking .gemini/skills/analytics-tracking && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "analytics-tracking" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/analytics-tracking into .gemini/skills/analytics-tracking/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analytics-tracking", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install alirezarezvani/claude-skills analytics-trackingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add alirezarezvani/claude-skills --skill analytics-tracking -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/marketing-skill/skills/analytics-tracking .github/skills/analytics-tracking && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "analytics-tracking" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/analytics-tracking into .github/skills/analytics-tracking/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analytics-tracking", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add alirezarezvani/claude-skills --skill analytics-tracking -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install alirezarezvani/claude-skills analytics-tracking --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alirezarezvani/claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/marketing-skill/skills/analytics-tracking .opencode/skills/analytics-tracking && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "analytics-tracking" agent skill from https://github.com/alirezarezvani/claude-skills/tree/main/marketing-skill/skills/analytics-tracking into .opencode/skills/analytics-tracking/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "analytics-tracking", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
analytics-trackingSet up, audit, and debug analytics tracking implementation — GA4, Google Tag Manager, event taxonomy, conversion tracking, and data quality.
Analytics Tracking is an agent skill from alirezarezvani/claude-skills. Set up, audit, and debug analytics tracking implementation — GA4, Google Tag Manager, event taxonomy, conversion tracking, and data quality. Use when building a tracking plan from scratch, auditing existing analytics for gaps or errors, debugging missing events, or setting up GTM. Trigger keywords: GA4 setup, Google Tag Manager, GTM, event tracking, analytics implementation, conversion tracking, tracking plan, event taxonomy, custom dimensions, UTM tracking, analytics audit, missing events, tracking broken. NOT…
Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts and reference files (for example `references/debugging-playbook.md`, `references/event-taxonomy-guide.md` and `references/gtm-patterns.md`).
It sits in Data & Analytics, covering Product analytics and Marketing analytics. It works with Google Analytics. The repository describes itself as: 380 Claude Code skills & agent skills & plugins (30+ Agents, 70+ custom commands, 380+ skills, customizable references, scripts)for Claude Code, Codex, Gemini CLI, Cursor, and 8… The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 19392f7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Analytics Tracking loads about 3.8k tokens when it runs, and up to ~9.9k if it reads all its reference files. Until then it costs about 171 tokens; SKILL.md has 1,458 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from alirezarezvani/claude-skills at commit 19392f7, republished under its MIT licence (© alirezarezvani). 1,458 words, ~3,756 tokens.
.claude/skills/analytics-tracking/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.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.
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:
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.
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.
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.
Get this right before touching GA4 or GTM. Retrofitting taxonomy is painful.
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:
noun_verb not verb_noun_started, _completed, _failed (not mix of past/present)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.) |
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 for the full taxonomy catalog with custom dimension recommendations.
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'
});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:
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)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 for full configuration templates.
PageView, Lead, CompleteRegistration, PurchaseEnforce strict UTM conventions or your channel data becomes noise.
| Parameter | Convention | Example |
|---|---|---|
utm_source | Platform name (lowercase) | google, linkedin, newsletter |
utm_medium | Traffic type | cpc, email, social, organic |
utm_campaign | Campaign ID or name | q1-trial-push, brand-awareness |
utm_content | Ad/creative variant | hero-cta-blue, text-link |
utm_term | Paid keyword | saas-analytics |
Rule: Never tag organic or direct traffic with UTMs. UTMs override GA4's automatic source/medium attribution.
| Platform | Default Window | Recommended for SaaS |
|---|---|---|
| GA4 | 30 days | 30-90 days depending on sales cycle |
| Google Ads | 30 days | 30 days (trial), 90 days (enterprise) |
| Meta | 7-day click, 1-day view | 7-day click only |
| 30 days | 30 days |
For funnels that cross domains (e.g., acme.com → app.acme.com):
Events firing twice? Common causes:
Fix: Audit GTM Preview for double-fires. Check Network tab in DevTools for duplicate hits.
GA4 filters known bots automatically. For internal traffic:
Under GDPR/ePrivacy, analytics may require consent. Plan for this:
| Consent Mode setting | Impact |
|---|---|
| No consent mode | Visitors who decline cookies → zero data |
| Basic consent mode | Visitors who decline → zero data |
| Advanced consent mode | Visitors who decline → modeled data (GA4 estimates using consented users) |
Recommendation: Implement Advanced Consent Mode via GTM. Requires CMP integration (Cookiebot, OneTrust, Usercentrics, etc.).
Expected consent rate by region: 60-75% EU, 85-95% US.
Surface these without being asked:
| When you ask for... | You get... |
|---|---|
| "Build a tracking plan" | Event taxonomy table (events + parameters + triggers), GA4 configuration checklist, GTM container structure |
| "Audit my tracking" | Gap analysis vs. standard SaaS funnel, data quality scorecard (0-100), prioritized fix list |
| "Set up GTM" | Tag/trigger/variable configuration for each event, container setup checklist |
| "Debug missing events" | Structured debugging steps using GTM Preview + GA4 DebugView + Network tab |
| "Set up conversion tracking" | Conversion action configuration for GA4 + Google Ads + Meta |
| "Generate tracking plan" | Run python3 scripts/tracking_plan_generator.py [plan.json] [--json] — event taxonomy + GA4/GTM checklist |
All output follows the structured communication standard:
© alirezarezvani, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 4 other files (scripts, references) in marketing-skill/skills/analytics-tracking of alirezarezvani/claude-skills.
Open the folder on GitHubat commit 19392f7
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in alirezarezvani/claude-skills, which our catalogue first saw on October 7, 2026.
Analytics Tracking next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Analytics Tracking this skillalirezarezvani/claude-skills | 28k | 1 repos | ~3.8k | Automated safety check: Pass | MIT | |
| Analytics Trackingfreekmurze/dotfiles | 1k | 12 repos | ~2k | Automated safety check: Pass | None | |
| Analytics Trackingkostja94/marketing-skills | 1k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Data And Funnel Analyticsmanojbajaj95/claude-gtm-plugin | 104 | — | ~2.9k | Automated safety check: Pass | MIT | |
| AnalyticsNexus-JPF/note-companion | 869 | 6 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Analytics Trackingborghei/Claude-Skills | 874 | — | ~5.7k | Automated safety check: Pass | MIT |
freekmurze/dotfiles
When the user wants to set up, improve, or audit analytics tracking and measurement.
kostja94/marketing-skills
When the user wants to set up, audit, or optimize analytics tracking (GA4, events, conversions).
manojbajaj95/claude-gtm-plugin
Analytics tracking, interpretation, funnel analysis, product metrics, and ROI measurement.
Nexus-JPF/note-companion
When the user wants to set up, improve, or audit analytics tracking and measurement.
borghei/Claude-Skills
End-to-end analytics implementation for web and SaaS: GA4, Google Tag Manager, event taxonomy, conversion tracking, and UTM strategy.
kostja94/marketing-skills
When the user wants to analyze website traffic sources, attribution, or dark traffic.
alirezarezvani/claude-skills
Writes INVEST-checked user stories with acceptance criteria, splits epics, plans sprints from velocity and ranks the backlog with a weighted score.
alirezarezvani/claude-skills
OKR cascade toolkit for product leaders: generates aligned company-to-team OKRs from five strategy types and scores how well they line up.
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store.
alirezarezvani/claude-skills
Design AWS architectures for startups using serverless patterns and IaC templates.
alirezarezvani/claude-skills
Calculates attribution, funnel and ROI figures for marketing campaigns with three Python scripts that need only the standard library.
alirezarezvani/claude-skills
Reverse-engineers a frontend, backend or fullstack codebase into a product requirements document with per-page docs, an enum dictionary and an API inventory.
Works with
Categories
Set up, audit, and debug analytics tracking implementation — GA4, Google Tag Manager, event taxonomy, conversion tracking, and data quality. Analytics Tracking is an agent skill from alirezarezvani/claude-skills. Set up, audit, and debug analytics tracking implementation — GA4, Google Tag Manager, event taxonomy, conversion tracking, and data quality.
Analytics Tracking fits situations like: building a tracking plan from scratch; auditing existing analytics for gaps; debugging missing events; keywords: GA4 setup.
Run `npx skills add alirezarezvani/claude-skills --skill analytics-tracking -a claude-code`. Or copy the skill folder (marketing-skill/skills/analytics-tracking in alirezarezvani/claude-skills) into .claude/skills/analytics-tracking in your project. Claude Code loads it when a task matches its description.
Run `npx skills add alirezarezvani/claude-skills --skill analytics-tracking -a codex`. Or copy the skill folder (marketing-skill/skills/analytics-tracking in alirezarezvani/claude-skills) into .agents/skills/analytics-tracking in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add alirezarezvani/claude-skills --skill analytics-tracking -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/analytics-tracking, .gemini/skills/analytics-tracking, .github/skills/analytics-tracking and .opencode/skills/analytics-tracking in your project.
Going by SKILL.md and its folder, Analytics Tracking needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Analytics Tracking is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Analytics Tracking: Analytics Tracking (freekmurze/dotfiles, 1k stars), Analytics Tracking (kostja94/marketing-skills, 1k stars), Data And Funnel Analytics (manojbajaj95/claude-gtm-plugin, 104 stars) and Analytics (Nexus-JPF/note-companion, 869 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
alirezarezvani (a GitHub user) maintains it in alirezarezvani/claude-skills, which has 27,788 GitHub stars. The repository holds 342 skills in this directory. The repository was last updated on August 30, 2026.
Source: alirezarezvani/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.