/ga4-audit
Google Analytics 4 configuration and data-quality audit — key events, data streams, custom dimensions, attribution, retention, PII, Ads link, BigQuery export
$ npx -y skills add cognyai/claude-code-marketing-skills --skill ga4-audit --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/ga4-audit
Context preview
The summary Claude sees to decide when to auto-load this skill.
Google Analytics 4 configuration and data-quality audit — key events, data streams, custom dimensions, attribution, retention, PII, Ads link, BigQuery export
SKILL.md
ga4-audit.SKILL.mdname: ga4-audit
description: Google Analytics 4 configuration and data-quality audit — key events, data streams, custom dimensions, attribution, retention, PII, Ads link, BigQuery export
version: "1.0.0"
author: Cogny AI
requires: cogny-mcp
platforms: [google-analytics-4]
user-invocable: true
argument-hint: "[full|config|events|data-quality]"
allowed-tools:
- mcp__cogny__google_analytics_4__tool_list_account_summaries
- mcp__cogny__google_analytics_4__tool_get_property
- mcp__cogny__google_analytics_4__tool_list_data_streams
- mcp__cogny__google_analytics_4__tool_list_conversion_events
- mcp__cogny__google_analytics_4__tool_list_custom_dimensions
- mcp__cogny__google_analytics_4__tool_list_custom_metrics
- mcp__cogny__google_analytics_4__tool_get_metadata
- mcp__cogny__google_analytics_4__tool_run_report
- mcp__cogny__create_finding
- WebFetch
- WebSearch
GA4 Audit
A one-time audit of a Google Analytics 4 property — configuration *and* data quality. GA4 collects data the moment the tag fires, but most properties quietly leak trust: unmarked key events, PII in parameters, no Ads link, `(not set)` traffic. This skill finds those before they corrupt a quarter of reporting.
**Requires:** Cogny Agent subscription ($9/mo) — [Sign up](https://cogny.com/agent)
Prerequisites Check
If `mcp__cogny__google_analytics_4__tool_get_property` is not available:
This skill requires Cogny's Google Analytics 4 MCP server.
1. Sign up at https://cogny.com/agent
2. Connect your GA4 property
3. Add Cogny to your .mcp.json (see the repo README)
4. Restart Claude Code
Stop here if the tools are missing.
Usage
`/ga4-audit` — full property audit `/ga4-audit config` — property + stream + link settings only `/ga4-audit events` — events, key events, custom dimensions only `/ga4-audit data-quality` — `(not set)`, PII, anomaly checks only
Steps
1. Property discovery
tool_list_account_summaries
tool_get_property (property_id)
Record: time zone, currency, industry category, **data retention setting**, and property type. Flag data retention left at the 2-month default — it should be 14 months so year-over-year exploration works.
2. Data streams
tool_list_data_streams (property_id)
Flag:
- Multiple web streams for one site (splits data, double-counts users)
- Enhanced measurement off, or measuring events the team doesn't actually want
- Missing iOS/Android streams for a business that has apps
3. Key events (conversions)
tool_list_conversion_events (property_id)
Flag:
- **No key events configured** — Ads bidding and GA4 reporting both lose their anchor
- Key events marked on noisy automatic events (`page_view`, `scroll`) — inflates the
conversion count and misleads everyone
- Obvious business goals *not* marked as key events (e.g. `generate_lead`, `purchase`,
`sign_up`)
- More than ~10–15 key events — when everything is a conversion, nothing is
4. Custom dimensions & metrics
tool_list_custom_dimensions (property_id)
tool_list_custom_metrics (property_id)
tool_get_metadata (property_id)
Flag:
- Event parameters collected by the tag but **never registered** as custom dimensions
(the data is invisible in reports) — compare `get_metadata` against what the streams send
- Approaching the 50 event-scoped / 25 user-scoped dimension limits
- High-cardinality registered dimensions (timestamps, IDs) — they cause `(other)` rows
5. Traffic & data-quality report
tool_run_report (property_id, last 30 days,
dimensions: sessionDefaultChannelGroup, sessionSource, sessionMedium,
metrics: sessions, conversions, totalUsers)
Flag:
- A large `Unassigned` or `(not set)` share — broken UTMs or tagging gaps
(point the user to `/utm-builder`)
- A `Direct` share above ~40% — usually lost referrer data or missing tags
- Self-referrals (your own domain as a source) — needs an unwanted-referral filter
- Internal traffic visible in reports — no internal-traffic filter applied
6. PII & policy check
Scan event and parameter names from `get_metadata` for anything that could carry personal data — `email`, `phone`, `user_email`, full names, raw addresses in parameters or in the page path / query string.
🔴 PII in GA4 violates Google's policy and risks the property being deleted. Flag it as critical and name the exact parameter.
7. Integrations
Flag:
- **No Google Ads link** — conversions can't flow to Ads for bidding (check with the
user; the link isn't always API-visible)
- No BigQuery export — recommend it for any property that wants raw-data analysis
(`/ga4-bigquery-schema` covers the schema)
- Search Console not linked
8. Score and report
GA4 Audit — [Property Name]
GA4 Health Score: X/100
Score breakdown:
Configuration ...... X/20 (streams, retention, time zone)
Key events ......... X/25 (the reporting + bidding anchor)
Custom dimensions .. X/15
Data quality ....... X/25 ((not set), Direct, self-referrals)
Compliance ......... X/15 (PII, internal traffic)
🔴 Critical — PII collected, no key events, retention at 2 months
🟡 Important — unregistered dimensions, high (not set), no Ads link
🟢 Optimization — BigQuery export, enhanced measurement tuning
Top 3 Actions:
1. [Highest impact]
2. ...
3. ...
9. Record findings
{
"title": "Email address captured in GA4 'page_location' — policy violation",
"body": "The checkout-success URL includes ?email=… and GA4 stores it in page_location and page_path. Google policy prohibits PII in Analytics and can delete the property. Strip the parameter at the tag, or redact it before the event fires.",
"action_type": "data_quality",
"expected_outcome": "PII removed from collection; property compliant",
"estimated_impact_usd": 0,
"priority": "critical"
}Action types: `tracking_configuration`, `conversion_setup`, `data_quality`, `custom_dimension`, `integration`, `com
Read more
name: ga4-audit description: Google Analytics 4 configuration and data-quality audit — key events, data streams, custom dimensions, attribution, retention, PII, Ads link, BigQuery export version: "1.0.0" author: Cogny AI requires: cogny-mcp platforms: [google-analytics-4] user-invocable: true argument-hint: "[full|config|events|data-quality]" allowed-tools: - mcp__cogny__google_analytics_4__tool_list_account_summaries - mcp__cogny__google_analytics_4__tool_get_property - mcp__cogny__google_analytics_4__tool_list_data_streams - mcp__cogny__google_analytics_4__tool_list_conversion_events - mcp__cogny__google_analytics_4__tool_list_custom_dimensions - mcp__cogny__google_analytics_4__tool_list_custom_metrics - mcp__cogny__google_analytics_4__tool_get_metadata - mcp__cogny__google_analytics_4__tool_run_report - mcp__cogny__create_finding - WebFetch - WebSearch
GA4 Audit
A one-time audit of a Google Analytics 4 property — configuration *and* data quality. GA4 collects data the moment the tag fires, but most properties quietly leak trust: unmarked key events, PII in parameters, no Ads link, `(not set)` traffic. This skill finds those before they corrupt a quarter of reporting.
**Requires:** Cogny Agent subscription ($9/mo) — [Sign up](https://cogny.com/agent)
Prerequisites Check
If `mcp__cogny__google_analytics_4__tool_get_property` is not available:
This skill requires Cogny's Google Analytics 4 MCP server. 1. Sign up at https://cogny.com/agent 2. Connect your GA4 property 3. Add Cogny to your .mcp.json (see the repo README) 4. Restart Claude Code
Stop here if the tools are missing.
Usage
`/ga4-audit` — full property audit `/ga4-audit config` — property + stream + link settings only `/ga4-audit events` — events, key events, custom dimensions only `/ga4-audit data-quality` — `(not set)`, PII, anomaly checks only
Steps
1. Property discovery
tool_list_account_summaries tool_get_property (property_id)
Record: time zone, currency, industry category, **data retention setting**, and property type. Flag data retention left at the 2-month default — it should be 14 months so year-over-year exploration works.
2. Data streams
tool_list_data_streams (property_id)
Flag:
- Multiple web streams for one site (splits data, double-counts users)
- Enhanced measurement off, or measuring events the team doesn't actually want
- Missing iOS/Android streams for a business that has apps
3. Key events (conversions)
tool_list_conversion_events (property_id)
Flag:
- **No key events configured** — Ads bidding and GA4 reporting both lose their anchor
- Key events marked on noisy automatic events (`page_view`, `scroll`) — inflates the
conversion count and misleads everyone
- Obvious business goals *not* marked as key events (e.g. `generate_lead`, `purchase`,
`sign_up`)
- More than ~10–15 key events — when everything is a conversion, nothing is
4. Custom dimensions & metrics
tool_list_custom_dimensions (property_id) tool_list_custom_metrics (property_id) tool_get_metadata (property_id)
Flag:
- Event parameters collected by the tag but **never registered** as custom dimensions
(the data is invisible in reports) — compare `get_metadata` against what the streams send
- Approaching the 50 event-scoped / 25 user-scoped dimension limits
- High-cardinality registered dimensions (timestamps, IDs) — they cause `(other)` rows
5. Traffic & data-quality report
tool_run_report (property_id, last 30 days, dimensions: sessionDefaultChannelGroup, sessionSource, sessionMedium, metrics: sessions, conversions, totalUsers)
Flag:
- A large `Unassigned` or `(not set)` share — broken UTMs or tagging gaps
(point the user to `/utm-builder`)
- A `Direct` share above ~40% — usually lost referrer data or missing tags
- Self-referrals (your own domain as a source) — needs an unwanted-referral filter
- Internal traffic visible in reports — no internal-traffic filter applied
6. PII & policy check
Scan event and parameter names from `get_metadata` for anything that could carry personal data — `email`, `phone`, `user_email`, full names, raw addresses in parameters or in the page path / query string.
🔴 PII in GA4 violates Google's policy and risks the property being deleted. Flag it as critical and name the exact parameter.
7. Integrations
Flag:
- **No Google Ads link** — conversions can't flow to Ads for bidding (check with the
user; the link isn't always API-visible)
- No BigQuery export — recommend it for any property that wants raw-data analysis
(`/ga4-bigquery-schema` covers the schema)
- Search Console not linked
8. Score and report
GA4 Audit — [Property Name] GA4 Health Score: X/100 Score breakdown: Configuration ...... X/20 (streams, retention, time zone) Key events ......... X/25 (the reporting + bidding anchor) Custom dimensions .. X/15 Data quality ....... X/25 ((not set), Direct, self-referrals) Compliance ......... X/15 (PII, internal traffic) 🔴 Critical — PII collected, no key events, retention at 2 months 🟡 Important — unregistered dimensions, high (not set), no Ads link 🟢 Optimization — BigQuery export, enhanced measurement tuning Top 3 Actions: 1. [Highest impact] 2. ... 3. ...
9. Record findings
{
"title": "Email address captured in GA4 'page_location' — policy violation",
"body": "The checkout-success URL includes ?email=… and GA4 stores it in page_location and page_path. Google policy prohibits PII in Analytics and can delete the property. Strip the parameter at the tag, or redact it before the event fires.",
"action_type": "data_quality",
"expected_outcome": "PII removed from collection; property compliant",
"estimated_impact_usd": 0,
"priority": "critical"
}Action types: `tracking_configuration`, `conversion_setup`, `data_quality`, `custom_dimension`, `integration`, `com
AI marketing skills for Claude Code, Cursor, Windsurf, and other AI coding tools. Audit SEO, analyze ads, research competitors, qualify leads — all from your terminal. Free skills need no account. Premium skills connect your real data for $9/mo.
Repo: cognyai/claude-code-marketing-skills
Other skills on claude-code-marketing-skills.
brand-kit
Build a portable brand-kit.json for the user's product — colors, typography, voice — that other skills (video, ad creative, landing page) can consume. Multiple…
cogny
Run Cogny marketing analysis tasks — fetch scheduled tasks, analyze ad accounts via MCP, report findings
community-pulse
Weekly read on Discord community health — joins, active channels, top contributors, themes, and unanswered questions
conversion-debug
Conversion Tracking Debugger — diagnose discrepancies across GTM, GA4, Google Ads & Meta Pixel with live API access, BigQuery validation queries, and…

