# GA4 Tracking Plan Limits

GA4 Tracking Plan Limits is a tested SKILL.md that checks ONE Google Analytics 4 tracking plan (events, their parameters, and the custom dimensions to register with their scope) against the published collection limits and naming rules, and lists only the breaches, one line each with a fixed code, the item, the rule it breaks and the fix - or exactly No findings; an agent buys it once for $0.01 over x402.

- Page: https://aiskills402.com/skills/ga4-tracking-plan-limits
- Category: Data & Analysis (https://aiskills402.com/categories/data)
- Price: $0.01 once, USD-priced, paid in USDC on Base over x402. Price as loaded on this page. The 402 response your agent receives is authoritative.
- Version: 1.0.0
- Card (JSON): https://api.aiskills402.com/v1/skills/ga4-tracking-plan-limits

## Use it when

Checks ONE Google Analytics 4 tracking plan (events, their parameters, and the custom dimensions to register with their scope) against the published collection limits and naming rules, and lists only the breaches, one line each with a fixed code, the item, the rule it breaks and the fix - or exactly No findings. It catches an event or parameter name longer than allowed, more parameters on one event than GA4 collects, a reserved event name or a reserved parameter name or prefix, a name that breaks the format rules, and a custom dimension whose values are nearly unique. It leaves out names that sit exactly on a limit and events that use exactly the allowed number of parameters. Use before a plan goes to developers or to Google Tag Manager, to audit a plan that someone else wrote, or to find out why an event or a parameter never shows up in reports.

## Not for

Property-wide quotas, per-user daily limits, ecommerce item parameters, the tags on a real page, consent, and checking that data arrives. It reads a pasted plan and judges only the names, counts and dimensions written in it.

## Tested, honestly

Tested 2026-10-19.

- Strong model (claude-sonnet-5-5 (Claude Code alias "sonnet")): Right on all 3 cases, read by hand. On the shop plan it named the event of 43 characters with the count and left out the parameter name of exactly 40. On the help-centre plan it gave the reserved event name and the order number held in a user-scoped dimension, and left out the event with exactly 25 parameters. On the clean billing plan, with an event name of exactly 40 characters, it answered exactly No findings.
- Weak model (claude-haiku-5-5 (Claude Code alias "haiku")): Right on all 3 cases, read by hand. It gave the same single line for the long event name, the two expected lines for the help-centre plan, and exactly No findings for the clean plan, including the 40-character event name. Its suggested shorter names were its own and were counted correctly.

Note: Light test: three cases (two planted, one clean), one run per model; no comparison without the skill. The three inputs were written by us; each planted one carries a safe look-alike and neither has a comment pointing at the defect. Facts come from the public pages named in the notes, read on 19 October 2026; there are no owner-measured facts.

Full summary: https://aiskills402.com/skills/ga4-tracking-plan-limits/tests

## Example

### English (claude-sonnet-5-5)

Before:

> GA4 tracking plan - Lantern Outdoor shop (web stream) Events and their parameters 1. view_item_list - item_list_name, item_count 2. add_to_cart_from_recommendation_carousel_v2 - item_id, item_name, price, carousel_position, recommendation_algorithm_release_version 3. begin_checkout - cart_value, item_count, coupon_code 4. purchase_confirmed - order_value, shipping_method, payment_method…

After:

> NAME-TOO-LONG — event add_to_cart_from_recommendation_carousel_v2 — the name is 43 characters against a limit of 40 — shorten it, for example to add_to_cart_from_carousel (24 characters)

## What is in the file

- The answer
- The rules (as published by Google on 19 October 2026)
- The codes
- How to read the plan
- Rules
- Work in this order
- Short example

## Languages

English

## How to buy

Agent (HTTP):

1. GET https://api.aiskills402.com/v1/skills/ga4-tracking-plan-limits/file without a payment header. The answer is 402 with a PAYMENT-REQUIRED header (x402 v2): exact amount, asset, network, recipient.
2. Sign `accepts[0]` with an x402 client (for example @x402/core + @x402/evm).
3. Repeat the GET with the signature in the PAYMENT-SIGNATURE header. The answer is 200 with the file, its sha256 and a re-download token.

Agent (MCP): https://mcp.aiskills402.com/mcp — free tools search_skills, get_skill, redownload_skill. Buying itself is over HTTP.

Full flow: https://aiskills402.com/docs

## The file

- Version: 1.0.0
- Size: 9.1 KB (9351 bytes)
- SHA-256: ad0c780bddb22a711fde790a5a2e2054ca1903cbb1ba67d34cfe8ccfc496d636
- Updated: 2026-10-19
- New versions are free through your re-download token.

## Versions

### 1.0.0 (2026-10-19)

First release, written in the light-test batch of 19 October 2026 (three cases, price $0.01). The idea is ours; no foreign skill was opened, facts come from public pages (see notes/ideas.md). Output: one line per finding with a fixed code, or exactly `No findings.`

Test: three cases written by hand (a shop plan with a 43-character event name, a help-centre plan with a reserved event name and an order number as a user dimension, and a clean billing plan), one run on Claude Sonnet and one on Claude Haiku, no run without the skill, no iteration on the skill text after the runs. `test/control.mjs` shows that the checks pass on the ideal answers and fail on realistic wrong ones. See `test-summary.json` for the verdicts read by hand.

## License

Perpetual, non-exclusive; use and modify for yourself incl. paid work; no resale or republishing. Holder: Georgi Kalchev, aiskills402.com. Terms: https://aiskills402.com/docs#license

## FAQ

### Under which condition does a name on the limit count as a breach?

Never. GA4 allows at most 40 characters for an event name and for a parameter name, so a name of exactly 40 is inside the rule. The skill writes the count it measured in every line, which makes a miscount visible.

### Which reserved names does it know?

The lists that Google published on 19 October 2026 for web and for app streams, including the reserved parameter names and the prefixes that a parameter or user property name cannot begin with. Google says the list is not complete, so a name that is not on it gets no line.

### What inputs were used for the check?

A shop plan holding an event name of 43 characters, a help-centre plan that names an event error and keeps an order number in a user dimension, and a billing plan that is clean. One run of Claude Sonnet and one of Claude Haiku; read by hand, both gave the expected lines and the clean sentence.

### What comes back for a plan that breaks nothing?

One sentence, No findings., with no list of what was checked. Every breach otherwise gets its own line holding a code, the item, the rule with the measured count, and a fix.

## Measurement limits

- Models other than the two named above were not run.
- Each verdict comes from the test run on the date shown; the skill may have changed since (check the version).
- Full test inputs are not published here, only short excerpts of our own text.
- Results on your own texts, languages and domains can differ.

Offer note: Paid in USDC (USD-pegged) over x402 by an AI agent; one-time.
