Design UTM naming conventions and campaign tracking systems for marketing attribution. Use when setting up tracking, standardizing naming, or improving attribution data quality.
From everything-claude-marketingnpx claudepluginhub brainbytes-dev/everything-claude-marketing --plugin everything-claude-marketingThis skill uses the workspace's default tool permissions.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Configures Prometheus for metric scraping from apps/node exporters/Kubernetes pods, alerting rules, and monitoring. Includes Helm Kubernetes and Docker Compose installs.
Use this skill when setting up UTM tracking for a new marketing program, designing or standardizing naming conventions, building campaign tracking systems, auditing existing UTM data for inconsistencies, troubleshooting attribution issues in analytics, creating UTM governance documentation for a team, or when someone asks about "campaign tracking," "UTM parameters," or "attribution setup." Also activate when analytics data is unreliable due to inconsistent or missing tracking.
Before designing a UTM system, clarify:
utm_source — Where the traffic comes from.
google, facebook, linkedin, newsletter, partner-nameutm_medium — How the traffic arrives.
cpc, email, social, display, affiliate, referral, videoutm_campaign — Why the traffic is being sent.
spring-sale-2026, product-launch-q1, webinar-seo-masterclass, brand-awareness-nautm_term — The keyword or targeting criteria.
crm-software (keyword), cmo-saas-50-200 (audience segment), retargeting-30dayutm_content — What specific element the click came from.
hero-cta, sidebar-banner, version-a, image-ad-blue, footer-linkutm_medium is broadest (channel), utm_content is most specific (individual element).spring-sale not Spring-Saleproduct-launch not product_launch or productlaunch&, %, #, +, or accented charactersYYYY-MM or QXYYYY (e.g., 2026-03 or q1-2026)brand-awareness not baUse these standardized values to align with GA4's default channel groupings:
| Medium Value | Channel | Usage |
|---|---|---|
cpc | Paid Search | Google Ads, Bing Ads — cost-per-click campaigns |
ppc | Paid Search | Alternative to cpc (pick one and stick with it) |
display | Display | Banner ads, programmatic display |
cpm | Display | Cost-per-impression display campaigns |
social | Organic Social | Unpaid social media posts |
paid-social | Paid Social | Facebook/Meta Ads, LinkedIn Ads, TikTok Ads |
email | Email campaigns and newsletters | |
affiliate | Affiliates | Affiliate partner links |
referral | Referral | Partner referrals, guest posts, press |
video | Video | YouTube, Vimeo, or other video platform campaigns |
podcast | Audio | Podcast sponsorships or own podcast links |
qr | Offline | QR codes on physical materials |
sms | SMS | Text message campaigns |
utm_source=google
utm_medium=cpc
utm_campaign={campaign-name-with-context}
utm_term={keyword or ad group}
utm_content={ad-variant}
Example: ?utm_source=google&utm_medium=cpc&utm_campaign=crm-demo-request-na&utm_term=best-crm-software&utm_content=responsive-ad-v2
utm_source={platform}
utm_medium=paid-social
utm_campaign={campaign-name}
utm_term={audience-segment}
utm_content={ad-creative-identifier}
Example: ?utm_source=facebook&utm_medium=paid-social&utm_campaign=webinar-seo-q1-2026&utm_term=marketers-us-25-45&utm_content=video-testimonial-v1
utm_source=newsletter OR {email-platform}
utm_medium=email
utm_campaign={email-campaign-name}
utm_content={link-position or variant}
Example: ?utm_source=newsletter&utm_medium=email&utm_campaign=weekly-digest-2026-03-14&utm_content=hero-cta
utm_source={platform}
utm_medium=social
utm_campaign={campaign-or-content-theme}
utm_content={post-type or identifier}
Example: ?utm_source=linkedin&utm_medium=social&utm_campaign=thought-leadership-q1&utm_content=carousel-seo-tips
utm_source={creator-name or platform}
utm_medium=influencer
utm_campaign={campaign-name}
utm_content={content-type}
Example: ?utm_source=creator-sarahchen&utm_medium=influencer&utm_campaign=product-launch-march&utm_content=youtube-review
utm_source={event-or-material}
utm_medium=qr OR offline
utm_campaign={campaign-name}
utm_content={specific-placement}
Example: ?utm_source=saastr-2026&utm_medium=qr&utm_campaign=conference-lead-gen&utm_content=booth-banner
| Column | Purpose | Example |
|---|---|---|
| Date Created | When the URL was built | 2026-03-14 |
| Campaign Name | Human-readable campaign reference | Spring Webinar Series |
| Destination URL | Where the link goes | https://example.com/webinar |
| utm_source | Source parameter | |
| utm_medium | Medium parameter | paid-social |
| utm_campaign | Campaign parameter | webinar-seo-q1-2026 |
| utm_term | Term parameter (optional) | marketers-na |
| utm_content | Content parameter (optional) | video-ad-v1 |
| Full URL | Auto-generated complete URL | [full tagged URL] |
| Short URL | Shortened version | https://brand.link/seo-webinar |
| Owner | Who created it | Jane D. |
| Notes | Context or special instructions | A/B testing ad creative |
| Mistake | Impact | Fix |
|---|---|---|
| Inconsistent capitalization | Splits data across multiple entries | Enforce lowercase always. Use a tool that auto-lowercases. |
| Different names for same source | "facebook" vs "fb" vs "Facebook" vs "meta" | Publish an approved values list. Lock it down. |
| UTMs on internal links | Restarts sessions, destroys attribution | Use event tracking or internal tagging for internal navigation. |
| Too granular | Report becomes unreadable, patterns invisible | Aggregate at the right level. Use utm_content for detail, not utm_campaign. |
| Missing UTMs on campaigns | Traffic shows as "direct" or "referral" | Make UTM tagging a mandatory step in campaign launch checklists. |
| Spaces in UTM values | URLs break or encode oddly | Use hyphens. Automate URL building to prevent manual errors. |
| No documentation | New team members guess, create inconsistencies | Maintain a living naming convention doc. |
| UTMs in organic search links | Overrides organic search attribution | Never add UTMs to pages that should be found via SEO. |
| Vanity URLs without UTMs | Lose tracking on branded short links | Always redirect vanity URLs through UTM-tagged URLs. |
utm_medium as the primary classifier. Use standard medium values to ensure correct channel assignment.For teams managing hundreds of campaigns, add a campaign ID system alongside UTMs:
C-2026-0347C-{YYYY}-{sequential number}Before launching any campaign with tracking URLs:
Every team should maintain a living document containing:
Vanity URLs (e.g., brand.com/webinar) are great for offline and spoken media but must be properly tracked:
brand.com/webinar → brand.com/events/seo-webinar?utm_source=conference&utm_medium=qr&utm_campaign=saastr-2026/webinar, /demo, /guideBefore delivering a UTM tracking system or naming convention: