Skip to main content
ClaudeWave
EN, English
Skill1.1k repo starsupdated 8d ago

traffic-analysis

The traffic-analysis skill guides comprehensive website traffic analysis across organic, paid, social, referral, and direct channels. Use it to investigate traffic source attribution, identify dark traffic sources, segment branded versus non-branded organic traffic, detect bot traffic, and troubleshoot misattributed visits from private social platforms and email clients that strip referrer data.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/kostja94/marketing-skills /tmp/traffic-analysis && cp -r /tmp/traffic-analysis/skills/analytics/sources/traffic ~/.claude/skills/traffic-analysis
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Analytics: Traffic

Guides website traffic analysis across all channels (organic, paid, social, referral, direct). Covers traffic source attribution, dark traffic identification, and multi-channel reporting.

**When invoking**: On **first use**, if helpful, open with 1-2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output.

## Scope

- **Traffic sources**: Organic, paid, social, referral, direct, email
- **Dark traffic**: Unattributed visits labeled as "Direct / None"
- **Attribution**: UTM tagging, segmenting, reporting accuracy

## Branded vs. Non-Branded Traffic (Organic)

| Type | Characteristics |
|------|-----------------|
| **Branded** | Higher CTR, conversion, purchase intent; users closer to funnel bottom |
| **Non-branded** | Touchpoint with future users; most sites get more non-brand traffic; competition fiercer |

Brand traffic grows over time as brand awareness increases.

## Bot Traffic

A large share of traffic can be **bot traffic**—RPA, search crawlers, spiders, scrapers. Exclude or segment when evaluating real user behavior; use GA4 filters or segments to isolate human traffic.

## Traffic Channels

| Channel | Typical Sources | Attribution |
|---------|-----------------|-------------|
| **Organic** | Google, Bing, other search | Referrer preserved |
| **Paid (web)** | Google Ads, Meta Ads, etc. | UTM required |
| **Paid (app)** | App install ads; Google App Campaigns, Apple Search Ads | UTM; in-app events |
| **Paid (TV/CTV)** | Streaming ads; Hulu, Roku, YouTube TV | UTM for QR/URL; brand lift |
| **Social** | Public posts (Facebook, LinkedIn, etc.) | Often preserved |
| **Referral** | External sites, backlinks | Referrer preserved |
| **Direct** | Typed URL, bookmarks | No referrer |
| **Email** | Newsletters, campaigns | Often dark without UTM |

## Dark Traffic

### What It Is

Traffic without clear origin--analytics tools default to "Direct" when referrer is missing. Common causes:

- **Private/dark social**: WhatsApp, Messenger, Slack, Discord, TikTok shares
- **Email clients**: Many strip referrer headers
- **HTTPS->HTTP**: Referrer not passed
- **Mobile apps**: In-app browsers often omit referrer
- **Ad blockers, privacy tools**: Block tracking

### Misattribution (Research)

When traffic was sent from known sources, analytics often misattributed:

- **100% as direct**: TikTok, Slack, Discord, WhatsApp, Mastodon
- **75%**: Facebook Messenger
- **30%**: Instagram DMs
- **14%**: LinkedIn public posts
- **12%**: Pinterest

### Mitigation

| Action | Purpose |
|--------|---------|
| **UTM parameters** | Tag links in emails, social, campaigns: `?utm_source=X&utm_medium=Y&utm_campaign=Z` |
| **Block internal IPs** | Exclude company visits from reports |
| **Segment direct traffic** | Split by page type to estimate dark vs. genuine direct |

### Segmenting Direct Traffic

1. **Expected direct**: Homepage, short URLs, brand pages--likely real direct
2. **Unexpected direct**: Long URLs, deep pages, product pages--likely dark traffic
3. **Report separately**: Use segments in GA4/analytics to avoid overcounting direct

## Attribution for Channel Optimization

Ads, growth channels, and medium can be optimized by viewing **attribution data**. Clean UTM + conversion tracking feeds attribution models; reliable attribution drives budget allocation and channel decisions.

| Use | Action |
|-----|--------|
| **Optimize ads** | Compare paid channels (Google, Meta, LinkedIn) by attributed conversions; reallocate budget to winners |
| **Optimize growth channels** | Identify which medium (cpc, email, social, referral) drives conversions; scale what works |
| **Multi-touch attribution** | Requires clean UTM data; inconsistent tagging (e.g., `facebook` vs `Facebook`) fragments reports and misattributes |

