UTM Campaign Planner

Utm campaign plan

by Ootto-AI · MIT license · ★ 139 on GitHub

Utm campaign plan cover

Use when a campaign needs a consistent, approved way to label links so the team can distinguish sources and make later reporting possible. Trigger phrases include "plan our UTMs", "name campaign links", "make tracking links", "how…

---
name: utm-campaign-plan
description: Use when a campaign needs a consistent, approved way to label links so the team can distinguish sources and make later reporting possible. Trigger phrases include "plan our UTMs", "name campaign links", "make tracking links", "how should we tag creator links?", and "set up attribution for this launch". Do not use this to claim analytics access, create tracking without consent or policy review, or decide campaign strategy; use campaign-brief for the campaign source, paid-social-brief for media requirements, and social-analytics-report to interpret available data.
---

# UTM Campaign Plan

Create a small, consistent link taxonomy that answers real reporting questions without turning every URL into ungoverned tracking noise.

## 1. Start with the reporting question

Ask what decision the data should support, which destinations are approved, which channels and partners are involved, what analytics system consumes the links, and what naming convention already exists. If no reporting owner or system is known, document that limitation before issuing links.

## 2. Define the controlled vocabulary

Set clear allowed values for source, medium, campaign, content, and term only when each has a decision use. Use human-readable, stable naming. Separate owned social, paid social, creators, partners, and experiments so later reporting does not blend unlike traffic.

## 3. Issue a link register

Overview

Create a small, consistent link taxonomy that answers real reporting questions without turning every URL into ungoverned tracking noise.

Manual install (npx, ZIP)
Claude Codenpx skills add Ootto-AI/claude-content-skills --skill utm-campaign-plan -g -a claude-code
Claude Code (degit)npx degit Ootto-AI/claude-content-skills/skills/utm-campaign-plan#main ~/.claude/skills/utm-campaign-plan
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md3.2 KB
Read SKILL.md here
Ootto-AI/main1 file shown
SKILL.md
Show the full text46 lines

UTM Campaign Plan

Create a small, consistent link taxonomy that answers real reporting questions without turning every URL into ungoverned tracking noise.

1. Start with the reporting question

Ask what decision the data should support, which destinations are approved, which channels and partners are involved, what analytics system consumes the links, and what naming convention already exists. If no reporting owner or system is known, document that limitation before issuing links.

2. Define the controlled vocabulary

Set clear allowed values for source, medium, campaign, content, and term only when each has a decision use. Use human-readable, stable naming. Separate owned social, paid social, creators, partners, and experiments so later reporting does not blend unlike traffic.

For every link, provide the destination, intended placement, UTM values, owner, start and end context, and approval status. Include examples and invalid examples. Reserve a process for changes so a creator or operator does not silently alter the taxonomy.

4. Validate before use and review after

Check that URLs resolve to the approved destination, parameters are encoded correctly, and the same source is not represented by several names. After the campaign, compare link usage against the register and record any taxonomy correction for the next brief.

Hard rules

  • Do not create tracking links for unapproved destinations or campaigns.
  • Never put personal data, sensitive information, customer names, or private identifiers in UTM values.
  • Do not treat UTM tags as proof of conversion or causation.
  • Preserve existing analytics conventions unless an authorised owner approves a change.
  • Keep affiliate, paid, organic, creator, and partner traffic distinguishable.

Failure modes

Failure Do this instead
Every team member invents names Publish one controlled vocabulary and a shared register.
Parameters contain personal or sensitive data Use a non-identifying campaign label and keep sensitive data out of URLs.
A short link hides an unverified destination Validate the final redirect and approved landing page before sharing.
Reports blend creator and paid traffic Assign separate medium/source values and preserve them in the register.

Where it sits

Use campaign-brief to establish the campaign and paid-social-brief or influencer-partnerships to identify placements. Use this skill before cross-platform-distribution goes live. Use social-analytics-report and launch-retrospective to interpret the resulting labelled traffic honestly.

