Agent skill

Google Analytics 4 Setup

by ooiyeefei in ooiyeefei/ccc

Sets up GA4 on a website and wires one real conversion event end to end, verified in DebugView before any money goes into ads.

MITAuto-check passedMarketing & SEO

Install Google Analytics 4 Setup

skills CLI
$ npx skills add ooiyeefei/ccc --skill google-analytics-setup -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ooiyeefei/ccc google-analytics-setup --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/google-analytics-setup .claude/skills/google-analytics-setup && rm -rf skills-src

Use ~/.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/

Facts

Skill name
google-analytics-setup
GitHub stars
494
Token cost
~2.2k tokens
SKILL.md length
1,046 words
Files
6 (incl. references)
Skills in repo
22
Repo updated
First seen
Licence
MIT

At a glance

Sets up GA4 on a website and wires one real conversion event end to end, verified in DebugView before any money goes into ads.

  • Works in 5 steps: Create the property + stream → Install the gtag.js tag → Fire the conversion event on the action → …
  • Installing Google Analytics 4 on a site for the first time
  • SKILL.md covers Start where the user is, Property and stream structure…, 1. Create the property + stream and 2. Install the gtag.js tag, plus 6 more sections
  • Reaches googletagmanager.com

What it does

GA4 setup is treated as a chain: account, property, data stream, tag on the site, conversion event, Key Event marking and verification. Since people arrive at different points, the agent begins by asking what already exists (the property, the Measurement ID, the one conversion that matters most, and the site framework and domain) and jumps in at the right link instead of recreating anything, which could leave duplicate properties that cannot be merged.

It also fixes the structure up front. A property is a hard reporting boundary, so you create one per product. A data stream belongs to a domain rather than a path, so pages are told apart with `page_path` or a custom dimension, and a second stream is only for a genuinely different domain. Reference files cover consent and privacy, installation by platform, recommended events and a verification checklist. The excerpt is truncated after the structure rules.

When your agent uses it

  • Installing Google Analytics 4 on a site for the first time
  • Tracking a form submission, signup or purchase as a conversion
  • Finding a Measurement ID or working out why GA4 events are not appearing
  • Deciding how many GA4 properties and data streams a product needs

Example prompts

  • “Add GA4 to my Next.js site and track the waitlist form as a conversion.”
  • “My signup event never shows up in GA4, help me debug it in DebugView.”
  • “Should the marketing site and the app share one GA4 property or use two streams?”

Requirements

  • A Google account with access to Google Analytics
  • Access to the site's code or tag setup

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Create the property + stream
  2. Install the gtag.js tag
  3. Fire the conversion event on the action
  4. Mark it as a Key Event (GA4's word for "conversion")
  5. Verify BEFORE you spend — the gate

What it can do on your machine

Read from SKILL.md and the folder at commit c0fd926. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are html).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • googletagmanager.com

    Also links to:

    • analytics.google.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Google Analytics 4 Setup loads about 2.2k tokens when it runs, and up to ~4.7k if it reads all its reference files. Until then it costs about 172 tokens; SKILL.md has 1,046 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~172
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.7k

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.

Safety

Auto-check passed

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from ooiyeefei/ccc at commit c0fd926, republished under its MIT licence (© ooiyeefei). 1,046 words, ~2,159 tokens.

Download SKILL.mdSave it as .claude/skills/google-analytics-setup/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
google-analytics-setup
description
Set up Google Analytics 4 (GA4) on a website and wire a real conversion event (form submit, signup, purchase) end to end. Guides the user through account/property/data-stream creation, installing the gtag.js tag, firing a conversion event, marking it as a Key Event, and verifying it in DebugView BEFORE spending on ads. Use whenever someone wants to add GA4, "install Google Analytics", track a form submission or signup, set up conversion tracking, find their Measurement ID (G-XXXXXXXXXX), debug why GA4 events aren't showing, or decide how many GA4 properties/streams they need. Meets the user wherever they are — always asks what they've already set up first.

Google Analytics 4 Setup

Get GA4 tracking a real conversion, verified end to end, so ad spend is measured against something trustworthy. GA4's model is different from old Universal Analytics, and the single most common failure is spending money before confirming the conversion event actually fires. This skill front-loads that.

Start where the user is

GA4 setup is a chain: account → property → data stream → tag on site → conversion event → mark as Key Event → verify. People arrive at different points in that chain. Guessing wastes their time and risks duplicate properties (which cannot be merged later). So always ask first what already exists, then jump in at the right link:

Ask (adapt to what they've said):

  1. Do you already have a Google Analytics account / property? If yes, what's it called?
  2. Do you have a data stream for this site yet, and a Measurement ID (looks like G-XXXXXXXXXX)? If yes, paste it.
  3. What's the one conversion that matters most (a waitlist/contact form submit, a signup, a purchase)? Everything downstream optimizes for this.
  4. What's the site — a framework (Next.js, plain HTML, WordPress, Shopify) and the domain? This decides how the tag goes in.

Then go straight to the relevant section below. Skip what they've already done. Do NOT re-create anything that exists.

Property and stream structure — decide once, correctly

Getting the hierarchy wrong fragments data permanently, so settle it before creating anything.

  • A GA4 property is a hard reporting boundary. Data does not flow across properties (cross-property analysis needs BigQuery or paid GA360). So: one property per product, not per page, per feature, or per plan tier.
  • A data stream is per domain, not per path. One web stream captures every path on that hostname automatically. A page like /pricing or /waitlist does NOT get its own stream — it shares the site's stream, and you tell pages apart by page_path.
  • Distinguish sub-parts inside one property with page_path (automatic) or a custom dimension (e.g. plan_tier, product_area) on events — never with separate properties.
  • Only make a second stream for a genuinely different domain (e.g. a separate marketing site on its own hostname).

The reason this matters: the whole point of GA4 is following a user's journey (ad → landing → signup → activation). Splitting that journey across properties severs it, and you can't un-split it.

1. Create the property + stream

In analytics.google.com → Admin (gear):

  1. Create → Property. Name it after the product. Set the reporting time zone and currency to the business's own (this affects how days bucket and how revenue displays — a wrong time zone quietly misaligns daily reports).
  2. Platform → Web → enter the site URL, name the stream (e.g. "Main Web"), Create stream.
  3. On the stream page, copy the Measurement ID — G-XXXXXXXXXX. This is the one value the site's tag needs. Find it again anytime under Admin → Data streams → [your stream].
  4. Leave Enhanced measurement ON — it auto-captures page views, scrolls, and outbound clicks for free. (One caution: it warns "ensure no PII is sent" — see the PII rule below.)

2. Install the gtag.js tag

Paste this immediately after the opening <head> on every page, replacing G-XXXXXXXXXX with the real ID. A page_view fires automatically on load — you don't code that.

html
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-XXXXXXXXXX');
</script>

Framework-specific install (Next.js App Router, WordPress, Shopify, plain HTML, Google Tag Manager) is in references/install-by-platform.md — read it for the user's stack rather than guessing, because a mis-scoped tag (e.g. loaded on the wrong Next.js boundary) is a common silent failure.

3. Fire the conversion event on the action

Use GA4's recommended event name for the action so it maps to built-in reports (e.g. generate_lead for a lead/waitlist, sign_up for account creation, purchase for a sale — full list in references/recommended-events.md). Fire it only after the action truly succeeded — after a durable write / a 2xx response — never on a caught error, or you will count failures as conversions and make the whole test lie.

html
<script>
document.getElementById('myForm').addEventListener('submit', async function (e) {
  e.preventDefault();
  try {
    await saveTheLead(/* ... */);      // 1. persist FIRST — the real success
    gtag('event', 'generate_lead', {   // 2. only then, count it
      // segmentable, NON-PII params only (see PII rule):
      persona: 'driver',
      value_bucket: 'high',
      currency: 'USD'
    });
    window.location.href = '/thank-you';
  } catch (err) {
    // show a friendly error — do NOT fire the event, do NOT fake success
    showError('Something went wrong, please try again.');
  }
});
</script>
Show full SKILL.md (404 more words)Show less
PII rule — do not send personal data to GA

Never put email, phone, name, or full address into event parameters. GA4's terms prohibit PII, and Enhanced measurement's own warning says the same. Send categories and buckets (persona, plan, a price band) that let you segment, not the person's identity. This keeps you compliant (GDPR/PDPA/CCPA) and is genuinely all you need for analysis.

4. Mark it as a Key Event (GA4's word for "conversion")

An event you fire is just an event until you promote it. Fire a test submit first, then in Admin → Events, toggle Mark as key event on your event row. Since 2024 GA4 calls conversions "key events" — same idea.

5. Verify BEFORE you spend — the gate

This is the step people skip and regret. Do a real submit on the live (or preview) site, then confirm the event actually landed:

  • Admin → DebugView (add ?debug_mode=1 to the URL, or install the GA Debugger Chrome extension). You should see your event appear in real time, with the right parameter values.
  • Or Reports → Realtime to see it within seconds.

Only once you can see the conversion fire with correct data should any ad budget go live. A conversion tracked wrong (fired on failure, missing its params, or never firing) silently invalidates every downstream number — you'd optimize against noise. The full checklist is in references/verify-checklist.md.

A simple site collecting a form needs: a one-page privacy policy linked near the form, a consent note, and honoring opt-out. For heavier compliance (EU traffic, sensitive categories) wire Consent Mode v2 — details in references/consent-and-privacy.md. Don't over-build this before you have traffic, but don't skip the basics.

"Can you set this up for me programmatically?"

Honestly, no — and it isn't worth it. GA4 has an Admin API, but it needs the user's own Google OAuth + a Google Cloud project + service account, which is more work than the ~5-minute UI click-through and can't be done on their behalf without their credentials. Do the account/property/stream creation in the UI. What you (the assistant) can do is write the tag + event code into their site. Split it that way.

Reference files

  • references/install-by-platform.md — exact tag install for Next.js, plain HTML, WordPress, Shopify, and Google Tag Manager.
  • references/recommended-events.md — GA4 recommended event names + params for common conversions (lead, signup, purchase, add-to-cart).
  • references/verify-checklist.md — the pre-spend verification checklist (DebugView, Realtime, common "no data" causes).
  • references/consent-and-privacy.md — PII rules, Consent Mode v2, regional basics.

© ooiyeefei, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (references) in skills/google-analytics-setup of ooiyeefei/ccc.

  • SKILL.md
  • README.md
  • references/consent-and-privacy.md
  • references/install-by-platform.md
  • references/recommended-events.md
  • references/verify-checklist.md

Open the folder on GitHubat commit c0fd926

Compare with similar skills

Google Analytics 4 Setup 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.

Google Analytics 4 Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Google Analytics 4 Setup this skillooiyeefei/ccc494—~2.2kAutomated safety check: PassMIT
Ad Conversion Tracking Setupminhnv0807/ai-business-skills608—~3.7kAutomated safety check: PassMIT
XurlLeoYeAI/openclaw-master-skills2.2k—~766Automated safety check: PassMIT
Google SEO APIsAgriciDaniel/claude-seo18k1 repos~4.2kAutomated safety check: PassMIT
AnalyticsNexus-JPF/note-companion8696 repos~2.2kAutomated safety check: PassMIT
Google Analytics 4 AnalysisLichAmnesia/lich-skills234—~2kAutomated safety check: NotesMIT

Similar skills

  • Ad Conversion Tracking Setup

    minhnv0807/ai-business-skills

    Sets up and verifies conversion tracking before ad spend: Meta Pixel and CAPI, Google Ads, GA4, TikTok, server-side GTM, consent mode, UTMs and a pre-launch checklist.

    608 GitHub stars~3.7k tokensUpdated 25 days ago
    Marketing & SEOAuto-check passed
  • Xurl

    LeoYeAI/openclaw-master-skills

    A Twitter research and content intelligence skill focused on attracting WordPress and Shopify clients.

    2.2k GitHub stars~766 tokensUpdated 2 mo ago
    Marketing & SEOAuto-check passed
  • Google SEO APIs

    AgriciDaniel/claude-seo

    Pulls real Google data for SEO work: Search Console, PageSpeed Insights, CrUX field data, the Indexing API and GA4 organic traffic, through /seo google commands.

    18k GitHub starsUsed in 1 repo~4.2k tokens
    Marketing & SEOAuto-check passed
  • Analytics

    Nexus-JPF/note-companion

    When the user wants to set up, improve, or audit analytics tracking and measurement.

    869 GitHub starsUsed in 6 repos~2.2k tokens
    Marketing & SEOAuto-check passed
  • Google Analytics 4 Analysis

    LichAmnesia/lich-skills

    Pulls Google Analytics 4 data through the Data API with TypeScript scripts and turns it into a daily SEO report or prioritized traffic and bounce-rate recommendations.

    234 GitHub stars~2k tokensUpdated 3 mo ago
    Marketing & SEOAuto-check: notes
  • Google Ads

    arnabbagxd/Brand-building-skills

    Plan, build, and optimize Google Ads campaigns — Search, Shopping, Performance Max, Display, and YouTube — including keyword research, match types, bidding strategy, Quality Score, ad extensions…

    719 GitHub stars~3.1k tokensUpdated 3 mo ago
    Marketing & SEOAuto-check passed

More from ooiyeefei/ccc

All 22 skills in this repo
  • Turns meeting recordings into notes with a chain of custody from audio to claim, auditing transcripts for gaps and low-confidence numbers and names.

    494 GitHub stars~876 tokensUpdated 2 mo ago
    Auto-check passed
  • Builds marketing and explainer videos in Remotion from rendered scenes, with one real product capture as proof, and cuts them for each platform's formats.

    494 GitHub stars~2.9k tokensUpdated 2 mo ago
    Auto-check passed
  • Records a sharp product demo video by driving the real app with a browser agent, from storyboard to Xvfb capture and a narration script synced to the frames.

    494 GitHub stars~2.8k tokensUpdated 2 mo ago
    Auto-check passed
  • Generates architecture diagrams as .excalidraw files by analyzing a codebase, with optional PNG or SVG export through Playwright.

    494 GitHub stars~2k tokensUpdated 2 mo ago
    Auto-check passed
  • Builds or rewrites SaaS landing pages by researching the real product, positioning it against alternatives and writing buyer-focused copy, then implementing it in the codebase.

    494 GitHub stars~1.8k tokensUpdated 2 mo ago
    Auto-check passed
  • Meta Pixel Setup

    ooiyeefei/ccc

    Walks a site owner through installing the Meta Pixel, firing one conversion event and verifying it with the Pixel Helper before any ads run.

    494 GitHub stars~2.4k tokensUpdated 2 mo ago
    Auto-check passed

Categories

Questions about Google Analytics 4 Setup

What does Google Analytics 4 Setup do?

Sets up GA4 on a website and wires one real conversion event end to end, verified in DebugView before any money goes into ads. GA4 setup is treated as a chain: account, property, data stream, tag on the site, conversion event, Key Event marking and verification. Since people arrive at different points, the agent begins by asking what already exists (the property, the Measurement ID, the one conversion that matters most, and the site framework and domain) and jumps in at the right link instead of recreating anything, which could leave duplicate properties that cannot be merged.

When should I use Google Analytics 4 Setup?

Google Analytics 4 Setup fits situations like: installing Google Analytics 4 on a site for the first time; tracking a form submission, signup or purchase as a conversion; finding a Measurement ID or working out why GA4 events are not appearing; deciding how many GA4 properties and data streams a product needs.

How do I install Google Analytics 4 Setup in Claude Code?

Run `npx skills add ooiyeefei/ccc --skill google-analytics-setup -a claude-code`. Or copy the skill folder (skills/google-analytics-setup in ooiyeefei/ccc) into .claude/skills/google-analytics-setup in your project. Claude Code loads it when a task matches its description.

How do I install Google Analytics 4 Setup in Codex?

Run `npx skills add ooiyeefei/ccc --skill google-analytics-setup -a codex`. Or copy the skill folder (skills/google-analytics-setup in ooiyeefei/ccc) into .agents/skills/google-analytics-setup in your project. Codex loads it when a task matches its description.

Can I use Google Analytics 4 Setup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ooiyeefei/ccc --skill google-analytics-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/google-analytics-setup, .gemini/skills/google-analytics-setup, .github/skills/google-analytics-setup and .opencode/skills/google-analytics-setup in your project.

What does Google Analytics 4 Setup need to run?

SKILL.md names no scripts, command-line tools or credentials: Google Analytics 4 Setup is instructions for the agent only. Our summary lists: A Google account with access to Google Analytics; Access to the site's code or tag setup.

Does Google Analytics 4 Setup access the network?

SKILL.md names 2 domains. In commands or code: googletagmanager.com; the agent is likely to contact it when it follows the instructions. As links in the text: analytics.google.com. This is read from the text; nothing was executed.

Is Google Analytics 4 Setup safe to install?

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. Review the folder before installing.

What licence does Google Analytics 4 Setup use?

Google Analytics 4 Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Google Analytics 4 Setup use?

About 2.2k tokens (SKILL.md is roughly 8.6k 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 2.6k tokens, read only when the agent opens those files.

What are the alternatives to Google Analytics 4 Setup?

Skills that share tags, products or a category with Google Analytics 4 Setup: Ad Conversion Tracking Setup (minhnv0807/ai-business-skills, 608 stars), Xurl (LeoYeAI/openclaw-master-skills, 2.2k stars), Google SEO APIs (AgriciDaniel/claude-seo, 18k 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.

Who maintains Google Analytics 4 Setup?

ooiyeefei (a GitHub user) maintains it in ooiyeefei/ccc, which has 494 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on July 29, 2026.

Source: ooiyeefei/ccc on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.