**GA4 Default Channel Grouping**: Align `utm_medium` and `utm_source` with [GA4's rules](https://support.google.com/analytics/answer/9756891) to avoid "Unassigned" traffic. ~30% of campaigns lack proper UTM markup, leading to wasted ad spend; teams standardizing UTM see 29% improvement in attribution accuracy.

**Reference**: [UTM.io – utm_medium, utm_campaign & utm_source Optimization](https://web.utm.io/blog/utm_medium-utm_campaign-utm_source/), [UTMs for Marketing Attribution](https://web.utm.io/blog/utms-for-marketing-attribution/)

## UTM Best Practices

| Parameter | Use | Example |
|-----------|-----|---------|
| `utm_source` | Origin | `newsletter`, `facebook`, `google` |
| `utm_medium` | Channel type | `email`, `cpc`, `social` |
| `utm_campaign` | Campaign name | `summer_sale`, `product_launch` |
| `utm_content` | Variant (optional) | `banner_a`, `cta_button` |
| `utm_term` | Paid keyword (optional) | `running_shoes` |

**GA4 alignment** (avoid Unassigned):

| Channel | utm_medium | utm_source |
|---------|------------|------------|
| Paid Search | `cpc` | `google`, `bing` |
| Paid Social | `paid-social`, `cpc` | `facebook`, `instagram` |
| Email | `email` | `newsletter`, `mailchimp` |
| Organic Social | `social` | `twitter`, `linkedin` |
| App install | `cpc`, `app` | `google`, `facebook`, `apple` |
| CTV / Streaming | `video`, `ctv` | `hulu`, `roku`, `youtube` |
| Display / Banner | `display`, `cpc` | Publisher or network name |
| Directory ads | `paid`, `cpc` | `taaft`, `shopify`, `g2`, `capterra` |

- **Consistent naming**: Lowercase, hyphens; document conventions; never tag internal links (overwrites session attribution)
- **Apply everywhere**: Every link in emails, social posts, ads
- **Avoid**: Typos, inconsistent values; causes fragmentation

## Traffic Diversification

| Principle | Guideline |
|-----------|-----------|
| **Search share** | Keep organic search below ~75% of total traffic |
| **Health** | Higher direct + referral share = healthier profile |
| **Brand sites** | Diversified traffic is common for strong brands |
| **Engagement** | Con
about-page-generatorSkill

When the user wants to create, optimize, or audit About page content. Also use when the user mentions "about page," "about us," "company story," "our team," "about section," "company overview," "brand story," "team page," or "who we are." For sitewide page planning, use website-structure.

affiliate-marketingSkill

When the user wants to plan, implement, or optimize affiliate marketing strategy. Also use when the user mentions "affiliate marketing," "affiliate program strategy," "CPS model," "affiliate recruitment," "commission structure," "affiliate partners," "affiliate network," "affiliate tracking," "affiliate commission," or "partner marketing." For affiliate page, use affiliate-page-generator.

affiliate-page-generatorSkill

When the user wants to create, optimize, or audit affiliate program page content. Also use when the user mentions "affiliate program," "affiliate page," "partner program," "referral program page," "affiliate landing," "partner landing," "commission page," or "affiliate signup." For affiliate program strategy, use affiliate-marketing.

ai-traffic-trackingSkill

When the user wants to track AI search traffic in GA4 or GSC. Also use when the user mentions "AI traffic," "ChatGPT referral," "Perplexity traffic," "AI Overviews," "GA4 AI sources," "AI search analytics," "track AI referrals," "AI search traffic," "Claude traffic," or "how to track AI traffic." For AI SEO strategy, use generative-engine-optimization.

alternatives-page-generatorSkill

When the user wants to create, optimize, or audit alternatives or comparison content (page or blog article). Also use when the user mentions "alternatives page," "alternatives listicle," "X alternatives," "competitor comparison," "vs page," "compare page," "best alternatives to X," "switch from X," "competitor brand traffic," "brand keyword ads," or "intercept competitor search." For competitor research, use competitor-research.

analytics-trackingSkill

When 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.

api-page-generatorSkill

When the user wants to create, optimize, or audit the API introduction/overview page. Also use when the user mentions "API page," "API landing page," "/api page," "API overview," "developer landing," "API marketing," or "API for developers." Note: API documentation (endpoint reference) lives in docs; use docs-page-generator.

article-contentSkill

When the user wants to write, generate, or create article body content—blog post body, long-form content, how-to guide, listicle. Also use when the user mentions "write article," "article content," "blog post content," "article body," "long-form content creation," "generate article," "article draft," "how-to guide content," "listicle content," "information gain," or "content density." For single post page structure, schema, and SEO metadata, use article-page-generator. For blog index/listing page, use blog-page-generator. For short ad, landing, or email copy, use copywriting.