Ga4 Measurement Plan logo

Ga4 Measurement Plan

Organization
cognyai
ga4-measurement-plan

Build a GA4 measurement plan from a site URL — event taxonomy, parameters, custom dimensions, and key events to mark as conversions

Overview

Publishercognyai
Repositoryclaude-code-marketing-skills
Skill namega4-measurement-plan
Stars
111
Forks
15
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by cognyai on GitHub. Read the source before you install it.

Installation

Install the Ga4 Measurement Plan AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/cognyai/claude-code-marketing-skills/tree/main/skills/ga4-measurement-plan
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/cognyai/claude-code-marketing-skills.git /tmp/claude-code-marketing-skills
mkdir -p .claude/skills
cp -r /tmp/claude-code-marketing-skills/skills/ga4-measurement-plan .claude/skills/ga4-measurement-plan
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Ga4 Measurement Plan in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Ga4 Measurement Plan on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Ga4 Measurement Plan is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

GA4 Measurement Plan

Give it a site URL and get back a complete GA4 measurement plan — which events to track, what parameters each carries, which custom dimensions to register, and which events to mark as key events. The deliverable is a spec a developer or GTM builder can implement directly. No account connection required.

It pairs with /gtm-tracking-plan, which turns this plan into the actual GTM tags, triggers, and variables.

Works with

Works with zero accounts (site URL only). When connected, the plan becomes a gap list against what is already live instead of a blank-slate spec:

JobWithout accountsEnhanced when connected
What's already trackedinferred from the siteGA4 tool_get_metadata, tool_run_report (eventName); Segment list_tracking_plan_rules; PostHog list_event_definitions
Key events already marked—GA4 tool_list_conversion_events
Dimensions already registered—GA4 tool_list_custom_dimensions
Mark the planned key eventsuser does it in GA4 AdminGA4 tool_mark_key_event if exposed (write, asks first), else GA4 Admin

Usage

/ga4-measurement-plan example.com — measurement plan for the site /ga4-measurement-plan example.com "drive demo bookings" — bias the plan toward a goal

Steps

1. Understand the site

WebFetch the URL and a representative spread of pages (home, product/category, pricing, signup/checkout, contact). Determine:

  • Site type — ecommerce, lead gen, SaaS, content/media, marketplace
  • The primary conversion and any secondary conversions (newsletter, demo, account creation)
  • The funnel steps a visitor passes through to convert
  • Notable interactions worth measuring (search, filters, video, downloads, configs)

If a business goal was passed as an argument, make the plan serve it first.

1b. Inventory what's live (enhanced when connected)

If Cogny isn't connected, skip this and note what connecting adds.

Call list_integrations once and use whichever of these are healthy:

ProviderCallsGives you
GA4tool_list_account_summaries → tool_run_report (property_id, last 30 days, dimensions: [eventName], metrics: [eventCount]), tool_list_conversion_events, tool_list_custom_dimensions, tool_get_metadataEvents firing, key events, registered parameters
Segmentlist_tracking_plans → list_tracking_plan_rules (tracking_plan_id)The team's existing event names and required properties
PostHoglist_projects → list_event_definitions (project_id)Product events already named (often the source of truth for SaaS)
Mixpanelrun_segmentation (event, from_date, to_date) per candidate eventWhether a product event already fires

Add a Status column to the Step 5 table: live / live, rename / new. Reuse the existing product-analytics name in a parameter when it differs from the GA4 name, so the same action is joinable across tools.

2. Start from what GA4 already gives you

Note which events come free and need no implementation:

  • Automatically collected: first_visit, session_start, page_view, user_engagement
  • Enhanced Measurement (if enabled): scroll, click (outbound), view_search_results, video_*, file_download, form_start, form_submit

Flag any of these the team should rely on rather than rebuild.

3. Recommended events for the site type

Map the site to GA4's recommended events — using the recommended names matters because GA4 builds reporting around them:

  • Ecommerce: view_item_list, view_item, select_item, add_to_cart, view_cart, begin_checkout, add_shipping_info, add_payment_info, purchase, refund
  • Lead gen / SaaS: generate_lead, sign_up, login, search, plus custom events for the funnel
  • Content / media: search, select_content, share, join_group

For each: when it fires and its parameters (e.g. purchase → transaction_id, value, currency, items[]).

4. Custom events for everything else

For interactions GA4 has no recommended event for, design custom events following the rules: snake_case, ≤40 characters, descriptive, no reserved prefixes (google_, firebase_, ga_), lowercase. Examples: demo_requested, pricing_plan_selected, quote_calculated.

Keep the taxonomy tight — a parameter on a shared event usually beats a brand-new event (cta_click with a cta_location parameter, not ten separate click events).

5. The event taxonomy table

Produce the core deliverable — one row per event:

Event nameTypeFires whenParametersKey event?
purchaserecommendedorder confirmation page loadstransaction_id, value, currency, items[]✅
generate_leadrecommendedcontact form submittedform_id, lead_source, value✅
demo_requestedcustomdemo form submittedplan_interest✅
...

6. Custom dimensions & metrics to register

Event parameters are invisible in standard GA4 reports until registered as custom dimensions. List every non-standard parameter from Step 5 that needs registering:

ParameterScopeRegister asWhy
lead_sourceeventcustom dimensionsegment leads by origin
plan_interesteventcustom dimensionsee which plan drives demos

Warn against high-cardinality parameters (IDs, timestamps) as dimensions, and note the 50 event-scoped / 25 user-scoped limits.

7. Key events (conversions)

Recommend which events to mark as key events. Be selective — 3–8 is healthy. Mark real business outcomes, never page_view or scroll. Note which key events should also be imported into Google Ads for bidding.

If GA4 is connected and the workspace exposes tool_mark_key_event (it's newer than most workspaces' tool lists), offer to mark the agreed key events with it (property_id, event_name; write, asks first, once per event). Otherwise give the GA4 UI path: Admin → Events → Mark as key event. Either way it only works for events that already fire, and counts new data only.

8. Output

Deliver as one document:

GA4 Measurement Plan — [site]

Site type: ...  |  Primary conversion: ...

1. Already covered (automatic + Enhanced Measurement): ...
2. Event taxonomy table (recommended + custom)
3. Custom dimensions & metrics to register
4. Key events to mark as conversions (and which to send to Google Ads)
5. dataLayer payload examples for the 3-5 most important events
6. Implementation notes & sequencing

End with the handoff line: "Run /gtm-tracking-plan [url] to turn this into GTM tags, triggers, and variables."

Critical rules

  1. Use GA4's recommended event names wherever one exists — reporting depends on them.
  2. A registered parameter beats a new event. Keep the taxonomy small.
  3. Custom events must follow the naming rules — snake_case, ≤40 chars, no reserved prefixes.
  4. Never recommend collecting PII (email, phone, name) in events or parameters — it violates Google policy.
  5. Connected data adds status, not scope. Don't drop a needed event because it isn't live yet; mark it new.
  6. This produces a plan. To audit a live GA4 property, use /ga4-audit (requires Cogny MCP).

Frequently asked questions

What does the Ga4 Measurement Plan AI skill do?

Build a GA4 measurement plan from a site URL — event taxonomy, parameters, custom dimensions, and key events to mark as conversions

Why use Ga4 Measurement Plan on TypingMind?

Because you install it once and use it with any model. Ga4 Measurement Plan is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Ga4 Measurement Plan in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/cognyai/claude-code-marketing-skills/tree/main/skills/ga4-measurement-plan. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Ga4 Measurement Plan?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Ga4 Measurement Plan?

As many as you like. As long as a model supports skills, you can use Ga4 Measurement Plan with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Ga4 Measurement Plan AI skill free?

It is published on GitHub by cognyai. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