1---
2name: utm-campaign-plan
3description: Use when a campaign needs a consistent, approved way to label links so the team can distinguish sources and make later reporting possible. Trigger phrases include "plan our UTMs", "name campaign links", "make tracking links", "how should we tag creator links?", and "set up attribution for this launch". Do not use this to claim analytics access, create tracking without consent or policy review, or decide campaign strategy; use campaign-brief for the campaign source, paid-social-brief for media requirements, and social-analytics-report to interpret available data.
4---
5 
6# UTM Campaign Plan
7 
8Create a small, consistent link taxonomy that answers real reporting questions without turning every URL into ungoverned tracking noise.
9 
10## 1. Start with the reporting question
11 
12Ask what decision the data should support, which destinations are approved, which channels and partners are involved, what analytics system consumes the links, and what naming convention already exists. If no reporting owner or system is known, document that limitation before issuing links.
13 
14## 2. Define the controlled vocabulary
15 
16Set clear allowed values for source, medium, campaign, content, and term only when each has a decision use. Use human-readable, stable naming. Separate owned social, paid social, creators, partners, and experiments so later reporting does not blend unlike traffic.
17 
18## 3. Issue a link register
19 
20For every link, provide the destination, intended placement, UTM values, owner, start and end context, and approval status. Include examples and invalid examples. Reserve a process for changes so a creator or operator does not silently alter the taxonomy.
21 
22## 4. Validate before use and review after
23 
24Check that URLs resolve to the approved destination, parameters are encoded correctly, and the same source is not represented by several names. After the campaign, compare link usage against the register and record any taxonomy correction for the next brief.
25 
26## Hard rules
27 
28- Do not create tracking links for unapproved destinations or campaigns.
29- Never put personal data, sensitive information, customer names, or private identifiers in UTM values.
30- Do not treat UTM tags as proof of conversion or causation.
31- Preserve existing analytics conventions unless an authorised owner approves a change.
32- Keep affiliate, paid, organic, creator, and partner traffic distinguishable.
33 
34## Failure modes
35 
36| Failure | Do this instead |
37| --- | --- |
38| Every team member invents names | Publish one controlled vocabulary and a shared register. |
39| Parameters contain personal or sensitive data | Use a non-identifying campaign label and keep sensitive data out of URLs. |
40| A short link hides an unverified destination | Validate the final redirect and approved landing page before sharing. |
41| Reports blend creator and paid traffic | Assign separate medium/source values and preserve them in the register. |
42 
43## Where it sits
44 
45Use campaign-brief to establish the campaign and paid-social-brief or influencer-partnerships to identify placements. Use this skill before cross-platform-distribution goes live. Use social-analytics-report and launch-retrospective to interpret the resulting labelled traffic honestly.
46 
View all files on GitHub →

Details

License
MIT
Stars on the repo
★ 139
Checked
Source
Ootto-AI/claude-content-skills ↗
Creator
Ootto-AI · 36 listings
View creator

Similar skills

See all →
SkillAttribution AuditorAgriciDaniel/claude-ads · by AgriciDanielPaste the sales and spend numbers each ad platform claims, and get back a plain explanation of why they disagree and which figure to trust.★ 9.5k GitHub starsSkillGA4 Analytics Optimizerkostja94/marketing-skills · by kostja94When the user wants to set up, audit, or optimize analytics tracking (GA4, events, conversions). Also use when the user mentions "Google Analytics," "GA4," "event tracking," "conversions," "attribution model," "gtag," "data layer," "GA4 setup," "conversion tracking," "event setup," "User ID tracking," or "CTA attribution." For traffic insights, use traffic-analysis.★ 1k GitHub starsSkillFirst-Party Analytics SetupLeadMagic/gtm-skills · by LeadMagicSet up first-party tracking and analytics — website pixels, conversion tracking, UTM architecture, cookie consent, server-side tagging vs client-side, 1P vs 3P data strategy, and identity resolution. Use when setting up tracking, implementing pixels, building attribution, or preparing for privacy-first measurement. Triggers on: "pixel", "tracking", "conversion tracking", "first-party data", server-side tagging", "UTM", "cookie consent", "1P vs 3P", "identity resolution", or any tracking implementation request.★ 62 GitHub starsSkillWeb Analytics Setupcoreyhaines31/marketingskills · by coreyhaines31When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions "set up tracking," "GA4," "Google Analytics," "conversion tracking," "event tracking," "UTM parameters," "tag manager," "GTM," "analytics implementation," "tracking plan," "how do I measure this," "track conversions," "Mixpanel," "Segment," "are my events firing," or "analytics isn't working." Use this whenever someone asks how to know if something is working or wants to measure marketing results. For choosing attribution models, comparing multi-touch/MMM/incrementality, or reconciling conflicting numbers across tools, see attribution. For A/B test measurement, see ab-testing.★ 51.1k GitHub starsSkillSales Channel Attributioncoreyhaines31/marketingskills · by coreyhaines31Paste the conflicting numbers from your ad accounts, website stats and sales records; get back one honest read on which channels really drove sales and where to put your budget.★ 51.1k GitHub starsSkillAnalytics Tracking Setupdavila7/claude-code-templates · by davila7When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions "set up tracking," "GA4," "Google Analytics," "conversion tracking," "event tracking," "UTM parameters," "tag manager," "GTM," "analytics implementation," or "tracking plan." For A/B test measurement, see ab-test-setup.★ 32.3k GitHub stars

