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.
Sets up GA4 on a website and wires one real conversion event end to end, verified in DebugView before any money goes into ads.
$ npx skills add ooiyeefei/ccc --skill google-analytics-setup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ooiyeefei/ccc google-analytics-setup --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/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-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 "google-analytics-setup" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/google-analytics-setup into .claude/skills/google-analytics-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-analytics-setup", 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/ooiyeefei/ccc/tree/main/skills/google-analytics-setupType 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 ooiyeefei/ccc --skill google-analytics-setup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ooiyeefei/ccc google-analytics-setup --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/google-analytics-setup .agents/skills/google-analytics-setup && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "google-analytics-setup" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/google-analytics-setup into .agents/skills/google-analytics-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-analytics-setup", 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 ooiyeefei/ccc --skill google-analytics-setup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ooiyeefei/ccc google-analytics-setup --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/google-analytics-setup .cursor/skills/google-analytics-setup && 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 "google-analytics-setup" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/google-analytics-setup into .cursor/skills/google-analytics-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-analytics-setup", 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/ooiyeefei/ccc.git --path skills/google-analytics-setup--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 ooiyeefei/ccc --skill google-analytics-setup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ooiyeefei/ccc google-analytics-setup --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/google-analytics-setup .gemini/skills/google-analytics-setup && 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 "google-analytics-setup" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/google-analytics-setup into .gemini/skills/google-analytics-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-analytics-setup", 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 ooiyeefei/ccc google-analytics-setupInstalls 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 ooiyeefei/ccc --skill google-analytics-setup -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/google-analytics-setup .github/skills/google-analytics-setup && 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 "google-analytics-setup" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/google-analytics-setup into .github/skills/google-analytics-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-analytics-setup", 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 ooiyeefei/ccc --skill google-analytics-setup -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ooiyeefei/ccc google-analytics-setup --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ooiyeefei/ccc.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/google-analytics-setup .opencode/skills/google-analytics-setup && 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 "google-analytics-setup" agent skill from https://github.com/ooiyeefei/ccc/tree/main/skills/google-analytics-setup into .opencode/skills/google-analytics-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "google-analytics-setup", 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.
google-analytics-setupSets 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.
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.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c0fd926. 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.
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.
Hosts in commands or code, which the agent is likely to contact:
googletagmanager.comAlso links to:
analytics.google.comFrom 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.
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.
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); files beside SKILL.md are not scanned.
The full file from ooiyeefei/ccc at commit c0fd926, republished under its MIT licence (© ooiyeefei). 1,046 words, ~2,159 tokens.
.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.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.
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):
G-XXXXXXXXXX)? If yes, paste it.Then go straight to the relevant section below. Skip what they've already done. Do NOT re-create anything that exists.
Getting the hierarchy wrong fragments data permanently, so settle it before creating anything.
/pricing or /waitlist does NOT get its own stream — it shares the site's stream, and you tell pages apart by page_path.page_path (automatic) or a custom dimension (e.g. plan_tier, product_area) on events — never with separate properties.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.
In analytics.google.com → Admin (gear):
G-XXXXXXXXXX. This is the one value the site's tag needs. Find it again anytime under Admin → Data streams → [your stream].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.
<!-- 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.
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.
<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>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.
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.
This is the step people skip and regret. Do a real submit on the live (or preview) site, then confirm the event actually landed:
?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.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.
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.
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
SKILL.md and 5 other files (references) in skills/google-analytics-setup of ooiyeefei/ccc.
Open the folder on GitHubat commit c0fd926
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Google Analytics 4 Setup this skillooiyeefei/ccc | 494 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Ad Conversion Tracking Setupminhnv0807/ai-business-skills | 608 | — | ~3.7k | Automated safety check: Pass | MIT | |
| XurlLeoYeAI/openclaw-master-skills | 2.2k | — | ~766 | Automated safety check: Pass | MIT | |
| Google SEO APIsAgriciDaniel/claude-seo | 18k | 1 repos | ~4.2k | Automated safety check: Pass | MIT | |
| AnalyticsNexus-JPF/note-companion | 869 | 6 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Google Analytics 4 AnalysisLichAmnesia/lich-skills | 234 | — | ~2k | Automated safety check: Notes | MIT |
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.
LeoYeAI/openclaw-master-skills
A Twitter research and content intelligence skill focused on attracting WordPress and Shopify clients.
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.
Nexus-JPF/note-companion
When the user wants to set up, improve, or audit analytics tracking and measurement.
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.
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…
ooiyeefei/ccc
Turns meeting recordings into notes with a chain of custody from audio to claim, auditing transcripts for gaps and low-confidence numbers and names.
ooiyeefei/ccc
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.
ooiyeefei/ccc
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.
ooiyeefei/ccc
Generates architecture diagrams as .excalidraw files by analyzing a codebase, with optional PNG or SVG export through Playwright.
ooiyeefei/ccc
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.
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.
Works with
Categories
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.