More from Ootto-AI

SkillHook Variant A/B GeneratorOotto-AI/claude-content-skills · by Ootto-AIGenerates two genuinely distinct hook variants for the same reel so you can post-test which opening actually wins. Use when the user says "give me two hooks to test", "A/B this hook", "which opening should I use", "hook variants".★ 139 GitHub starsSkillInternet Research RouterOotto-AI/claude-content-skills · by Ootto-AIMUST USE when user wants to 调研/research/搜索/search/查/找/look up anything on the internet — e.g. 全网调研 X / 帮我调研一下 X / 查一下 X / 搜搜 X / 看看大家怎么评价 X / X 上有什么讨论 / research this topic。 Also MUST USE when user mentions any platform or shares any URL/链接: 小红书/xiaohongshu/xhs, Twitter/推特/X, B站/bilibili, Reddit, V2EX, LinkedIn/领英/招聘/求职/jobs, YouTube, GitHub code search, 小宇宙播客, 雪球/股票行情, RSS feeds, or any web URL. 13 platforms, multi-backend routing (OpenCLI / per-platform CLIs / APIs). Zero config for 6 channels. Run `agent-reach doctor --json` to see which backend serves each platform right now. NOT for: 写报告/数据分析/翻译等内容加工(本 skill 只负责从互联网获取内容); 发帖/评论/点赞等写操作;已有专门 skill 的平台(先用专门 skill)。 【路由方式】SKILL.md 包含路由表和常用命令,复杂场景需按需阅读对应分类的 references/*.md。 分类:search / social (小红书/推特/B站/V2EX/Reddit) / career(LinkedIn) / dev(github) / web(网页/文章/RSS) / video(YouTube/B站/播客)。★ 139 GitHub starsSkillObsidian Long-Term MemoryOotto-AI/claude-content-skills · by Ootto-AIGive Claude a permanent, searchable long-term memory using an Obsidian vault as the store. At the end of a session, summarize what mattered and save it as a Markdown note in your "AI Brain" vault; at the start of a session (or on demand), read back only the relevant past notes. Local markdown you own — connected via the Filesystem MCP. Trigger with "wrap up", "save this session", or "remember this".★ 139 GitHub starsSkillAnalytics Readout TranslatorOotto-AI/claude-content-skills · by Ootto-AIReads your reel insights and explains in plain English what to make more of and what to stop — no jargon. Use when the user says "explain my analytics", "what do my numbers mean", "read my insights", "how did this reel do".★ 139 GitHub starsSkillSocial Audience PersonasOotto-AI/claude-content-skills · by Ootto-AIBuild evidence-led social audience personas from customer interviews, comments, reviews, or CRM notes.★ 139 GitHub starsSkillSocial Profile ConverterOotto-AI/claude-content-skills · by Ootto-AIRewrites your bio, name field and pinned-reel order to convert profile visits into follows and clicks. Use when the user says "rewrite my bio", "optimize my profile", "what should my bio say", "which reels should I pin".★ 139 GitHub stars