Refactor remaining skills for progressive disclosure
Phase 2 refactoring of skills >500 lines and medium-sized skills: - paid-ads: 553 → 297 lines - Extract ad-copy-templates.md, audience-targeting.md, platform-setup-checklists.md - analytics-tracking: 541 → 292 lines - Extract ga4-implementation.md, gtm-implementation.md, event-library.md - ab-test-setup: 510 → 264 lines - Extract test-templates.md, sample-size-guide.md - copywriting: 458 → 248 lines - Extract copy-frameworks.md (headline formulas, section types) - page-cro: 336 → 180 lines - Extract experiments.md (experiment ideas by page type) - onboarding-cro: 435 → 218 lines - Extract experiments.md (onboarding experiment ideas) All skills now use progressive disclosure with references/ folders, keeping SKILL.md files focused on core workflow while detailed content is available when needed. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -14,20 +14,9 @@ If `.claude/product-marketing-context.md` exists, read it before asking question
|
||||
|
||||
Before designing a test, understand:
|
||||
|
||||
1. **Test Context**
|
||||
- What are you trying to improve?
|
||||
- What change are you considering?
|
||||
- What made you want to test this?
|
||||
|
||||
2. **Current State**
|
||||
- Baseline conversion rate?
|
||||
- Current traffic volume?
|
||||
- Any historical test data?
|
||||
|
||||
3. **Constraints**
|
||||
- Technical implementation complexity?
|
||||
- Timeline requirements?
|
||||
- Tools available?
|
||||
1. **Test Context** - What are you trying to improve? What change are you considering?
|
||||
2. **Current State** - Baseline conversion rate? Current traffic volume?
|
||||
3. **Constraints** - Technical complexity? Timeline? Tools available?
|
||||
|
||||
---
|
||||
|
||||
@@ -41,7 +30,6 @@ Before designing a test, understand:
|
||||
### 2. Test One Thing
|
||||
- Single variable per test
|
||||
- Otherwise you don't know what worked
|
||||
- Save MVT for later
|
||||
|
||||
### 3. Statistical Rigor
|
||||
- Pre-determine sample size
|
||||
@@ -67,81 +55,41 @@ for [audience].
|
||||
We'll know this is true when [metrics].
|
||||
```
|
||||
|
||||
### Examples
|
||||
### Example
|
||||
|
||||
**Weak hypothesis:**
|
||||
"Changing the button color might increase clicks."
|
||||
**Weak**: "Changing the button color might increase clicks."
|
||||
|
||||
**Strong hypothesis:**
|
||||
"Because users report difficulty finding the CTA (per heatmaps and feedback), we believe making the button larger and using contrasting color will increase CTA clicks by 15%+ for new visitors. We'll measure click-through rate from page view to signup start."
|
||||
|
||||
### Good Hypotheses Include
|
||||
|
||||
- **Observation**: What prompted this idea
|
||||
- **Change**: Specific modification
|
||||
- **Effect**: Expected outcome and direction
|
||||
- **Audience**: Who this applies to
|
||||
- **Metric**: How you'll measure success
|
||||
**Strong**: "Because users report difficulty finding the CTA (per heatmaps and feedback), we believe making the button larger and using contrasting color will increase CTA clicks by 15%+ for new visitors. We'll measure click-through rate from page view to signup start."
|
||||
|
||||
---
|
||||
|
||||
## Test Types
|
||||
|
||||
### A/B Test (Split Test)
|
||||
- Two versions: Control (A) vs. Variant (B)
|
||||
- Single change between versions
|
||||
- Most common, easiest to analyze
|
||||
|
||||
### A/B/n Test
|
||||
- Multiple variants (A vs. B vs. C...)
|
||||
- Requires more traffic
|
||||
- Good for testing several options
|
||||
|
||||
### Multivariate Test (MVT)
|
||||
- Multiple changes in combinations
|
||||
- Tests interactions between changes
|
||||
- Requires significantly more traffic
|
||||
- Complex analysis
|
||||
|
||||
### Split URL Test
|
||||
- Different URLs for variants
|
||||
- Good for major page changes
|
||||
- Easier implementation sometimes
|
||||
| Type | Description | Traffic Needed |
|
||||
|------|-------------|----------------|
|
||||
| A/B | Two versions, single change | Moderate |
|
||||
| A/B/n | Multiple variants | Higher |
|
||||
| MVT | Multiple changes in combinations | Very high |
|
||||
| Split URL | Different URLs for variants | Moderate |
|
||||
|
||||
---
|
||||
|
||||
## Sample Size Calculation
|
||||
|
||||
### Inputs Needed
|
||||
|
||||
1. **Baseline conversion rate**: Your current rate
|
||||
2. **Minimum detectable effect (MDE)**: Smallest change worth detecting
|
||||
3. **Statistical significance level**: Usually 95%
|
||||
4. **Statistical power**: Usually 80%
|
||||
## Sample Size
|
||||
|
||||
### Quick Reference
|
||||
|
||||
| Baseline Rate | 10% Lift | 20% Lift | 50% Lift |
|
||||
|---------------|----------|----------|----------|
|
||||
| Baseline | 10% Lift | 20% Lift | 50% Lift |
|
||||
|----------|----------|----------|----------|
|
||||
| 1% | 150k/variant | 39k/variant | 6k/variant |
|
||||
| 3% | 47k/variant | 12k/variant | 2k/variant |
|
||||
| 5% | 27k/variant | 7k/variant | 1.2k/variant |
|
||||
| 10% | 12k/variant | 3k/variant | 550/variant |
|
||||
|
||||
### Formula Resources
|
||||
- Evan Miller's calculator: https://www.evanmiller.org/ab-testing/sample-size.html
|
||||
- Optimizely's calculator: https://www.optimizely.com/sample-size-calculator/
|
||||
**Calculators:**
|
||||
- [Evan Miller's](https://www.evanmiller.org/ab-testing/sample-size.html)
|
||||
- [Optimizely's](https://www.optimizely.com/sample-size-calculator/)
|
||||
|
||||
### Test Duration
|
||||
|
||||
```
|
||||
Duration = Sample size needed per variant × Number of variants
|
||||
───────────────────────────────────────────────────
|
||||
Daily traffic to test page × Conversion rate
|
||||
```
|
||||
|
||||
Minimum: 1-2 business cycles (usually 1-2 weeks)
|
||||
Maximum: Avoid running too long (novelty effects, external factors)
|
||||
**For detailed sample size tables and duration calculations**: See [references/sample-size-guide.md](references/sample-size-guide.md)
|
||||
|
||||
---
|
||||
|
||||
@@ -155,228 +103,106 @@ Maximum: Avoid running too long (novelty effects, external factors)
|
||||
### Secondary Metrics
|
||||
- Support primary metric interpretation
|
||||
- Explain why/how the change worked
|
||||
- Help understand user behavior
|
||||
|
||||
### Guardrail Metrics
|
||||
- Things that shouldn't get worse
|
||||
- Revenue, retention, satisfaction
|
||||
- Stop test if significantly negative
|
||||
|
||||
### Metric Examples by Test Type
|
||||
|
||||
**Homepage CTA test:**
|
||||
- Primary: CTA click-through rate
|
||||
- Secondary: Time to click, scroll depth
|
||||
- Guardrail: Bounce rate, downstream conversion
|
||||
|
||||
**Pricing page test:**
|
||||
- Primary: Plan selection rate
|
||||
- Secondary: Time on page, plan distribution
|
||||
- Guardrail: Support tickets, refund rate
|
||||
|
||||
**Signup flow test:**
|
||||
- Primary: Signup completion rate
|
||||
- Secondary: Field-level completion, time to complete
|
||||
- Guardrail: User activation rate (post-signup quality)
|
||||
### Example: Pricing Page Test
|
||||
- **Primary**: Plan selection rate
|
||||
- **Secondary**: Time on page, plan distribution
|
||||
- **Guardrail**: Support tickets, refund rate
|
||||
|
||||
---
|
||||
|
||||
## Designing Variants
|
||||
|
||||
### Control (A)
|
||||
- Current experience, unchanged
|
||||
- Don't modify during test
|
||||
### What to Vary
|
||||
|
||||
### Variant (B+)
|
||||
| Category | Examples |
|
||||
|----------|----------|
|
||||
| Headlines/Copy | Message angle, value prop, specificity, tone |
|
||||
| Visual Design | Layout, color, images, hierarchy |
|
||||
| CTA | Button copy, size, placement, number |
|
||||
| Content | Information included, order, amount, social proof |
|
||||
|
||||
**Best practices:**
|
||||
### Best Practices
|
||||
- Single, meaningful change
|
||||
- Bold enough to make a difference
|
||||
- True to the hypothesis
|
||||
|
||||
**What to vary:**
|
||||
|
||||
Headlines/Copy:
|
||||
- Message angle
|
||||
- Value proposition
|
||||
- Specificity level
|
||||
- Tone/voice
|
||||
|
||||
Visual Design:
|
||||
- Layout structure
|
||||
- Color and contrast
|
||||
- Image selection
|
||||
- Visual hierarchy
|
||||
|
||||
CTA:
|
||||
- Button copy
|
||||
- Size/prominence
|
||||
- Placement
|
||||
- Number of CTAs
|
||||
|
||||
Content:
|
||||
- Information included
|
||||
- Order of information
|
||||
- Amount of content
|
||||
- Social proof type
|
||||
|
||||
### Documenting Variants
|
||||
|
||||
```
|
||||
Control (A):
|
||||
- Screenshot
|
||||
- Description of current state
|
||||
|
||||
Variant (B):
|
||||
- Screenshot or mockup
|
||||
- Specific changes made
|
||||
- Hypothesis for why this will win
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Traffic Allocation
|
||||
|
||||
### Standard Split
|
||||
- 50/50 for A/B test
|
||||
- Equal split for multiple variants
|
||||
| Approach | Split | When to Use |
|
||||
|----------|-------|-------------|
|
||||
| Standard | 50/50 | Default for A/B |
|
||||
| Conservative | 90/10, 80/20 | Limit risk of bad variant |
|
||||
| Ramping | Start small, increase | Technical risk mitigation |
|
||||
|
||||
### Conservative Rollout
|
||||
- 90/10 or 80/20 initially
|
||||
- Limits risk of bad variant
|
||||
- Longer to reach significance
|
||||
|
||||
### Ramping
|
||||
- Start small, increase over time
|
||||
- Good for technical risk mitigation
|
||||
- Most tools support this
|
||||
|
||||
### Considerations
|
||||
**Considerations:**
|
||||
- Consistency: Users see same variant on return
|
||||
- Segment sizes: Ensure segments are large enough
|
||||
- Time of day/week: Balanced exposure
|
||||
- Balanced exposure across time of day/week
|
||||
|
||||
---
|
||||
|
||||
## Implementation Approaches
|
||||
## Implementation
|
||||
|
||||
### Client-Side Testing
|
||||
|
||||
**Tools**: PostHog, Optimizely, VWO, custom
|
||||
|
||||
**How it works**:
|
||||
### Client-Side
|
||||
- JavaScript modifies page after load
|
||||
- Quick to implement
|
||||
- Can cause flicker
|
||||
- Quick to implement, can cause flicker
|
||||
- Tools: PostHog, Optimizely, VWO
|
||||
|
||||
**Best for**:
|
||||
- Marketing pages
|
||||
- Copy/visual changes
|
||||
- Quick iteration
|
||||
|
||||
### Server-Side Testing
|
||||
|
||||
**Tools**: PostHog, LaunchDarkly, Split, custom
|
||||
|
||||
**How it works**:
|
||||
- Variant determined before page renders
|
||||
- No flicker
|
||||
- Requires development work
|
||||
|
||||
**Best for**:
|
||||
- Product features
|
||||
- Complex changes
|
||||
- Performance-sensitive pages
|
||||
|
||||
### Feature Flags
|
||||
|
||||
- Binary on/off (not true A/B)
|
||||
- Good for rollouts
|
||||
- Can convert to A/B with percentage split
|
||||
### Server-Side
|
||||
- Variant determined before render
|
||||
- No flicker, requires dev work
|
||||
- Tools: PostHog, LaunchDarkly, Split
|
||||
|
||||
---
|
||||
|
||||
## Running the Test
|
||||
|
||||
### Pre-Launch Checklist
|
||||
|
||||
- [ ] Hypothesis documented
|
||||
- [ ] Primary metric defined
|
||||
- [ ] Sample size calculated
|
||||
- [ ] Test duration estimated
|
||||
- [ ] Variants implemented correctly
|
||||
- [ ] Tracking verified
|
||||
- [ ] QA completed on all variants
|
||||
- [ ] Stakeholders informed
|
||||
|
||||
### During the Test
|
||||
|
||||
**DO:**
|
||||
- Monitor for technical issues
|
||||
- Check segment quality
|
||||
- Document any external factors
|
||||
- Document external factors
|
||||
|
||||
**DON'T:**
|
||||
- Peek at results and stop early
|
||||
- Make changes to variants
|
||||
- Add traffic from new sources
|
||||
- End early because you "know" the answer
|
||||
|
||||
### Peeking Problem
|
||||
|
||||
Looking at results before reaching sample size and stopping when you see significance leads to:
|
||||
- False positives
|
||||
- Inflated effect sizes
|
||||
- Wrong decisions
|
||||
|
||||
**Solutions:**
|
||||
- Pre-commit to sample size and stick to it
|
||||
- Use sequential testing if you must peek
|
||||
- Trust the process
|
||||
### The Peeking Problem
|
||||
Looking at results before reaching sample size and stopping early leads to false positives and wrong decisions. Pre-commit to sample size and trust the process.
|
||||
|
||||
---
|
||||
|
||||
## Analyzing Results
|
||||
|
||||
### Statistical Significance
|
||||
|
||||
- 95% confidence = p-value < 0.05
|
||||
- Means: <5% chance result is random
|
||||
- Means <5% chance result is random
|
||||
- Not a guarantee—just a threshold
|
||||
|
||||
### Practical Significance
|
||||
### Analysis Checklist
|
||||
|
||||
Statistical ≠ Practical
|
||||
|
||||
- Is the effect size meaningful for business?
|
||||
- Is it worth the implementation cost?
|
||||
- Is it sustainable over time?
|
||||
|
||||
### What to Look At
|
||||
|
||||
1. **Did you reach sample size?**
|
||||
- If not, result is preliminary
|
||||
|
||||
2. **Is it statistically significant?**
|
||||
- Check confidence intervals
|
||||
- Check p-value
|
||||
|
||||
3. **Is the effect size meaningful?**
|
||||
- Compare to your MDE
|
||||
- Project business impact
|
||||
|
||||
4. **Are secondary metrics consistent?**
|
||||
- Do they support the primary?
|
||||
- Any unexpected effects?
|
||||
|
||||
5. **Any guardrail concerns?**
|
||||
- Did anything get worse?
|
||||
- Long-term risks?
|
||||
|
||||
6. **Segment differences?**
|
||||
- Mobile vs. desktop?
|
||||
- New vs. returning?
|
||||
- Traffic source?
|
||||
1. **Reach sample size?** If not, result is preliminary
|
||||
2. **Statistically significant?** Check confidence intervals
|
||||
3. **Effect size meaningful?** Compare to MDE, project impact
|
||||
4. **Secondary metrics consistent?** Support the primary?
|
||||
5. **Guardrail concerns?** Anything get worse?
|
||||
6. **Segment differences?** Mobile vs. desktop? New vs. returning?
|
||||
|
||||
### Interpreting Results
|
||||
|
||||
@@ -389,84 +215,15 @@ Statistical ≠ Practical
|
||||
|
||||
---
|
||||
|
||||
## Documenting and Learning
|
||||
## Documentation
|
||||
|
||||
### Test Documentation
|
||||
Document every test with:
|
||||
- Hypothesis
|
||||
- Variants (with screenshots)
|
||||
- Results (sample, metrics, significance)
|
||||
- Decision and learnings
|
||||
|
||||
```
|
||||
Test Name: [Name]
|
||||
Test ID: [ID in testing tool]
|
||||
Dates: [Start] - [End]
|
||||
Owner: [Name]
|
||||
|
||||
Hypothesis:
|
||||
[Full hypothesis statement]
|
||||
|
||||
Variants:
|
||||
- Control: [Description + screenshot]
|
||||
- Variant: [Description + screenshot]
|
||||
|
||||
Results:
|
||||
- Sample size: [achieved vs. target]
|
||||
- Primary metric: [control] vs. [variant] ([% change], [confidence])
|
||||
- Secondary metrics: [summary]
|
||||
- Segment insights: [notable differences]
|
||||
|
||||
Decision: [Winner/Loser/Inconclusive]
|
||||
Action: [What we're doing]
|
||||
|
||||
Learnings:
|
||||
[What we learned, what to test next]
|
||||
```
|
||||
|
||||
### Building a Learning Repository
|
||||
|
||||
- Central location for all tests
|
||||
- Searchable by page, element, outcome
|
||||
- Prevents re-running failed tests
|
||||
- Builds institutional knowledge
|
||||
|
||||
---
|
||||
|
||||
## Output Format
|
||||
|
||||
### Test Plan Document
|
||||
|
||||
```
|
||||
# A/B Test: [Name]
|
||||
|
||||
## Hypothesis
|
||||
[Full hypothesis using framework]
|
||||
|
||||
## Test Design
|
||||
- Type: A/B / A/B/n / MVT
|
||||
- Duration: X weeks
|
||||
- Sample size: X per variant
|
||||
- Traffic allocation: 50/50
|
||||
|
||||
## Variants
|
||||
[Control and variant descriptions with visuals]
|
||||
|
||||
## Metrics
|
||||
- Primary: [metric and definition]
|
||||
- Secondary: [list]
|
||||
- Guardrails: [list]
|
||||
|
||||
## Implementation
|
||||
- Method: Client-side / Server-side
|
||||
- Tool: [Tool name]
|
||||
- Dev requirements: [If any]
|
||||
|
||||
## Analysis Plan
|
||||
- Success criteria: [What constitutes a win]
|
||||
- Segment analysis: [Planned segments]
|
||||
```
|
||||
|
||||
### Results Summary
|
||||
When test is complete
|
||||
|
||||
### Recommendations
|
||||
Next steps based on results
|
||||
**For templates**: See [references/test-templates.md](references/test-templates.md)
|
||||
|
||||
---
|
||||
|
||||
@@ -476,19 +233,16 @@ Next steps based on results
|
||||
- Testing too small a change (undetectable)
|
||||
- Testing too many things (can't isolate)
|
||||
- No clear hypothesis
|
||||
- Wrong audience
|
||||
|
||||
### Execution
|
||||
- Stopping early
|
||||
- Changing things mid-test
|
||||
- Not checking implementation
|
||||
- Uneven traffic allocation
|
||||
|
||||
### Analysis
|
||||
- Ignoring confidence intervals
|
||||
- Cherry-picking segments
|
||||
- Over-interpreting inconclusive results
|
||||
- Not considering practical significance
|
||||
|
||||
---
|
||||
|
||||
|
||||
252
skills/ab-test-setup/references/sample-size-guide.md
Normal file
252
skills/ab-test-setup/references/sample-size-guide.md
Normal file
@@ -0,0 +1,252 @@
|
||||
# Sample Size Guide
|
||||
|
||||
Reference for calculating sample sizes and test duration.
|
||||
|
||||
## Sample Size Fundamentals
|
||||
|
||||
### Required Inputs
|
||||
|
||||
1. **Baseline conversion rate**: Your current rate
|
||||
2. **Minimum detectable effect (MDE)**: Smallest change worth detecting
|
||||
3. **Statistical significance level**: Usually 95% (α = 0.05)
|
||||
4. **Statistical power**: Usually 80% (β = 0.20)
|
||||
|
||||
### What These Mean
|
||||
|
||||
**Baseline conversion rate**: If your page converts at 5%, that's your baseline.
|
||||
|
||||
**MDE (Minimum Detectable Effect)**: The smallest improvement you care about detecting. Set this based on:
|
||||
- Business impact (is a 5% lift meaningful?)
|
||||
- Implementation cost (worth the effort?)
|
||||
- Realistic expectations (what have past tests shown?)
|
||||
|
||||
**Statistical significance (95%)**: Means there's less than 5% chance the observed difference is due to random chance.
|
||||
|
||||
**Statistical power (80%)**: Means if there's a real effect of size MDE, you have 80% chance of detecting it.
|
||||
|
||||
---
|
||||
|
||||
## Sample Size Quick Reference Tables
|
||||
|
||||
### Conversion Rate: 1%
|
||||
|
||||
| Lift to Detect | Sample per Variant | Total Sample |
|
||||
|----------------|-------------------|--------------|
|
||||
| 5% (1% → 1.05%) | 1,500,000 | 3,000,000 |
|
||||
| 10% (1% → 1.1%) | 380,000 | 760,000 |
|
||||
| 20% (1% → 1.2%) | 97,000 | 194,000 |
|
||||
| 50% (1% → 1.5%) | 16,000 | 32,000 |
|
||||
| 100% (1% → 2%) | 4,200 | 8,400 |
|
||||
|
||||
### Conversion Rate: 3%
|
||||
|
||||
| Lift to Detect | Sample per Variant | Total Sample |
|
||||
|----------------|-------------------|--------------|
|
||||
| 5% (3% → 3.15%) | 480,000 | 960,000 |
|
||||
| 10% (3% → 3.3%) | 120,000 | 240,000 |
|
||||
| 20% (3% → 3.6%) | 31,000 | 62,000 |
|
||||
| 50% (3% → 4.5%) | 5,200 | 10,400 |
|
||||
| 100% (3% → 6%) | 1,400 | 2,800 |
|
||||
|
||||
### Conversion Rate: 5%
|
||||
|
||||
| Lift to Detect | Sample per Variant | Total Sample |
|
||||
|----------------|-------------------|--------------|
|
||||
| 5% (5% → 5.25%) | 280,000 | 560,000 |
|
||||
| 10% (5% → 5.5%) | 72,000 | 144,000 |
|
||||
| 20% (5% → 6%) | 18,000 | 36,000 |
|
||||
| 50% (5% → 7.5%) | 3,100 | 6,200 |
|
||||
| 100% (5% → 10%) | 810 | 1,620 |
|
||||
|
||||
### Conversion Rate: 10%
|
||||
|
||||
| Lift to Detect | Sample per Variant | Total Sample |
|
||||
|----------------|-------------------|--------------|
|
||||
| 5% (10% → 10.5%) | 130,000 | 260,000 |
|
||||
| 10% (10% → 11%) | 34,000 | 68,000 |
|
||||
| 20% (10% → 12%) | 8,700 | 17,400 |
|
||||
| 50% (10% → 15%) | 1,500 | 3,000 |
|
||||
| 100% (10% → 20%) | 400 | 800 |
|
||||
|
||||
### Conversion Rate: 20%
|
||||
|
||||
| Lift to Detect | Sample per Variant | Total Sample |
|
||||
|----------------|-------------------|--------------|
|
||||
| 5% (20% → 21%) | 60,000 | 120,000 |
|
||||
| 10% (20% → 22%) | 16,000 | 32,000 |
|
||||
| 20% (20% → 24%) | 4,000 | 8,000 |
|
||||
| 50% (20% → 30%) | 700 | 1,400 |
|
||||
| 100% (20% → 40%) | 200 | 400 |
|
||||
|
||||
---
|
||||
|
||||
## Duration Calculator
|
||||
|
||||
### Formula
|
||||
|
||||
```
|
||||
Duration (days) = (Sample per variant × Number of variants) / (Daily traffic × % exposed)
|
||||
```
|
||||
|
||||
### Examples
|
||||
|
||||
**Scenario 1: High-traffic page**
|
||||
- Need: 10,000 per variant (2 variants = 20,000 total)
|
||||
- Daily traffic: 5,000 visitors
|
||||
- 100% exposed to test
|
||||
- Duration: 20,000 / 5,000 = **4 days**
|
||||
|
||||
**Scenario 2: Medium-traffic page**
|
||||
- Need: 30,000 per variant (60,000 total)
|
||||
- Daily traffic: 2,000 visitors
|
||||
- 100% exposed
|
||||
- Duration: 60,000 / 2,000 = **30 days**
|
||||
|
||||
**Scenario 3: Low-traffic with partial exposure**
|
||||
- Need: 15,000 per variant (30,000 total)
|
||||
- Daily traffic: 500 visitors
|
||||
- 50% exposed to test
|
||||
- Effective daily: 250
|
||||
- Duration: 30,000 / 250 = **120 days** (too long!)
|
||||
|
||||
### Minimum Duration Rules
|
||||
|
||||
Even with sufficient sample size, run tests for at least:
|
||||
- **1 full week**: To capture day-of-week variation
|
||||
- **2 business cycles**: If B2B (weekday vs. weekend patterns)
|
||||
- **Through paydays**: If e-commerce (beginning/end of month)
|
||||
|
||||
### Maximum Duration Guidelines
|
||||
|
||||
Avoid running tests longer than 4-8 weeks:
|
||||
- Novelty effects wear off
|
||||
- External factors intervene
|
||||
- Opportunity cost of other tests
|
||||
|
||||
---
|
||||
|
||||
## Online Calculators
|
||||
|
||||
### Recommended Tools
|
||||
|
||||
**Evan Miller's Calculator**
|
||||
https://www.evanmiller.org/ab-testing/sample-size.html
|
||||
- Simple interface
|
||||
- Bookmark-worthy
|
||||
|
||||
**Optimizely's Calculator**
|
||||
https://www.optimizely.com/sample-size-calculator/
|
||||
- Business-friendly language
|
||||
- Duration estimates
|
||||
|
||||
**AB Test Guide Calculator**
|
||||
https://www.abtestguide.com/calc/
|
||||
- Includes Bayesian option
|
||||
- Multiple test types
|
||||
|
||||
**VWO Duration Calculator**
|
||||
https://vwo.com/tools/ab-test-duration-calculator/
|
||||
- Duration-focused
|
||||
- Good for planning
|
||||
|
||||
---
|
||||
|
||||
## Adjusting for Multiple Variants
|
||||
|
||||
With more than 2 variants (A/B/n tests), you need more sample:
|
||||
|
||||
| Variants | Multiplier |
|
||||
|----------|------------|
|
||||
| 2 (A/B) | 1x |
|
||||
| 3 (A/B/C) | ~1.5x |
|
||||
| 4 (A/B/C/D) | ~2x |
|
||||
| 5+ | Consider reducing variants |
|
||||
|
||||
**Why?** More comparisons increase chance of false positives. You're comparing:
|
||||
- A vs B
|
||||
- A vs C
|
||||
- B vs C (sometimes)
|
||||
|
||||
Apply Bonferroni correction or use tools that handle this automatically.
|
||||
|
||||
---
|
||||
|
||||
## Common Sample Size Mistakes
|
||||
|
||||
### 1. Underpowered tests
|
||||
**Problem**: Not enough sample to detect realistic effects
|
||||
**Fix**: Be realistic about MDE, get more traffic, or don't test
|
||||
|
||||
### 2. Overpowered tests
|
||||
**Problem**: Waiting for sample size when you already have significance
|
||||
**Fix**: This is actually fine—you committed to sample size, honor it
|
||||
|
||||
### 3. Wrong baseline rate
|
||||
**Problem**: Using wrong conversion rate for calculation
|
||||
**Fix**: Use the specific metric and page, not site-wide averages
|
||||
|
||||
### 4. Ignoring segments
|
||||
**Problem**: Calculating for full traffic, then analyzing segments
|
||||
**Fix**: If you plan segment analysis, calculate sample for smallest segment
|
||||
|
||||
### 5. Testing too many things
|
||||
**Problem**: Dividing traffic too many ways
|
||||
**Fix**: Prioritize ruthlessly, run fewer concurrent tests
|
||||
|
||||
---
|
||||
|
||||
## When Sample Size Requirements Are Too High
|
||||
|
||||
Options when you can't get enough traffic:
|
||||
|
||||
1. **Increase MDE**: Accept only detecting larger effects (20%+ lift)
|
||||
2. **Lower confidence**: Use 90% instead of 95% (risky, document it)
|
||||
3. **Reduce variants**: Test only the most promising variant
|
||||
4. **Combine traffic**: Test across multiple similar pages
|
||||
5. **Test upstream**: Test earlier in funnel where traffic is higher
|
||||
6. **Don't test**: Make decision based on qualitative data instead
|
||||
7. **Longer test**: Accept longer duration (weeks/months)
|
||||
|
||||
---
|
||||
|
||||
## Sequential Testing
|
||||
|
||||
If you must check results before reaching sample size:
|
||||
|
||||
### What is it?
|
||||
Statistical method that adjusts for multiple looks at data.
|
||||
|
||||
### When to use
|
||||
- High-risk changes
|
||||
- Need to stop bad variants early
|
||||
- Time-sensitive decisions
|
||||
|
||||
### Tools that support it
|
||||
- Optimizely (Stats Accelerator)
|
||||
- VWO (SmartStats)
|
||||
- PostHog (Bayesian approach)
|
||||
|
||||
### Tradeoff
|
||||
- More flexibility to stop early
|
||||
- Slightly larger sample size requirement
|
||||
- More complex analysis
|
||||
|
||||
---
|
||||
|
||||
## Quick Decision Framework
|
||||
|
||||
### Can I run this test?
|
||||
|
||||
```
|
||||
Daily traffic to page: _____
|
||||
Baseline conversion rate: _____
|
||||
MDE I care about: _____
|
||||
|
||||
Sample needed per variant: _____ (from tables above)
|
||||
Days to run: Sample / Daily traffic = _____
|
||||
|
||||
If days > 60: Consider alternatives
|
||||
If days > 30: Acceptable for high-impact tests
|
||||
If days < 14: Likely feasible
|
||||
If days < 7: Easy to run, consider running longer anyway
|
||||
```
|
||||
268
skills/ab-test-setup/references/test-templates.md
Normal file
268
skills/ab-test-setup/references/test-templates.md
Normal file
@@ -0,0 +1,268 @@
|
||||
# A/B Test Templates Reference
|
||||
|
||||
Templates for planning, documenting, and analyzing experiments.
|
||||
|
||||
## Test Plan Template
|
||||
|
||||
```markdown
|
||||
# A/B Test: [Name]
|
||||
|
||||
## Overview
|
||||
- **Owner**: [Name]
|
||||
- **Test ID**: [ID in testing tool]
|
||||
- **Page/Feature**: [What's being tested]
|
||||
- **Planned dates**: [Start] - [End]
|
||||
|
||||
## Hypothesis
|
||||
|
||||
Because [observation/data],
|
||||
we believe [change]
|
||||
will cause [expected outcome]
|
||||
for [audience].
|
||||
We'll know this is true when [metrics].
|
||||
|
||||
## Test Design
|
||||
|
||||
| Element | Details |
|
||||
|---------|---------|
|
||||
| Test type | A/B / A/B/n / MVT |
|
||||
| Duration | X weeks |
|
||||
| Sample size | X per variant |
|
||||
| Traffic allocation | 50/50 |
|
||||
| Tool | [Tool name] |
|
||||
| Implementation | Client-side / Server-side |
|
||||
|
||||
## Variants
|
||||
|
||||
### Control (A)
|
||||
[Screenshot]
|
||||
- Current experience
|
||||
- [Key details about current state]
|
||||
|
||||
### Variant (B)
|
||||
[Screenshot or mockup]
|
||||
- [Specific change #1]
|
||||
- [Specific change #2]
|
||||
- Rationale: [Why we think this will win]
|
||||
|
||||
## Metrics
|
||||
|
||||
### Primary
|
||||
- **Metric**: [metric name]
|
||||
- **Definition**: [how it's calculated]
|
||||
- **Current baseline**: [X%]
|
||||
- **Minimum detectable effect**: [X%]
|
||||
|
||||
### Secondary
|
||||
- [Metric 1]: [what it tells us]
|
||||
- [Metric 2]: [what it tells us]
|
||||
- [Metric 3]: [what it tells us]
|
||||
|
||||
### Guardrails
|
||||
- [Metric that shouldn't get worse]
|
||||
- [Another safety metric]
|
||||
|
||||
## Segment Analysis Plan
|
||||
- Mobile vs. desktop
|
||||
- New vs. returning visitors
|
||||
- Traffic source
|
||||
- [Other relevant segments]
|
||||
|
||||
## Success Criteria
|
||||
- Winner: [Primary metric improves by X% with 95% confidence]
|
||||
- Loser: [Primary metric decreases significantly]
|
||||
- Inconclusive: [What we'll do if no significant result]
|
||||
|
||||
## Pre-Launch Checklist
|
||||
- [ ] Hypothesis documented and reviewed
|
||||
- [ ] Primary metric defined and trackable
|
||||
- [ ] Sample size calculated
|
||||
- [ ] Test duration estimated
|
||||
- [ ] Variants implemented correctly
|
||||
- [ ] Tracking verified in all variants
|
||||
- [ ] QA completed on all variants
|
||||
- [ ] Stakeholders informed
|
||||
- [ ] Calendar hold for analysis date
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Results Documentation Template
|
||||
|
||||
```markdown
|
||||
# A/B Test Results: [Name]
|
||||
|
||||
## Summary
|
||||
| Element | Value |
|
||||
|---------|-------|
|
||||
| Test ID | [ID] |
|
||||
| Dates | [Start] - [End] |
|
||||
| Duration | X days |
|
||||
| Result | Winner / Loser / Inconclusive |
|
||||
| Decision | [What we're doing] |
|
||||
|
||||
## Hypothesis (Reminder)
|
||||
[Copy from test plan]
|
||||
|
||||
## Results
|
||||
|
||||
### Sample Size
|
||||
| Variant | Target | Actual | % of target |
|
||||
|---------|--------|--------|-------------|
|
||||
| Control | X | Y | Z% |
|
||||
| Variant | X | Y | Z% |
|
||||
|
||||
### Primary Metric: [Metric Name]
|
||||
| Variant | Value | 95% CI | vs. Control |
|
||||
|---------|-------|--------|-------------|
|
||||
| Control | X% | [X%, Y%] | — |
|
||||
| Variant | X% | [X%, Y%] | +X% |
|
||||
|
||||
**Statistical significance**: p = X.XX (95% = sig / not sig)
|
||||
**Practical significance**: [Is this lift meaningful for the business?]
|
||||
|
||||
### Secondary Metrics
|
||||
|
||||
| Metric | Control | Variant | Change | Significant? |
|
||||
|--------|---------|---------|--------|--------------|
|
||||
| [Metric 1] | X | Y | +Z% | Yes/No |
|
||||
| [Metric 2] | X | Y | +Z% | Yes/No |
|
||||
|
||||
### Guardrail Metrics
|
||||
|
||||
| Metric | Control | Variant | Change | Concern? |
|
||||
|--------|---------|---------|--------|----------|
|
||||
| [Metric 1] | X | Y | +Z% | Yes/No |
|
||||
|
||||
### Segment Analysis
|
||||
|
||||
**Mobile vs. Desktop**
|
||||
| Segment | Control | Variant | Lift |
|
||||
|---------|---------|---------|------|
|
||||
| Mobile | X% | Y% | +Z% |
|
||||
| Desktop | X% | Y% | +Z% |
|
||||
|
||||
**New vs. Returning**
|
||||
| Segment | Control | Variant | Lift |
|
||||
|---------|---------|---------|------|
|
||||
| New | X% | Y% | +Z% |
|
||||
| Returning | X% | Y% | +Z% |
|
||||
|
||||
## Interpretation
|
||||
|
||||
### What happened?
|
||||
[Explanation of results in plain language]
|
||||
|
||||
### Why do we think this happened?
|
||||
[Analysis and reasoning]
|
||||
|
||||
### Caveats
|
||||
[Any limitations, external factors, or concerns]
|
||||
|
||||
## Decision
|
||||
|
||||
**Winner**: [Control / Variant]
|
||||
|
||||
**Action**: [Implement variant / Keep control / Re-test]
|
||||
|
||||
**Timeline**: [When changes will be implemented]
|
||||
|
||||
## Learnings
|
||||
|
||||
### What we learned
|
||||
- [Key insight 1]
|
||||
- [Key insight 2]
|
||||
|
||||
### What to test next
|
||||
- [Follow-up test idea 1]
|
||||
- [Follow-up test idea 2]
|
||||
|
||||
### Impact
|
||||
- **Projected lift**: [X% improvement in Y metric]
|
||||
- **Business impact**: [Revenue, conversions, etc.]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Test Repository Entry Template
|
||||
|
||||
For tracking all tests in a central location:
|
||||
|
||||
```markdown
|
||||
| Test ID | Name | Page | Dates | Primary Metric | Result | Lift | Link |
|
||||
|---------|------|------|-------|----------------|--------|------|------|
|
||||
| 001 | Hero headline test | Homepage | 1/1-1/15 | CTR | Winner | +12% | [Link] |
|
||||
| 002 | Pricing table layout | Pricing | 1/10-1/31 | Plan selection | Loser | -5% | [Link] |
|
||||
| 003 | Signup form fields | Signup | 2/1-2/14 | Completion | Inconclusive | +2% | [Link] |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Quick Test Brief Template
|
||||
|
||||
For simple tests that don't need full documentation:
|
||||
|
||||
```markdown
|
||||
## [Test Name]
|
||||
|
||||
**What**: [One sentence description]
|
||||
**Why**: [One sentence hypothesis]
|
||||
**Metric**: [Primary metric]
|
||||
**Duration**: [X weeks]
|
||||
**Result**: [TBD / Winner / Loser / Inconclusive]
|
||||
**Learnings**: [Key takeaway]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Stakeholder Update Template
|
||||
|
||||
```markdown
|
||||
## A/B Test Update: [Name]
|
||||
|
||||
**Status**: Running / Complete
|
||||
**Days remaining**: X (or complete)
|
||||
**Current sample**: X% of target
|
||||
|
||||
### Preliminary observations
|
||||
[What we're seeing - without making decisions yet]
|
||||
|
||||
### Next steps
|
||||
[What happens next]
|
||||
|
||||
### Timeline
|
||||
- [Date]: Analysis complete
|
||||
- [Date]: Decision and recommendation
|
||||
- [Date]: Implementation (if winner)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Experiment Prioritization Scorecard
|
||||
|
||||
For deciding which tests to run:
|
||||
|
||||
| Factor | Weight | Test A | Test B | Test C |
|
||||
|--------|--------|--------|--------|--------|
|
||||
| Potential impact | 30% | | | |
|
||||
| Confidence in hypothesis | 25% | | | |
|
||||
| Ease of implementation | 20% | | | |
|
||||
| Risk if wrong | 15% | | | |
|
||||
| Strategic alignment | 10% | | | |
|
||||
| **Total** | | | | |
|
||||
|
||||
Scoring: 1-5 (5 = best)
|
||||
|
||||
---
|
||||
|
||||
## Hypothesis Bank Template
|
||||
|
||||
For collecting test ideas:
|
||||
|
||||
```markdown
|
||||
| ID | Page/Area | Observation | Hypothesis | Potential Impact | Status |
|
||||
|----|-----------|-------------|------------|------------------|--------|
|
||||
| H1 | Homepage | Low scroll depth | Shorter hero will increase scroll | High | Testing |
|
||||
| H2 | Pricing | Users compare plans | Comparison table will help | Medium | Backlog |
|
||||
| H3 | Signup | Drop-off at email | Social login will increase completion | Medium | Backlog |
|
||||
```
|
||||
@@ -14,20 +14,9 @@ If `.claude/product-marketing-context.md` exists, read it before asking question
|
||||
|
||||
Before implementing tracking, understand:
|
||||
|
||||
1. **Business Context**
|
||||
- What decisions will this data inform?
|
||||
- What are the key conversion actions?
|
||||
- What questions need answering?
|
||||
|
||||
2. **Current State**
|
||||
- What tracking exists?
|
||||
- What tools are in use (GA4, Mixpanel, Amplitude, etc.)?
|
||||
- What's working/not working?
|
||||
|
||||
3. **Technical Context**
|
||||
- What's the tech stack?
|
||||
- Who will implement and maintain?
|
||||
- Any privacy/compliance requirements?
|
||||
1. **Business Context** - What decisions will this data inform? What are key conversions?
|
||||
2. **Current State** - What tracking exists? What tools are in use?
|
||||
3. **Technical Context** - What's the tech stack? Any privacy/compliance requirements?
|
||||
|
||||
---
|
||||
|
||||
@@ -60,63 +49,36 @@ Before implementing tracking, understand:
|
||||
### Structure
|
||||
|
||||
```
|
||||
Event Name | Event Category | Properties | Trigger | Notes
|
||||
---------- | ------------- | ---------- | ------- | -----
|
||||
Event Name | Category | Properties | Trigger | Notes
|
||||
---------- | -------- | ---------- | ------- | -----
|
||||
```
|
||||
|
||||
### Event Types
|
||||
|
||||
**Pageviews**
|
||||
- Automatic in most tools
|
||||
- Enhanced with page metadata
|
||||
| Type | Examples |
|
||||
|------|----------|
|
||||
| Pageviews | Automatic, enhanced with metadata |
|
||||
| User Actions | Button clicks, form submissions, feature usage |
|
||||
| System Events | Signup completed, purchase, subscription changed |
|
||||
| Custom Conversions | Goal completions, funnel stages |
|
||||
|
||||
**User Actions**
|
||||
- Button clicks
|
||||
- Form submissions
|
||||
- Feature usage
|
||||
- Content interactions
|
||||
|
||||
**System Events**
|
||||
- Signup completed
|
||||
- Purchase completed
|
||||
- Subscription changed
|
||||
- Errors occurred
|
||||
|
||||
**Custom Conversions**
|
||||
- Goal completions
|
||||
- Funnel stages
|
||||
- Business-specific milestones
|
||||
**For comprehensive event lists**: See [references/event-library.md](references/event-library.md)
|
||||
|
||||
---
|
||||
|
||||
## Event Naming Conventions
|
||||
|
||||
### Format Options
|
||||
### Recommended Format: Object-Action
|
||||
|
||||
**Object-Action (Recommended)**
|
||||
```
|
||||
signup_completed
|
||||
button_clicked
|
||||
form_submitted
|
||||
article_read
|
||||
```
|
||||
|
||||
**Action-Object**
|
||||
```
|
||||
click_button
|
||||
submit_form
|
||||
complete_signup
|
||||
```
|
||||
|
||||
**Category_Object_Action**
|
||||
```
|
||||
checkout_payment_completed
|
||||
blog_article_viewed
|
||||
onboarding_step_completed
|
||||
```
|
||||
|
||||
### Best Practices
|
||||
|
||||
- Lowercase with underscores
|
||||
- Be specific: `cta_hero_clicked` vs. `button_clicked`
|
||||
- Include context in properties, not event name
|
||||
@@ -125,235 +87,94 @@ onboarding_step_completed
|
||||
|
||||
---
|
||||
|
||||
## Essential Events to Track
|
||||
## Essential Events
|
||||
|
||||
### Marketing Site
|
||||
|
||||
**Navigation**
|
||||
- page_view (enhanced)
|
||||
- outbound_link_clicked
|
||||
- scroll_depth (25%, 50%, 75%, 100%)
|
||||
|
||||
**Engagement**
|
||||
- cta_clicked (button_text, location)
|
||||
- video_played (video_id, duration)
|
||||
- form_started
|
||||
- form_submitted (form_type)
|
||||
- resource_downloaded (resource_name)
|
||||
|
||||
**Conversion**
|
||||
- signup_started
|
||||
- signup_completed
|
||||
- demo_requested
|
||||
- contact_submitted
|
||||
| Event | Properties |
|
||||
|-------|------------|
|
||||
| cta_clicked | button_text, location |
|
||||
| form_submitted | form_type |
|
||||
| signup_completed | method, source |
|
||||
| demo_requested | - |
|
||||
|
||||
### Product/App
|
||||
|
||||
**Onboarding**
|
||||
- signup_completed
|
||||
- onboarding_step_completed (step_number, step_name)
|
||||
- onboarding_completed
|
||||
- first_key_action_completed
|
||||
| Event | Properties |
|
||||
|-------|------------|
|
||||
| onboarding_step_completed | step_number, step_name |
|
||||
| feature_used | feature_name |
|
||||
| purchase_completed | plan, value |
|
||||
| subscription_cancelled | reason |
|
||||
|
||||
**Core Usage**
|
||||
- feature_used (feature_name)
|
||||
- action_completed (action_type)
|
||||
- session_started
|
||||
- session_ended
|
||||
|
||||
**Monetization**
|
||||
- trial_started
|
||||
- pricing_viewed
|
||||
- checkout_started
|
||||
- purchase_completed (plan, value)
|
||||
- subscription_cancelled
|
||||
|
||||
### E-commerce
|
||||
|
||||
**Browsing**
|
||||
- product_viewed (product_id, category, price)
|
||||
- product_list_viewed (list_name, products)
|
||||
- product_searched (query, results_count)
|
||||
|
||||
**Cart**
|
||||
- product_added_to_cart
|
||||
- product_removed_from_cart
|
||||
- cart_viewed
|
||||
|
||||
**Checkout**
|
||||
- checkout_started
|
||||
- checkout_step_completed (step)
|
||||
- payment_info_entered
|
||||
- purchase_completed (order_id, value, products)
|
||||
**For full event library by business type**: See [references/event-library.md](references/event-library.md)
|
||||
|
||||
---
|
||||
|
||||
## Event Properties (Parameters)
|
||||
## Event Properties
|
||||
|
||||
### Standard Properties to Consider
|
||||
### Standard Properties
|
||||
|
||||
**Page/Screen**
|
||||
- page_title
|
||||
- page_location (URL)
|
||||
- page_referrer
|
||||
- content_group
|
||||
|
||||
**User**
|
||||
- user_id (if logged in)
|
||||
- user_type (free, paid, admin)
|
||||
- account_id (B2B)
|
||||
- plan_type
|
||||
|
||||
**Campaign**
|
||||
- source
|
||||
- medium
|
||||
- campaign
|
||||
- content
|
||||
- term
|
||||
|
||||
**Product** (e-commerce)
|
||||
- product_id
|
||||
- product_name
|
||||
- category
|
||||
- price
|
||||
- quantity
|
||||
- currency
|
||||
|
||||
**Timing**
|
||||
- timestamp
|
||||
- session_duration
|
||||
- time_on_page
|
||||
| Category | Properties |
|
||||
|----------|------------|
|
||||
| Page | page_title, page_location, page_referrer |
|
||||
| User | user_id, user_type, account_id, plan_type |
|
||||
| Campaign | source, medium, campaign, content, term |
|
||||
| Product | product_id, product_name, category, price |
|
||||
|
||||
### Best Practices
|
||||
|
||||
- Use consistent property names
|
||||
- Include relevant context
|
||||
- Don't duplicate GA4 automatic properties
|
||||
- Don't duplicate automatic properties
|
||||
- Avoid PII in properties
|
||||
- Document expected values
|
||||
|
||||
---
|
||||
|
||||
## GA4 Implementation
|
||||
|
||||
### Configuration
|
||||
### Quick Setup
|
||||
|
||||
**Data Streams**
|
||||
- One stream per platform (web, iOS, Android)
|
||||
- Enable enhanced measurement
|
||||
1. Create GA4 property and data stream
|
||||
2. Install gtag.js or GTM
|
||||
3. Enable enhanced measurement
|
||||
4. Configure custom events
|
||||
5. Mark conversions in Admin
|
||||
|
||||
**Enhanced Measurement Events**
|
||||
- page_view (automatic)
|
||||
- scroll (90% depth)
|
||||
- outbound_click
|
||||
- site_search
|
||||
- video_engagement
|
||||
- file_download
|
||||
|
||||
**Recommended Events**
|
||||
- Use Google's predefined events when possible
|
||||
- Correct naming for enhanced reporting
|
||||
- See: https://support.google.com/analytics/answer/9267735
|
||||
|
||||
### Custom Events (GA4)
|
||||
### Custom Event Example
|
||||
|
||||
```javascript
|
||||
// gtag.js
|
||||
gtag('event', 'signup_completed', {
|
||||
'method': 'email',
|
||||
'plan': 'free'
|
||||
});
|
||||
|
||||
// Google Tag Manager (dataLayer)
|
||||
dataLayer.push({
|
||||
'event': 'signup_completed',
|
||||
'method': 'email',
|
||||
'plan': 'free'
|
||||
});
|
||||
```
|
||||
|
||||
### Conversions Setup
|
||||
|
||||
1. Collect event in GA4
|
||||
2. Mark as conversion in Admin > Events
|
||||
3. Set conversion counting (once per session or every time)
|
||||
4. Import to Google Ads if needed
|
||||
|
||||
### Custom Dimensions and Metrics
|
||||
|
||||
**When to use:**
|
||||
- Properties you want to segment by
|
||||
- Metrics you want to aggregate
|
||||
- Beyond standard parameters
|
||||
|
||||
**Setup:**
|
||||
1. Create in Admin > Custom definitions
|
||||
2. Scope: Event, User, or Item
|
||||
3. Parameter name must match
|
||||
**For detailed GA4 implementation**: See [references/ga4-implementation.md](references/ga4-implementation.md)
|
||||
|
||||
---
|
||||
|
||||
## Google Tag Manager Implementation
|
||||
## Google Tag Manager
|
||||
|
||||
### Container Structure
|
||||
|
||||
**Tags**
|
||||
- GA4 Configuration (base)
|
||||
- GA4 Event tags (one per event or grouped)
|
||||
- Conversion pixels (Facebook, LinkedIn, etc.)
|
||||
|
||||
**Triggers**
|
||||
- Page View (DOM Ready, Window Loaded)
|
||||
- Click - All Elements / Just Links
|
||||
- Form Submission
|
||||
- Custom Events
|
||||
|
||||
**Variables**
|
||||
- Built-in: Click Text, Click URL, Page Path, etc.
|
||||
- Data Layer variables
|
||||
- JavaScript variables
|
||||
- Lookup tables
|
||||
|
||||
### Best Practices
|
||||
|
||||
- Use folders to organize
|
||||
- Consistent naming (Tag_Type_Description)
|
||||
- Version notes on every publish
|
||||
- Preview mode for testing
|
||||
- Workspaces for team collaboration
|
||||
| Component | Purpose |
|
||||
|-----------|---------|
|
||||
| Tags | Code that executes (GA4, pixels) |
|
||||
| Triggers | When tags fire (page view, click) |
|
||||
| Variables | Dynamic values (click text, data layer) |
|
||||
|
||||
### Data Layer Pattern
|
||||
|
||||
```javascript
|
||||
// Push custom event
|
||||
dataLayer.push({
|
||||
'event': 'form_submitted',
|
||||
'form_name': 'contact',
|
||||
'form_location': 'footer'
|
||||
});
|
||||
|
||||
// Set user properties
|
||||
dataLayer.push({
|
||||
'user_id': '12345',
|
||||
'user_type': 'premium'
|
||||
});
|
||||
|
||||
// E-commerce event
|
||||
dataLayer.push({
|
||||
'event': 'purchase',
|
||||
'ecommerce': {
|
||||
'transaction_id': 'T12345',
|
||||
'value': 99.99,
|
||||
'currency': 'USD',
|
||||
'items': [{
|
||||
'item_id': 'SKU123',
|
||||
'item_name': 'Product Name',
|
||||
'price': 99.99
|
||||
}]
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
**For detailed GTM implementation**: See [references/gtm-implementation.md](references/gtm-implementation.md)
|
||||
|
||||
---
|
||||
|
||||
## UTM Parameter Strategy
|
||||
@@ -362,40 +183,17 @@ dataLayer.push({
|
||||
|
||||
| Parameter | Purpose | Example |
|
||||
|-----------|---------|---------|
|
||||
| utm_source | Where traffic comes from | google, facebook, newsletter |
|
||||
| utm_medium | Marketing medium | cpc, email, social, referral |
|
||||
| utm_campaign | Campaign name | spring_sale, product_launch |
|
||||
| utm_content | Differentiate versions | hero_cta, sidebar_link |
|
||||
| utm_source | Traffic source | google, newsletter |
|
||||
| utm_medium | Marketing medium | cpc, email, social |
|
||||
| utm_campaign | Campaign name | spring_sale |
|
||||
| utm_content | Differentiate versions | hero_cta |
|
||||
| utm_term | Paid search keywords | running+shoes |
|
||||
|
||||
### Naming Conventions
|
||||
|
||||
**Lowercase everything**
|
||||
- google, not Google
|
||||
- email, not Email
|
||||
|
||||
**Use underscores or hyphens consistently**
|
||||
- product_launch or product-launch
|
||||
- Pick one, stick with it
|
||||
|
||||
**Be specific but concise**
|
||||
- blog_footer_cta, not cta1
|
||||
- 2024_q1_promo, not promo
|
||||
|
||||
### UTM Documentation
|
||||
|
||||
Track all UTMs in a spreadsheet or tool:
|
||||
|
||||
| Campaign | Source | Medium | Content | Full URL | Owner | Date |
|
||||
|----------|--------|--------|---------|----------|-------|------|
|
||||
| ... | ... | ... | ... | ... | ... | ... |
|
||||
|
||||
### UTM Builder
|
||||
|
||||
Provide a consistent UTM builder link to team:
|
||||
- Google's URL builder
|
||||
- Internal tool
|
||||
- Spreadsheet formula
|
||||
- Lowercase everything
|
||||
- Use underscores or hyphens consistently
|
||||
- Be specific but concise: `blog_footer_cta`, not `cta1`
|
||||
- Document all UTMs in a spreadsheet
|
||||
|
||||
---
|
||||
|
||||
@@ -403,72 +201,44 @@ Provide a consistent UTM builder link to team:
|
||||
|
||||
### Testing Tools
|
||||
|
||||
**GA4 DebugView**
|
||||
- Real-time event monitoring
|
||||
- Enable with ?debug_mode=true
|
||||
- Or via Chrome extension
|
||||
|
||||
**GTM Preview Mode**
|
||||
- Test triggers and tags
|
||||
- See data layer state
|
||||
- Validate before publish
|
||||
|
||||
**Browser Extensions**
|
||||
- GA Debugger
|
||||
- Tag Assistant
|
||||
- dataLayer Inspector
|
||||
| Tool | Use For |
|
||||
|------|---------|
|
||||
| GA4 DebugView | Real-time event monitoring |
|
||||
| GTM Preview Mode | Test triggers before publish |
|
||||
| Browser Extensions | Tag Assistant, dataLayer Inspector |
|
||||
|
||||
### Validation Checklist
|
||||
|
||||
- [ ] Events firing on correct triggers
|
||||
- [ ] Property values populating correctly
|
||||
- [ ] No duplicate events
|
||||
- [ ] Works across browsers
|
||||
- [ ] Works on mobile
|
||||
- [ ] Works across browsers and mobile
|
||||
- [ ] Conversions recorded correctly
|
||||
- [ ] User ID passing when logged in
|
||||
- [ ] No PII leaking
|
||||
|
||||
### Common Issues
|
||||
|
||||
**Events not firing**
|
||||
- Trigger misconfigured
|
||||
- Tag paused
|
||||
- GTM not loaded on page
|
||||
|
||||
**Wrong values**
|
||||
- Variable not configured
|
||||
- Data layer not pushing correctly
|
||||
- Timing issues (fire before data ready)
|
||||
|
||||
**Duplicate events**
|
||||
- Multiple GTM containers
|
||||
- Multiple tag instances
|
||||
- Trigger firing multiple times
|
||||
| Issue | Check |
|
||||
|-------|-------|
|
||||
| Events not firing | Trigger config, GTM loaded |
|
||||
| Wrong values | Variable path, data layer structure |
|
||||
| Duplicate events | Multiple containers, trigger firing twice |
|
||||
|
||||
---
|
||||
|
||||
## Privacy and Compliance
|
||||
|
||||
### Considerations
|
||||
|
||||
- Cookie consent required in EU/UK/CA
|
||||
- No PII in analytics properties
|
||||
- Data retention settings
|
||||
- User deletion capabilities
|
||||
- Cross-device tracking consent
|
||||
|
||||
### Implementation
|
||||
|
||||
**Consent Mode (GA4)**
|
||||
- Wait for consent before tracking
|
||||
- Use consent mode for partial tracking
|
||||
- Integrate with consent management platform
|
||||
|
||||
**Data Minimization**
|
||||
- Only collect what you need
|
||||
- Use consent mode (wait for consent)
|
||||
- IP anonymization
|
||||
- No PII in custom dimensions
|
||||
- Only collect what you need
|
||||
- Integrate with consent management platform
|
||||
|
||||
---
|
||||
|
||||
@@ -476,51 +246,32 @@ Provide a consistent UTM builder link to team:
|
||||
|
||||
### Tracking Plan Document
|
||||
|
||||
```
|
||||
```markdown
|
||||
# [Site/Product] Tracking Plan
|
||||
|
||||
## Overview
|
||||
- Tools: GA4, GTM
|
||||
- Last updated: [Date]
|
||||
- Owner: [Name]
|
||||
|
||||
## Events
|
||||
|
||||
### Marketing Events
|
||||
|
||||
| Event Name | Description | Properties | Trigger |
|
||||
|------------|-------------|------------|---------|
|
||||
| signup_started | User initiates signup | source, page | Click signup CTA |
|
||||
| signup_completed | User completes signup | method, plan | Signup success page |
|
||||
|
||||
### Product Events
|
||||
[Similar table]
|
||||
| signup_completed | User completes signup | method, plan | Success page |
|
||||
|
||||
## Custom Dimensions
|
||||
|
||||
| Name | Scope | Parameter | Description |
|
||||
|------|-------|-----------|-------------|
|
||||
| user_type | User | user_type | Free, trial, paid |
|
||||
| Name | Scope | Parameter |
|
||||
|------|-------|-----------|
|
||||
| user_type | User | user_type |
|
||||
|
||||
## Conversions
|
||||
|
||||
| Conversion | Event | Counting | Google Ads |
|
||||
|------------|-------|----------|------------|
|
||||
| Signup | signup_completed | Once per session | Yes |
|
||||
|
||||
## UTM Convention
|
||||
|
||||
[Guidelines]
|
||||
| Conversion | Event | Counting |
|
||||
|------------|-------|----------|
|
||||
| Signup | signup_completed | Once per session |
|
||||
```
|
||||
|
||||
### Implementation Code
|
||||
|
||||
Provide ready-to-use code snippets
|
||||
|
||||
### Testing Checklist
|
||||
|
||||
Specific validation steps
|
||||
|
||||
---
|
||||
|
||||
## Task-Specific Questions
|
||||
|
||||
251
skills/analytics-tracking/references/event-library.md
Normal file
251
skills/analytics-tracking/references/event-library.md
Normal file
@@ -0,0 +1,251 @@
|
||||
# Event Library Reference
|
||||
|
||||
Comprehensive list of events to track by business type and context.
|
||||
|
||||
## Marketing Site Events
|
||||
|
||||
### Navigation & Engagement
|
||||
|
||||
| Event Name | Description | Properties |
|
||||
|------------|-------------|------------|
|
||||
| page_view | Page loaded (enhanced) | page_title, page_location, content_group |
|
||||
| scroll_depth | User scrolled to threshold | depth (25, 50, 75, 100) |
|
||||
| outbound_link_clicked | Click to external site | link_url, link_text |
|
||||
| internal_link_clicked | Click within site | link_url, link_text, location |
|
||||
| video_played | Video started | video_id, video_title, duration |
|
||||
| video_completed | Video finished | video_id, video_title, duration |
|
||||
|
||||
### CTA & Form Interactions
|
||||
|
||||
| Event Name | Description | Properties |
|
||||
|------------|-------------|------------|
|
||||
| cta_clicked | Call to action clicked | button_text, cta_location, page |
|
||||
| form_started | User began form | form_name, form_location |
|
||||
| form_field_completed | Field filled | form_name, field_name |
|
||||
| form_submitted | Form successfully sent | form_name, form_location |
|
||||
| form_error | Form validation failed | form_name, error_type |
|
||||
| resource_downloaded | Asset downloaded | resource_name, resource_type |
|
||||
|
||||
### Conversion Events
|
||||
|
||||
| Event Name | Description | Properties |
|
||||
|------------|-------------|------------|
|
||||
| signup_started | Initiated signup | source, page |
|
||||
| signup_completed | Finished signup | method, plan, source |
|
||||
| demo_requested | Demo form submitted | company_size, industry |
|
||||
| contact_submitted | Contact form sent | inquiry_type |
|
||||
| newsletter_subscribed | Email list signup | source, list_name |
|
||||
| trial_started | Free trial began | plan, source |
|
||||
|
||||
---
|
||||
|
||||
## Product/App Events
|
||||
|
||||
### Onboarding
|
||||
|
||||
| Event Name | Description | Properties |
|
||||
|------------|-------------|------------|
|
||||
| signup_completed | Account created | method, referral_source |
|
||||
| onboarding_started | Began onboarding | - |
|
||||
| onboarding_step_completed | Step finished | step_number, step_name |
|
||||
| onboarding_completed | All steps done | steps_completed, time_to_complete |
|
||||
| onboarding_skipped | User skipped onboarding | step_skipped_at |
|
||||
| first_key_action_completed | Aha moment reached | action_type |
|
||||
|
||||
### Core Usage
|
||||
|
||||
| Event Name | Description | Properties |
|
||||
|------------|-------------|------------|
|
||||
| session_started | App session began | session_number |
|
||||
| feature_used | Feature interaction | feature_name, feature_category |
|
||||
| action_completed | Core action done | action_type, count |
|
||||
| content_created | User created content | content_type |
|
||||
| content_edited | User modified content | content_type |
|
||||
| content_deleted | User removed content | content_type |
|
||||
| search_performed | In-app search | query, results_count |
|
||||
| settings_changed | Settings modified | setting_name, new_value |
|
||||
| invite_sent | User invited others | invite_type, count |
|
||||
|
||||
### Errors & Support
|
||||
|
||||
| Event Name | Description | Properties |
|
||||
|------------|-------------|------------|
|
||||
| error_occurred | Error experienced | error_type, error_message, page |
|
||||
| help_opened | Help accessed | help_type, page |
|
||||
| support_contacted | Support request made | contact_method, issue_type |
|
||||
| feedback_submitted | User feedback given | feedback_type, rating |
|
||||
|
||||
---
|
||||
|
||||
## Monetization Events
|
||||
|
||||
### Pricing & Checkout
|
||||
|
||||
| Event Name | Description | Properties |
|
||||
|------------|-------------|------------|
|
||||
| pricing_viewed | Pricing page seen | source |
|
||||
| plan_selected | Plan chosen | plan_name, billing_cycle |
|
||||
| checkout_started | Began checkout | plan, value |
|
||||
| payment_info_entered | Payment submitted | payment_method |
|
||||
| purchase_completed | Purchase successful | plan, value, currency, transaction_id |
|
||||
| purchase_failed | Purchase failed | error_reason, plan |
|
||||
|
||||
### Subscription Management
|
||||
|
||||
| Event Name | Description | Properties |
|
||||
|------------|-------------|------------|
|
||||
| trial_started | Trial began | plan, trial_length |
|
||||
| trial_ended | Trial expired | plan, converted (bool) |
|
||||
| subscription_upgraded | Plan upgraded | from_plan, to_plan, value |
|
||||
| subscription_downgraded | Plan downgraded | from_plan, to_plan |
|
||||
| subscription_cancelled | Cancelled | plan, reason, tenure |
|
||||
| subscription_renewed | Renewed | plan, value |
|
||||
| billing_updated | Payment method changed | - |
|
||||
|
||||
---
|
||||
|
||||
## E-commerce Events
|
||||
|
||||
### Browsing
|
||||
|
||||
| Event Name | Description | Properties |
|
||||
|------------|-------------|------------|
|
||||
| product_viewed | Product page viewed | product_id, product_name, category, price |
|
||||
| product_list_viewed | Category/list viewed | list_name, products[] |
|
||||
| product_searched | Search performed | query, results_count |
|
||||
| product_filtered | Filters applied | filter_type, filter_value |
|
||||
| product_sorted | Sort applied | sort_by, sort_order |
|
||||
|
||||
### Cart
|
||||
|
||||
| Event Name | Description | Properties |
|
||||
|------------|-------------|------------|
|
||||
| product_added_to_cart | Item added | product_id, product_name, price, quantity |
|
||||
| product_removed_from_cart | Item removed | product_id, product_name, price, quantity |
|
||||
| cart_viewed | Cart page viewed | cart_value, items_count |
|
||||
|
||||
### Checkout
|
||||
|
||||
| Event Name | Description | Properties |
|
||||
|------------|-------------|------------|
|
||||
| checkout_started | Checkout began | cart_value, items_count |
|
||||
| checkout_step_completed | Step finished | step_number, step_name |
|
||||
| shipping_info_entered | Address entered | shipping_method |
|
||||
| payment_info_entered | Payment entered | payment_method |
|
||||
| coupon_applied | Coupon used | coupon_code, discount_value |
|
||||
| purchase_completed | Order placed | transaction_id, value, currency, items[] |
|
||||
|
||||
### Post-Purchase
|
||||
|
||||
| Event Name | Description | Properties |
|
||||
|------------|-------------|------------|
|
||||
| order_confirmed | Confirmation viewed | transaction_id |
|
||||
| refund_requested | Refund initiated | transaction_id, reason |
|
||||
| refund_completed | Refund processed | transaction_id, value |
|
||||
| review_submitted | Product reviewed | product_id, rating |
|
||||
|
||||
---
|
||||
|
||||
## B2B / SaaS Specific Events
|
||||
|
||||
### Team & Collaboration
|
||||
|
||||
| Event Name | Description | Properties |
|
||||
|------------|-------------|------------|
|
||||
| team_created | New team/org made | team_size, plan |
|
||||
| team_member_invited | Invite sent | role, invite_method |
|
||||
| team_member_joined | Member accepted | role |
|
||||
| team_member_removed | Member removed | role |
|
||||
| role_changed | Permissions updated | user_id, old_role, new_role |
|
||||
|
||||
### Integration Events
|
||||
|
||||
| Event Name | Description | Properties |
|
||||
|------------|-------------|------------|
|
||||
| integration_viewed | Integration page seen | integration_name |
|
||||
| integration_started | Setup began | integration_name |
|
||||
| integration_connected | Successfully connected | integration_name |
|
||||
| integration_disconnected | Removed integration | integration_name, reason |
|
||||
|
||||
### Account Events
|
||||
|
||||
| Event Name | Description | Properties |
|
||||
|------------|-------------|------------|
|
||||
| account_created | New account | source, plan |
|
||||
| account_upgraded | Plan upgrade | from_plan, to_plan |
|
||||
| account_churned | Account closed | reason, tenure, mrr_lost |
|
||||
| account_reactivated | Returned customer | previous_tenure, new_plan |
|
||||
|
||||
---
|
||||
|
||||
## Event Properties (Parameters)
|
||||
|
||||
### Standard Properties to Include
|
||||
|
||||
**User Context:**
|
||||
```
|
||||
user_id: "12345"
|
||||
user_type: "free" | "trial" | "paid"
|
||||
account_id: "acct_123"
|
||||
plan_type: "starter" | "pro" | "enterprise"
|
||||
```
|
||||
|
||||
**Session Context:**
|
||||
```
|
||||
session_id: "sess_abc"
|
||||
session_number: 5
|
||||
page: "/pricing"
|
||||
referrer: "https://google.com"
|
||||
```
|
||||
|
||||
**Campaign Context:**
|
||||
```
|
||||
source: "google"
|
||||
medium: "cpc"
|
||||
campaign: "spring_sale"
|
||||
content: "hero_cta"
|
||||
```
|
||||
|
||||
**Product Context (E-commerce):**
|
||||
```
|
||||
product_id: "SKU123"
|
||||
product_name: "Product Name"
|
||||
category: "Category"
|
||||
price: 99.99
|
||||
quantity: 1
|
||||
currency: "USD"
|
||||
```
|
||||
|
||||
**Timing:**
|
||||
```
|
||||
timestamp: "2024-01-15T10:30:00Z"
|
||||
time_on_page: 45
|
||||
session_duration: 300
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Funnel Event Sequences
|
||||
|
||||
### Signup Funnel
|
||||
1. signup_started
|
||||
2. signup_step_completed (email)
|
||||
3. signup_step_completed (password)
|
||||
4. signup_completed
|
||||
5. onboarding_started
|
||||
|
||||
### Purchase Funnel
|
||||
1. pricing_viewed
|
||||
2. plan_selected
|
||||
3. checkout_started
|
||||
4. payment_info_entered
|
||||
5. purchase_completed
|
||||
|
||||
### E-commerce Funnel
|
||||
1. product_viewed
|
||||
2. product_added_to_cart
|
||||
3. cart_viewed
|
||||
4. checkout_started
|
||||
5. shipping_info_entered
|
||||
6. payment_info_entered
|
||||
7. purchase_completed
|
||||
290
skills/analytics-tracking/references/ga4-implementation.md
Normal file
290
skills/analytics-tracking/references/ga4-implementation.md
Normal file
@@ -0,0 +1,290 @@
|
||||
# GA4 Implementation Reference
|
||||
|
||||
Detailed implementation guide for Google Analytics 4.
|
||||
|
||||
## Configuration
|
||||
|
||||
### Data Streams
|
||||
|
||||
- One stream per platform (web, iOS, Android)
|
||||
- Enable enhanced measurement for automatic tracking
|
||||
- Configure data retention (2 months default, 14 months max)
|
||||
- Enable Google Signals (for cross-device, if consented)
|
||||
|
||||
### Enhanced Measurement Events (Automatic)
|
||||
|
||||
| Event | Description | Configuration |
|
||||
|-------|-------------|---------------|
|
||||
| page_view | Page loads | Automatic |
|
||||
| scroll | 90% scroll depth | Toggle on/off |
|
||||
| outbound_click | Click to external domain | Automatic |
|
||||
| site_search | Search query used | Configure parameter |
|
||||
| video_engagement | YouTube video plays | Toggle on/off |
|
||||
| file_download | PDF, docs, etc. | Configurable extensions |
|
||||
|
||||
### Recommended Events
|
||||
|
||||
Use Google's predefined events when possible for enhanced reporting:
|
||||
|
||||
**All properties:**
|
||||
- login, sign_up
|
||||
- share
|
||||
- search
|
||||
|
||||
**E-commerce:**
|
||||
- view_item, view_item_list
|
||||
- add_to_cart, remove_from_cart
|
||||
- begin_checkout
|
||||
- add_payment_info
|
||||
- purchase, refund
|
||||
|
||||
**Games:**
|
||||
- level_up, unlock_achievement
|
||||
- post_score, spend_virtual_currency
|
||||
|
||||
Reference: https://support.google.com/analytics/answer/9267735
|
||||
|
||||
---
|
||||
|
||||
## Custom Events
|
||||
|
||||
### gtag.js Implementation
|
||||
|
||||
```javascript
|
||||
// Basic event
|
||||
gtag('event', 'signup_completed', {
|
||||
'method': 'email',
|
||||
'plan': 'free'
|
||||
});
|
||||
|
||||
// Event with value
|
||||
gtag('event', 'purchase', {
|
||||
'transaction_id': 'T12345',
|
||||
'value': 99.99,
|
||||
'currency': 'USD',
|
||||
'items': [{
|
||||
'item_id': 'SKU123',
|
||||
'item_name': 'Product Name',
|
||||
'price': 99.99
|
||||
}]
|
||||
});
|
||||
|
||||
// User properties
|
||||
gtag('set', 'user_properties', {
|
||||
'user_type': 'premium',
|
||||
'plan_name': 'pro'
|
||||
});
|
||||
|
||||
// User ID (for logged-in users)
|
||||
gtag('config', 'GA_MEASUREMENT_ID', {
|
||||
'user_id': 'USER_ID'
|
||||
});
|
||||
```
|
||||
|
||||
### Google Tag Manager (dataLayer)
|
||||
|
||||
```javascript
|
||||
// Custom event
|
||||
dataLayer.push({
|
||||
'event': 'signup_completed',
|
||||
'method': 'email',
|
||||
'plan': 'free'
|
||||
});
|
||||
|
||||
// Set user properties
|
||||
dataLayer.push({
|
||||
'user_id': '12345',
|
||||
'user_type': 'premium'
|
||||
});
|
||||
|
||||
// E-commerce purchase
|
||||
dataLayer.push({
|
||||
'event': 'purchase',
|
||||
'ecommerce': {
|
||||
'transaction_id': 'T12345',
|
||||
'value': 99.99,
|
||||
'currency': 'USD',
|
||||
'items': [{
|
||||
'item_id': 'SKU123',
|
||||
'item_name': 'Product Name',
|
||||
'price': 99.99,
|
||||
'quantity': 1
|
||||
}]
|
||||
}
|
||||
});
|
||||
|
||||
// Clear ecommerce before sending (best practice)
|
||||
dataLayer.push({ ecommerce: null });
|
||||
dataLayer.push({
|
||||
'event': 'view_item',
|
||||
'ecommerce': {
|
||||
// ...
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Conversions Setup
|
||||
|
||||
### Creating Conversions
|
||||
|
||||
1. **Collect the event** - Ensure event is firing in GA4
|
||||
2. **Mark as conversion** - Admin > Events > Mark as conversion
|
||||
3. **Set counting method**:
|
||||
- Once per session (leads, signups)
|
||||
- Every event (purchases)
|
||||
4. **Import to Google Ads** - For conversion-optimized bidding
|
||||
|
||||
### Conversion Values
|
||||
|
||||
```javascript
|
||||
// Event with conversion value
|
||||
gtag('event', 'purchase', {
|
||||
'value': 99.99,
|
||||
'currency': 'USD'
|
||||
});
|
||||
```
|
||||
|
||||
Or set default value in GA4 Admin when marking conversion.
|
||||
|
||||
---
|
||||
|
||||
## Custom Dimensions and Metrics
|
||||
|
||||
### When to Use
|
||||
|
||||
**Custom dimensions:**
|
||||
- Properties you want to segment/filter by
|
||||
- User attributes (plan type, industry)
|
||||
- Content attributes (author, category)
|
||||
|
||||
**Custom metrics:**
|
||||
- Numeric values to aggregate
|
||||
- Scores, counts, durations
|
||||
|
||||
### Setup Steps
|
||||
|
||||
1. Admin > Data display > Custom definitions
|
||||
2. Create dimension or metric
|
||||
3. Choose scope:
|
||||
- **Event**: Per event (content_type)
|
||||
- **User**: Per user (account_type)
|
||||
- **Item**: Per product (product_category)
|
||||
4. Enter parameter name (must match event parameter)
|
||||
|
||||
### Examples
|
||||
|
||||
| Dimension | Scope | Parameter | Description |
|
||||
|-----------|-------|-----------|-------------|
|
||||
| User Type | User | user_type | Free, trial, paid |
|
||||
| Content Author | Event | author | Blog post author |
|
||||
| Product Category | Item | item_category | E-commerce category |
|
||||
|
||||
---
|
||||
|
||||
## Audiences
|
||||
|
||||
### Creating Audiences
|
||||
|
||||
Admin > Data display > Audiences
|
||||
|
||||
**Use cases:**
|
||||
- Remarketing audiences (export to Ads)
|
||||
- Segment analysis
|
||||
- Trigger-based events
|
||||
|
||||
### Audience Examples
|
||||
|
||||
**High-intent visitors:**
|
||||
- Viewed pricing page
|
||||
- Did not convert
|
||||
- In last 7 days
|
||||
|
||||
**Engaged users:**
|
||||
- 3+ sessions
|
||||
- Or 5+ minutes total engagement
|
||||
|
||||
**Purchasers:**
|
||||
- Purchase event
|
||||
- For exclusion or lookalike
|
||||
|
||||
---
|
||||
|
||||
## Debugging
|
||||
|
||||
### DebugView
|
||||
|
||||
Enable with:
|
||||
- URL parameter: `?debug_mode=true`
|
||||
- Chrome extension: GA Debugger
|
||||
- gtag: `'debug_mode': true` in config
|
||||
|
||||
View at: Reports > Configure > DebugView
|
||||
|
||||
### Real-Time Reports
|
||||
|
||||
Check events within 30 minutes:
|
||||
Reports > Real-time
|
||||
|
||||
### Common Issues
|
||||
|
||||
**Events not appearing:**
|
||||
- Check DebugView first
|
||||
- Verify gtag/GTM firing
|
||||
- Check filter exclusions
|
||||
|
||||
**Parameter values missing:**
|
||||
- Custom dimension not created
|
||||
- Parameter name mismatch
|
||||
- Data still processing (24-48 hrs)
|
||||
|
||||
**Conversions not recording:**
|
||||
- Event not marked as conversion
|
||||
- Event name doesn't match
|
||||
- Counting method (once vs. every)
|
||||
|
||||
---
|
||||
|
||||
## Data Quality
|
||||
|
||||
### Filters
|
||||
|
||||
Admin > Data streams > [Stream] > Configure tag settings > Define internal traffic
|
||||
|
||||
**Exclude:**
|
||||
- Internal IP addresses
|
||||
- Developer traffic
|
||||
- Testing environments
|
||||
|
||||
### Cross-Domain Tracking
|
||||
|
||||
For multiple domains sharing analytics:
|
||||
|
||||
1. Admin > Data streams > [Stream] > Configure tag settings
|
||||
2. Configure your domains
|
||||
3. List all domains that should share sessions
|
||||
|
||||
### Session Settings
|
||||
|
||||
Admin > Data streams > [Stream] > Configure tag settings
|
||||
|
||||
- Session timeout (default 30 min)
|
||||
- Engaged session duration (10 sec default)
|
||||
|
||||
---
|
||||
|
||||
## Integration with Google Ads
|
||||
|
||||
### Linking
|
||||
|
||||
1. Admin > Product links > Google Ads links
|
||||
2. Enable auto-tagging in Google Ads
|
||||
3. Import conversions in Google Ads
|
||||
|
||||
### Audience Export
|
||||
|
||||
Audiences created in GA4 can be used in Google Ads for:
|
||||
- Remarketing campaigns
|
||||
- Customer match
|
||||
- Similar audiences
|
||||
380
skills/analytics-tracking/references/gtm-implementation.md
Normal file
380
skills/analytics-tracking/references/gtm-implementation.md
Normal file
@@ -0,0 +1,380 @@
|
||||
# Google Tag Manager Implementation Reference
|
||||
|
||||
Detailed guide for implementing tracking via Google Tag Manager.
|
||||
|
||||
## Container Structure
|
||||
|
||||
### Tags
|
||||
|
||||
Tags are code snippets that execute when triggered.
|
||||
|
||||
**Common tag types:**
|
||||
- GA4 Configuration (base setup)
|
||||
- GA4 Event (custom events)
|
||||
- Google Ads Conversion
|
||||
- Facebook Pixel
|
||||
- LinkedIn Insight Tag
|
||||
- Custom HTML (for other pixels)
|
||||
|
||||
### Triggers
|
||||
|
||||
Triggers define when tags fire.
|
||||
|
||||
**Built-in triggers:**
|
||||
- Page View: All Pages, DOM Ready, Window Loaded
|
||||
- Click: All Elements, Just Links
|
||||
- Form Submission
|
||||
- Scroll Depth
|
||||
- Timer
|
||||
- Element Visibility
|
||||
|
||||
**Custom triggers:**
|
||||
- Custom Event (from dataLayer)
|
||||
- Trigger Groups (multiple conditions)
|
||||
|
||||
### Variables
|
||||
|
||||
Variables capture dynamic values.
|
||||
|
||||
**Built-in (enable as needed):**
|
||||
- Click Text, Click URL, Click ID, Click Classes
|
||||
- Page Path, Page URL, Page Hostname
|
||||
- Referrer
|
||||
- Form Element, Form ID
|
||||
|
||||
**User-defined:**
|
||||
- Data Layer variables
|
||||
- JavaScript variables
|
||||
- Lookup tables
|
||||
- RegEx tables
|
||||
- Constants
|
||||
|
||||
---
|
||||
|
||||
## Naming Conventions
|
||||
|
||||
### Recommended Format
|
||||
|
||||
```
|
||||
[Type] - [Description] - [Detail]
|
||||
|
||||
Tags:
|
||||
GA4 - Event - Signup Completed
|
||||
GA4 - Config - Base Configuration
|
||||
FB - Pixel - Page View
|
||||
HTML - LiveChat Widget
|
||||
|
||||
Triggers:
|
||||
Click - CTA Button
|
||||
Submit - Contact Form
|
||||
View - Pricing Page
|
||||
Custom - signup_completed
|
||||
|
||||
Variables:
|
||||
DL - user_id
|
||||
JS - Current Timestamp
|
||||
LT - Campaign Source Map
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Data Layer Patterns
|
||||
|
||||
### Basic Structure
|
||||
|
||||
```javascript
|
||||
// Initialize (in <head> before GTM)
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
|
||||
// Push event
|
||||
dataLayer.push({
|
||||
'event': 'event_name',
|
||||
'property1': 'value1',
|
||||
'property2': 'value2'
|
||||
});
|
||||
```
|
||||
|
||||
### Page Load Data
|
||||
|
||||
```javascript
|
||||
// Set on page load (before GTM container)
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
dataLayer.push({
|
||||
'pageType': 'product',
|
||||
'contentGroup': 'products',
|
||||
'user': {
|
||||
'loggedIn': true,
|
||||
'userId': '12345',
|
||||
'userType': 'premium'
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
### Form Submission
|
||||
|
||||
```javascript
|
||||
document.querySelector('#contact-form').addEventListener('submit', function() {
|
||||
dataLayer.push({
|
||||
'event': 'form_submitted',
|
||||
'formName': 'contact',
|
||||
'formLocation': 'footer'
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
### Button Click
|
||||
|
||||
```javascript
|
||||
document.querySelector('.cta-button').addEventListener('click', function() {
|
||||
dataLayer.push({
|
||||
'event': 'cta_clicked',
|
||||
'ctaText': this.innerText,
|
||||
'ctaLocation': 'hero'
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
### E-commerce Events
|
||||
|
||||
```javascript
|
||||
// Product view
|
||||
dataLayer.push({ ecommerce: null }); // Clear previous
|
||||
dataLayer.push({
|
||||
'event': 'view_item',
|
||||
'ecommerce': {
|
||||
'items': [{
|
||||
'item_id': 'SKU123',
|
||||
'item_name': 'Product Name',
|
||||
'price': 99.99,
|
||||
'item_category': 'Category',
|
||||
'quantity': 1
|
||||
}]
|
||||
}
|
||||
});
|
||||
|
||||
// Add to cart
|
||||
dataLayer.push({ ecommerce: null });
|
||||
dataLayer.push({
|
||||
'event': 'add_to_cart',
|
||||
'ecommerce': {
|
||||
'items': [{
|
||||
'item_id': 'SKU123',
|
||||
'item_name': 'Product Name',
|
||||
'price': 99.99,
|
||||
'quantity': 1
|
||||
}]
|
||||
}
|
||||
});
|
||||
|
||||
// Purchase
|
||||
dataLayer.push({ ecommerce: null });
|
||||
dataLayer.push({
|
||||
'event': 'purchase',
|
||||
'ecommerce': {
|
||||
'transaction_id': 'T12345',
|
||||
'value': 99.99,
|
||||
'currency': 'USD',
|
||||
'tax': 5.00,
|
||||
'shipping': 10.00,
|
||||
'items': [{
|
||||
'item_id': 'SKU123',
|
||||
'item_name': 'Product Name',
|
||||
'price': 99.99,
|
||||
'quantity': 1
|
||||
}]
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Common Tag Configurations
|
||||
|
||||
### GA4 Configuration Tag
|
||||
|
||||
**Tag Type:** Google Analytics: GA4 Configuration
|
||||
|
||||
**Settings:**
|
||||
- Measurement ID: G-XXXXXXXX
|
||||
- Send page view: Checked (for pageviews)
|
||||
- User Properties: Add any user-level dimensions
|
||||
|
||||
**Trigger:** All Pages
|
||||
|
||||
### GA4 Event Tag
|
||||
|
||||
**Tag Type:** Google Analytics: GA4 Event
|
||||
|
||||
**Settings:**
|
||||
- Configuration Tag: Select your config tag
|
||||
- Event Name: {{DL - event_name}} or hardcode
|
||||
- Event Parameters: Add parameters from dataLayer
|
||||
|
||||
**Trigger:** Custom Event with event name match
|
||||
|
||||
### Facebook Pixel - Base
|
||||
|
||||
**Tag Type:** Custom HTML
|
||||
|
||||
```html
|
||||
<script>
|
||||
!function(f,b,e,v,n,t,s)
|
||||
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
||||
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
||||
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
|
||||
n.queue=[];t=b.createElement(e);t.async=!0;
|
||||
t.src=v;s=b.getElementsByTagName(e)[0];
|
||||
s.parentNode.insertBefore(t,s)}(window, document,'script',
|
||||
'https://connect.facebook.net/en_US/fbevents.js');
|
||||
fbq('init', 'YOUR_PIXEL_ID');
|
||||
fbq('track', 'PageView');
|
||||
</script>
|
||||
```
|
||||
|
||||
**Trigger:** All Pages
|
||||
|
||||
### Facebook Pixel - Event
|
||||
|
||||
**Tag Type:** Custom HTML
|
||||
|
||||
```html
|
||||
<script>
|
||||
fbq('track', 'Lead', {
|
||||
content_name: '{{DL - form_name}}'
|
||||
});
|
||||
</script>
|
||||
```
|
||||
|
||||
**Trigger:** Custom Event - form_submitted
|
||||
|
||||
---
|
||||
|
||||
## Preview and Debug
|
||||
|
||||
### Preview Mode
|
||||
|
||||
1. Click "Preview" in GTM
|
||||
2. Enter site URL
|
||||
3. GTM debug panel opens at bottom
|
||||
|
||||
**What to check:**
|
||||
- Tags fired on this event
|
||||
- Tags not fired (and why)
|
||||
- Variables and their values
|
||||
- Data layer contents
|
||||
|
||||
### Debug Tips
|
||||
|
||||
**Tag not firing:**
|
||||
- Check trigger conditions
|
||||
- Verify data layer push
|
||||
- Check tag sequencing
|
||||
|
||||
**Wrong variable value:**
|
||||
- Check data layer structure
|
||||
- Verify variable path (nested objects)
|
||||
- Check timing (data may not exist yet)
|
||||
|
||||
**Multiple firings:**
|
||||
- Check trigger uniqueness
|
||||
- Look for duplicate tags
|
||||
- Check tag firing options
|
||||
|
||||
---
|
||||
|
||||
## Workspaces and Versioning
|
||||
|
||||
### Workspaces
|
||||
|
||||
Use workspaces for team collaboration:
|
||||
- Default workspace for production
|
||||
- Separate workspaces for large changes
|
||||
- Merge when ready
|
||||
|
||||
### Version Management
|
||||
|
||||
**Best practices:**
|
||||
- Name every version descriptively
|
||||
- Add notes explaining changes
|
||||
- Review changes before publish
|
||||
- Keep production version noted
|
||||
|
||||
**Version notes example:**
|
||||
```
|
||||
v15: Added purchase conversion tracking
|
||||
- New tag: GA4 - Event - Purchase
|
||||
- New trigger: Custom Event - purchase
|
||||
- New variables: DL - transaction_id, DL - value
|
||||
- Tested: Chrome, Safari, Mobile
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Consent Management
|
||||
|
||||
### Consent Mode Integration
|
||||
|
||||
```javascript
|
||||
// Default state (before consent)
|
||||
gtag('consent', 'default', {
|
||||
'analytics_storage': 'denied',
|
||||
'ad_storage': 'denied'
|
||||
});
|
||||
|
||||
// Update on consent
|
||||
function grantConsent() {
|
||||
gtag('consent', 'update', {
|
||||
'analytics_storage': 'granted',
|
||||
'ad_storage': 'granted'
|
||||
});
|
||||
}
|
||||
```
|
||||
|
||||
### GTM Consent Overview
|
||||
|
||||
1. Enable Consent Overview in Admin
|
||||
2. Configure consent for each tag
|
||||
3. Tags respect consent state automatically
|
||||
|
||||
---
|
||||
|
||||
## Advanced Patterns
|
||||
|
||||
### Tag Sequencing
|
||||
|
||||
**Setup tags to fire in order:**
|
||||
Tag Configuration > Advanced Settings > Tag Sequencing
|
||||
|
||||
**Use cases:**
|
||||
- Config tag before event tags
|
||||
- Pixel initialization before tracking
|
||||
- Cleanup after conversion
|
||||
|
||||
### Exception Handling
|
||||
|
||||
**Trigger exceptions** - Prevent tag from firing:
|
||||
- Exclude certain pages
|
||||
- Exclude internal traffic
|
||||
- Exclude during testing
|
||||
|
||||
### Custom JavaScript Variables
|
||||
|
||||
```javascript
|
||||
// Get URL parameter
|
||||
function() {
|
||||
var params = new URLSearchParams(window.location.search);
|
||||
return params.get('campaign') || '(not set)';
|
||||
}
|
||||
|
||||
// Get cookie value
|
||||
function() {
|
||||
var match = document.cookie.match('(^|;) ?user_id=([^;]*)(;|$)');
|
||||
return match ? match[2] : null;
|
||||
}
|
||||
|
||||
// Get data from page
|
||||
function() {
|
||||
var el = document.querySelector('.product-price');
|
||||
return el ? parseFloat(el.textContent.replace('$', '')) : 0;
|
||||
}
|
||||
```
|
||||
@@ -15,14 +15,12 @@ If `.claude/product-marketing-context.md` exists, read it before asking question
|
||||
Gather this context (ask if not provided):
|
||||
|
||||
### 1. Page Purpose
|
||||
- What type of page is this? (homepage, landing page, pricing, feature, about)
|
||||
- What type of page? (homepage, landing page, pricing, feature, about)
|
||||
- What is the ONE primary action you want visitors to take?
|
||||
- What's the secondary action (if any)?
|
||||
|
||||
### 2. Audience
|
||||
- Who is the ideal customer for this page?
|
||||
- Who is the ideal customer?
|
||||
- What problem are they trying to solve?
|
||||
- What have they already tried?
|
||||
- What objections or hesitations do they have?
|
||||
- What language do they use to describe their problem?
|
||||
|
||||
@@ -35,66 +33,49 @@ Gather this context (ask if not provided):
|
||||
### 4. Context
|
||||
- Where is traffic coming from? (ads, organic, email)
|
||||
- What do visitors already know before arriving?
|
||||
- What messaging are they seeing before this page?
|
||||
|
||||
---
|
||||
|
||||
## Copywriting Principles
|
||||
|
||||
### Clarity Over Cleverness
|
||||
- If you have to choose between clear and creative, choose clear
|
||||
- Every sentence should have one job
|
||||
- Remove words that don't add meaning
|
||||
If you have to choose between clear and creative, choose clear.
|
||||
|
||||
### Benefits Over Features
|
||||
- Features: What it does
|
||||
- Benefits: What that means for the customer
|
||||
- Always connect features to outcomes
|
||||
Features: What it does. Benefits: What that means for the customer.
|
||||
|
||||
### Specificity Over Vagueness
|
||||
- Vague: "Save time on your workflow"
|
||||
- Specific: "Cut your weekly reporting from 4 hours to 15 minutes"
|
||||
|
||||
### Customer Language Over Company Language
|
||||
- Use words your customers use
|
||||
- Avoid jargon unless your audience uses it
|
||||
- Mirror voice-of-customer from reviews, interviews, support tickets
|
||||
Use words your customers use. Mirror voice-of-customer from reviews, interviews, support tickets.
|
||||
|
||||
### One Idea Per Section
|
||||
- Don't try to say everything everywhere
|
||||
- Each section should advance one argument
|
||||
- Build a logical flow down the page
|
||||
Each section should advance one argument. Build a logical flow down the page.
|
||||
|
||||
---
|
||||
|
||||
## Writing Style Rules
|
||||
|
||||
Follow these core principles. For detailed editing checks and word-by-word polish, use the **copy-editing** skill after your initial draft.
|
||||
### Core Principles
|
||||
|
||||
### Core Style Principles
|
||||
|
||||
1. **Simple over complex** — Use everyday words. "Use" instead of "utilize," "help" instead of "facilitate."
|
||||
|
||||
2. **Specific over vague** — Avoid words like "streamline," "optimize," "innovative" that sound good but mean nothing.
|
||||
|
||||
3. **Active over passive** — "We generate reports" not "Reports are generated."
|
||||
|
||||
4. **Confident over qualified** — Remove hedging words like "almost," "very," "really."
|
||||
|
||||
5. **Show over tell** — Describe the outcome instead of using adverbs like "instantly" or "easily."
|
||||
|
||||
6. **Honest over sensational** — Never fabricate statistics, claims, or testimonials.
|
||||
1. **Simple over complex** — "Use" not "utilize," "help" not "facilitate"
|
||||
2. **Specific over vague** — Avoid "streamline," "optimize," "innovative"
|
||||
3. **Active over passive** — "We generate reports" not "Reports are generated"
|
||||
4. **Confident over qualified** — Remove "almost," "very," "really"
|
||||
5. **Show over tell** — Describe the outcome instead of using adverbs
|
||||
6. **Honest over sensational** — Never fabricate statistics or testimonials
|
||||
|
||||
### Quick Quality Check
|
||||
|
||||
Before finalizing, scan for:
|
||||
- Jargon that could confuse outsiders
|
||||
- Sentences trying to do too much (max 3 conjunctions)
|
||||
- Passive voice constructions
|
||||
- Exclamation points (remove them)
|
||||
- Marketing buzzwords without substance
|
||||
- Jargon that could confuse outsiders?
|
||||
- Sentences trying to do too much?
|
||||
- Passive voice constructions?
|
||||
- Exclamation points? (remove them)
|
||||
- Marketing buzzwords without substance?
|
||||
|
||||
For a thorough line-by-line review, run the copy through the **copy-editing** skill's Seven Sweeps framework.
|
||||
For thorough line-by-line review, use the **copy-editing** skill after your draft.
|
||||
|
||||
---
|
||||
|
||||
@@ -109,252 +90,71 @@ Get to the point. Don't bury the value in qualifications.
|
||||
|
||||
### Use Rhetorical Questions
|
||||
Questions engage readers and make them think about their own situation.
|
||||
- "Hate returning stuff to Amazon?"
|
||||
- "Tired of chasing approvals?"
|
||||
|
||||
✅ Hate returning stuff to Amazon?
|
||||
|
||||
✅ Need to share a screenshot?
|
||||
|
||||
✅ Tired of chasing approvals?
|
||||
|
||||
### Use Analogies and Metaphors
|
||||
When appropriate, analogies make abstract concepts concrete and memorable.
|
||||
|
||||
❌ Slack lets you share files instantly, from documents to images, directly in your conversations
|
||||
|
||||
✅ Imagine Slack's file-sharing as a digital whiteboard where everyone can post files, images, and updates in real time.
|
||||
### Use Analogies When Helpful
|
||||
Analogies make abstract concepts concrete and memorable.
|
||||
|
||||
### Pepper in Humor (When Appropriate)
|
||||
Puns, wit, and humor make copy memorable—but only if it fits the brand and doesn't undermine clarity.
|
||||
Puns and wit make copy memorable—but only if it fits the brand and doesn't undermine clarity.
|
||||
|
||||
---
|
||||
|
||||
## Page Structure Framework
|
||||
|
||||
### Above the Fold (First Screen)
|
||||
### Above the Fold
|
||||
|
||||
**Headline**
|
||||
- Your single most important message
|
||||
- Should communicate core value proposition
|
||||
- Communicate core value proposition
|
||||
- Specific > generic
|
||||
|
||||
**Headline Formulas:**
|
||||
**Example formulas:**
|
||||
- "{Achieve outcome} without {pain point}"
|
||||
- "The {category} for {audience}"
|
||||
- "Never {unpleasant event} again"
|
||||
- "{Question highlighting main pain point}"
|
||||
|
||||
**{Achieve desirable outcome} without {pain point}**
|
||||
*Example: Understand how users are really experiencing your site without drowning in numbers*
|
||||
|
||||
**The {opposite of usual process} way to {achieve desirable outcome}**
|
||||
*Example: The easiest way to turn your passion into income*
|
||||
|
||||
**Never {unpleasant event} again**
|
||||
*Example: Never miss a sales opportunity again*
|
||||
|
||||
**{Key feature/product type} for {target audience}**
|
||||
*Example: Advanced analytics for Shopify e-commerce*
|
||||
|
||||
**{Key feature/product type} for {target audience} to {what it's used for}**
|
||||
*Example: An online whiteboard for teams to ideate and brainstorm together*
|
||||
|
||||
**You don't have to {skills or resources} to {achieve desirable outcome}**
|
||||
*Example: With Ahrefs, you don't have to be an SEO pro to rank higher and get more traffic*
|
||||
|
||||
**{Achieve desirable outcome} by {how product makes it possible}**
|
||||
*Example: Generate more leads by seeing which companies visit your site*
|
||||
|
||||
**{Key benefit of your product}**
|
||||
*Example: Sound clear in online meetings*
|
||||
|
||||
**{Question highlighting the main pain point}**
|
||||
*Example: Hate returning stuff to Amazon?*
|
||||
|
||||
**Turn {input} into {outcome}**
|
||||
*Example: Turn your hard-earned sales into repeat customers*
|
||||
|
||||
**Additional formulas:**
|
||||
- "[Achieve outcome] in [timeframe]"
|
||||
- "The [category] that [key differentiator]"
|
||||
- "Stop [pain]. Start [pleasure]."
|
||||
- "[Number] [people] use [product] to [outcome]"
|
||||
**For comprehensive headline formulas**: See [references/copy-frameworks.md](references/copy-frameworks.md)
|
||||
|
||||
**Subheadline**
|
||||
- Expands on the headline
|
||||
- Adds specificity or addresses secondary concern
|
||||
- Expands on headline
|
||||
- Adds specificity
|
||||
- 1-2 sentences max
|
||||
|
||||
**Primary CTA**
|
||||
- Action-oriented button text
|
||||
- Communicate what they get, not what they do
|
||||
- "Start Free Trial" > "Sign Up"
|
||||
- "Get Your Report" > "Submit"
|
||||
- Communicate what they get: "Start Free Trial" > "Sign Up"
|
||||
|
||||
**Supporting Visual**
|
||||
- Product screenshot, demo, or hero image
|
||||
- Should reinforce the message, not distract
|
||||
### Core Sections
|
||||
|
||||
### Social Proof Section
|
||||
| Section | Purpose |
|
||||
|---------|---------|
|
||||
| Social Proof | Build credibility (logos, stats, testimonials) |
|
||||
| Problem/Pain | Show you understand their situation |
|
||||
| Solution/Benefits | Connect to outcomes (3-5 key benefits) |
|
||||
| How It Works | Reduce perceived complexity (3-4 steps) |
|
||||
| Objection Handling | FAQ, comparisons, guarantees |
|
||||
| Final CTA | Recap value, repeat CTA, risk reversal |
|
||||
|
||||
Options (use 1-2):
|
||||
- Customer logos (recognizable > many)
|
||||
- Key metric ("10,000+ teams")
|
||||
- Short testimonial with attribution
|
||||
- Star rating with review count
|
||||
|
||||
### Problem/Pain Section
|
||||
|
||||
- Articulate the problem better than they can
|
||||
- Show you understand their situation
|
||||
- Create recognition ("that's exactly my problem")
|
||||
|
||||
Structure:
|
||||
- "You know the feeling..." or "If you're like most [role]..."
|
||||
- Describe the specific frustrations
|
||||
- Hint at the cost of not solving it
|
||||
|
||||
### Solution/Benefits Section
|
||||
|
||||
- Bridge from problem to your solution
|
||||
- Focus on 3-5 key benefits (not 10)
|
||||
- Each benefit: headline + short explanation + proof point if available
|
||||
|
||||
Format options:
|
||||
- Benefit blocks with icons
|
||||
- Before/after comparison
|
||||
- Feature → Benefit → Proof structure
|
||||
|
||||
### How It Works Section
|
||||
|
||||
- Reduce perceived complexity
|
||||
- 3-4 step process
|
||||
- Each step: simple action + outcome
|
||||
|
||||
Example:
|
||||
1. "Connect your tools (2 minutes)"
|
||||
2. "Set your preferences"
|
||||
3. "Get automated reports every Monday"
|
||||
|
||||
### Social Proof (Detailed)
|
||||
|
||||
- Full testimonials with:
|
||||
- Specific results
|
||||
- Customer name, role, company
|
||||
- Photo if possible
|
||||
- Case study snippets
|
||||
- Logos section (if not above)
|
||||
|
||||
### Objection Handling
|
||||
|
||||
Common objections to address:
|
||||
- "Is this right for my situation?"
|
||||
- "What if it doesn't work?"
|
||||
- "Is it hard to set up?"
|
||||
- "How is this different from X?"
|
||||
|
||||
Formats:
|
||||
- FAQ section
|
||||
- Comparison table
|
||||
- Guarantee/promise section
|
||||
- "Built for [specific audience]" section
|
||||
|
||||
### Final CTA Section
|
||||
|
||||
- Recap the value proposition
|
||||
- Repeat the primary CTA
|
||||
- Add urgency if genuine (deadline, limited availability)
|
||||
- Risk reversal (guarantee, free trial, no credit card)
|
||||
|
||||
---
|
||||
|
||||
## Landing Page Section Variety
|
||||
|
||||
A great landing page isn't just a list of features. Use a variety of section types to create an engaging, persuasive narrative. Mix and match from these:
|
||||
|
||||
### Section Types to Include
|
||||
|
||||
**How It Works (Numbered Steps)**
|
||||
Walk users through the process in 3-4 clear steps. Reduces perceived complexity and shows the path to value.
|
||||
|
||||
**Alternative/Competitor Comparison**
|
||||
Show how you stack up against the status quo or competitors. Tables, side-by-side comparisons, or "Unlike X, we..." sections.
|
||||
|
||||
**Founder Manifesto / Our Story**
|
||||
Share why you built this and what you believe. Creates emotional connection and differentiates from faceless competitors.
|
||||
|
||||
**Testimonials**
|
||||
Customer quotes with names, photos, and specific results. Multiple formats: quote cards, video testimonials, tweet embeds.
|
||||
|
||||
**Case Studies**
|
||||
Deeper stories of customer success. Problem → Solution → Results format with specific metrics.
|
||||
|
||||
**Use Cases**
|
||||
Show different ways the product is used. Helps visitors self-identify: "This is for people like me."
|
||||
|
||||
**Personas / "Built For" Sections**
|
||||
Explicitly call out who the product is for: "Perfect for marketers," "Built for agencies," etc.
|
||||
|
||||
**Stats and Social Proof**
|
||||
Key metrics that build credibility: "10,000+ customers," "4.9/5 rating," "$2M saved for customers."
|
||||
|
||||
**Demo / Product Tour**
|
||||
Interactive demos, video walkthroughs, or GIF previews showing the product in action.
|
||||
|
||||
**FAQ Section**
|
||||
Address common objections and questions. Good for SEO and reducing support burden.
|
||||
|
||||
**Integrations / Partners**
|
||||
Show what tools you connect with. Logos build credibility and answer "Will this work with my stack?"
|
||||
|
||||
**Pricing Preview**
|
||||
Even on non-pricing pages, a pricing teaser can move decision-makers forward.
|
||||
|
||||
**Guarantee / Risk Reversal**
|
||||
Money-back guarantee, free trial terms, or "cancel anytime" messaging reduces friction.
|
||||
|
||||
### Recommended Section Mix
|
||||
|
||||
For a landing page, aim for variety. Don't just stack features:
|
||||
|
||||
**Typical Feature-Heavy Page (Weak):**
|
||||
1. Hero
|
||||
2. Feature 1
|
||||
3. Feature 2
|
||||
4. Feature 3
|
||||
5. Feature 4
|
||||
6. CTA
|
||||
|
||||
**Varied, Engaging Page (Strong):**
|
||||
1. Hero with clear value prop
|
||||
2. Social proof bar (logos or stats)
|
||||
3. Problem/pain section
|
||||
4. How it works (3 steps)
|
||||
5. Key benefits (2-3, not 10)
|
||||
6. Testimonial
|
||||
7. Use cases or personas
|
||||
8. Comparison to alternatives
|
||||
9. Case study snippet
|
||||
10. FAQ
|
||||
11. Final CTA with guarantee
|
||||
**For detailed section types and page templates**: See [references/copy-frameworks.md](references/copy-frameworks.md)
|
||||
|
||||
---
|
||||
|
||||
## CTA Copy Guidelines
|
||||
|
||||
**Weak CTAs (avoid):**
|
||||
- Submit
|
||||
- Sign Up
|
||||
- Learn More
|
||||
- Click Here
|
||||
- Get Started
|
||||
- Submit, Sign Up, Learn More, Click Here, Get Started
|
||||
|
||||
**Strong CTAs (use):**
|
||||
- Start Free Trial
|
||||
- Get [Specific Thing]
|
||||
- See [Product] in Action
|
||||
- Create Your First [Thing]
|
||||
- Book My Demo
|
||||
- Download the Guide
|
||||
- Try It Free
|
||||
|
||||
**CTA formula:**
|
||||
[Action Verb] + [What They Get] + [Qualifier if needed]
|
||||
**Formula:** [Action Verb] + [What They Get] + [Qualifier if needed]
|
||||
|
||||
Examples:
|
||||
- "Start My Free Trial"
|
||||
@@ -363,72 +163,36 @@ Examples:
|
||||
|
||||
---
|
||||
|
||||
## Output Format
|
||||
|
||||
When writing copy, provide:
|
||||
|
||||
### Page Copy
|
||||
Organized by section with clear labels:
|
||||
- Headline
|
||||
- Subheadline
|
||||
- CTA
|
||||
- Section headers
|
||||
- Body copy
|
||||
- Secondary CTAs
|
||||
|
||||
### Annotations
|
||||
For key elements, explain:
|
||||
- Why you made this choice
|
||||
- What principle it applies
|
||||
- Alternatives considered
|
||||
|
||||
### Alternatives
|
||||
For headlines and CTAs, provide 2-3 options:
|
||||
- Option A: [copy] — [rationale]
|
||||
- Option B: [copy] — [rationale]
|
||||
- Option C: [copy] — [rationale]
|
||||
|
||||
### Meta Content (if relevant)
|
||||
- Page title (for SEO)
|
||||
- Meta description
|
||||
|
||||
---
|
||||
|
||||
## Page-Specific Guidance
|
||||
|
||||
### Homepage Copy
|
||||
### Homepage
|
||||
- Serve multiple audiences without being generic
|
||||
- Lead with broadest value proposition
|
||||
- Provide clear paths for different visitor intents
|
||||
- Balance "ready to buy" and "still researching"
|
||||
|
||||
### Landing Page Copy
|
||||
### Landing Page
|
||||
- Single message, single CTA
|
||||
- Match headline to ad/traffic source
|
||||
- Complete argument on one page
|
||||
- Remove distractions (often no nav)
|
||||
|
||||
### Pricing Page Copy
|
||||
### Pricing Page
|
||||
- Help visitors choose the right plan
|
||||
- Clarify what's included at each level
|
||||
- Address "which is right for me?" anxiety
|
||||
- Make recommended plan obvious
|
||||
|
||||
### Feature Page Copy
|
||||
- Connect feature to benefit to outcome
|
||||
### Feature Page
|
||||
- Connect feature → benefit → outcome
|
||||
- Show use cases and examples
|
||||
- Differentiate from competitors' versions
|
||||
- Clear path to try or buy
|
||||
|
||||
### About Page Copy
|
||||
### About Page
|
||||
- Tell the story of why you exist
|
||||
- Connect company mission to customer benefit
|
||||
- Build trust through transparency
|
||||
- Still include a CTA (it's still a marketing page)
|
||||
- Connect mission to customer benefit
|
||||
- Still include a CTA
|
||||
|
||||
---
|
||||
|
||||
## Voice and Tone Considerations
|
||||
## Voice and Tone
|
||||
|
||||
Before writing, establish:
|
||||
|
||||
@@ -442,17 +206,43 @@ Before writing, establish:
|
||||
- Bold or understated?
|
||||
- Technical or accessible?
|
||||
|
||||
Maintain consistency throughout, but adjust intensity:
|
||||
Maintain consistency, but adjust intensity:
|
||||
- Headlines can be bolder
|
||||
- Body copy should be clearer
|
||||
- CTAs should be action-oriented
|
||||
|
||||
---
|
||||
|
||||
## Output Format
|
||||
|
||||
When writing copy, provide:
|
||||
|
||||
### Page Copy
|
||||
Organized by section:
|
||||
- Headline, Subheadline, CTA
|
||||
- Section headers and body copy
|
||||
- Secondary CTAs
|
||||
|
||||
### Annotations
|
||||
For key elements, explain:
|
||||
- Why you made this choice
|
||||
- What principle it applies
|
||||
|
||||
### Alternatives
|
||||
For headlines and CTAs, provide 2-3 options:
|
||||
- Option A: [copy] — [rationale]
|
||||
- Option B: [copy] — [rationale]
|
||||
|
||||
### Meta Content (if relevant)
|
||||
- Page title (for SEO)
|
||||
- Meta description
|
||||
|
||||
---
|
||||
|
||||
## Related Skills
|
||||
|
||||
- **copy-editing**: For polishing and improving existing copy (use after writing your first draft)
|
||||
- **page-cro**: If the page structure/strategy needs work, not just copy
|
||||
- **copy-editing**: For polishing existing copy (use after your draft)
|
||||
- **page-cro**: If page structure/strategy needs work, not just copy
|
||||
- **email-sequence**: For email copywriting
|
||||
- **popup-cro**: For popup and modal copy
|
||||
- **ab-test-setup**: To test copy variations properly
|
||||
- **ab-test-setup**: To test copy variations
|
||||
|
||||
338
skills/copywriting/references/copy-frameworks.md
Normal file
338
skills/copywriting/references/copy-frameworks.md
Normal file
@@ -0,0 +1,338 @@
|
||||
# Copy Frameworks Reference
|
||||
|
||||
Headline formulas, page section types, and structural templates.
|
||||
|
||||
## Headline Formulas
|
||||
|
||||
### Outcome-Focused
|
||||
|
||||
**{Achieve desirable outcome} without {pain point}**
|
||||
> Understand how users are really experiencing your site without drowning in numbers
|
||||
|
||||
**{Achieve desirable outcome} by {how product makes it possible}**
|
||||
> Generate more leads by seeing which companies visit your site
|
||||
|
||||
**Turn {input} into {outcome}**
|
||||
> Turn your hard-earned sales into repeat customers
|
||||
|
||||
**[Achieve outcome] in [timeframe]**
|
||||
> Get your tax refund in 10 days
|
||||
|
||||
---
|
||||
|
||||
### Problem-Focused
|
||||
|
||||
**Never {unpleasant event} again**
|
||||
> Never miss a sales opportunity again
|
||||
|
||||
**{Question highlighting the main pain point}**
|
||||
> Hate returning stuff to Amazon?
|
||||
|
||||
**Stop [pain]. Start [pleasure].**
|
||||
> Stop chasing invoices. Start getting paid on time.
|
||||
|
||||
---
|
||||
|
||||
### Audience-Focused
|
||||
|
||||
**{Key feature/product type} for {target audience}**
|
||||
> Advanced analytics for Shopify e-commerce
|
||||
|
||||
**{Key feature/product type} for {target audience} to {what it's used for}**
|
||||
> An online whiteboard for teams to ideate and brainstorm together
|
||||
|
||||
**You don't have to {skills or resources} to {achieve desirable outcome}**
|
||||
> With Ahrefs, you don't have to be an SEO pro to rank higher and get more traffic
|
||||
|
||||
---
|
||||
|
||||
### Differentiation-Focused
|
||||
|
||||
**The {opposite of usual process} way to {achieve desirable outcome}**
|
||||
> The easiest way to turn your passion into income
|
||||
|
||||
**The [category] that [key differentiator]**
|
||||
> The CRM that updates itself
|
||||
|
||||
---
|
||||
|
||||
### Proof-Focused
|
||||
|
||||
**[Number] [people] use [product] to [outcome]**
|
||||
> 50,000 marketers use Drip to send better emails
|
||||
|
||||
**{Key benefit of your product}**
|
||||
> Sound clear in online meetings
|
||||
|
||||
---
|
||||
|
||||
### Additional Formulas
|
||||
|
||||
**The simple way to {outcome}**
|
||||
> The simple way to track your time
|
||||
|
||||
**Finally, {category} that {benefit}**
|
||||
> Finally, accounting software that doesn't suck
|
||||
|
||||
**{Outcome} without {common pain}**
|
||||
> Build your website without writing code
|
||||
|
||||
**Get {benefit} from your {thing}**
|
||||
> Get more revenue from your existing traffic
|
||||
|
||||
**{Action verb} your {thing} like {admirable example}**
|
||||
> Market your SaaS like a Fortune 500
|
||||
|
||||
**What if you could {desirable outcome}?**
|
||||
> What if you could close deals 30% faster?
|
||||
|
||||
**Everything you need to {outcome}**
|
||||
> Everything you need to launch your course
|
||||
|
||||
**The {adjective} {category} built for {audience}**
|
||||
> The lightweight CRM built for startups
|
||||
|
||||
---
|
||||
|
||||
## Landing Page Section Types
|
||||
|
||||
### Core Sections
|
||||
|
||||
**Hero (Above the Fold)**
|
||||
- Headline + subheadline
|
||||
- Primary CTA
|
||||
- Supporting visual (product screenshot, hero image)
|
||||
- Optional: Social proof bar
|
||||
|
||||
**Social Proof Bar**
|
||||
- Customer logos (recognizable > many)
|
||||
- Key metric ("10,000+ teams")
|
||||
- Star rating with review count
|
||||
- Short testimonial snippet
|
||||
|
||||
**Problem/Pain Section**
|
||||
- Articulate their problem better than they can
|
||||
- Create recognition ("that's exactly my situation")
|
||||
- Hint at cost of not solving it
|
||||
|
||||
**Solution/Benefits Section**
|
||||
- Bridge from problem to your solution
|
||||
- 3-5 key benefits (not 10)
|
||||
- Each: headline + explanation + proof if available
|
||||
|
||||
**How It Works**
|
||||
- 3-4 numbered steps
|
||||
- Reduces perceived complexity
|
||||
- Each step: action + outcome
|
||||
|
||||
**Final CTA Section**
|
||||
- Recap value proposition
|
||||
- Repeat primary CTA
|
||||
- Risk reversal (guarantee, free trial)
|
||||
|
||||
---
|
||||
|
||||
### Supporting Sections
|
||||
|
||||
**Testimonials**
|
||||
- Full quotes with names, roles, companies
|
||||
- Photos when possible
|
||||
- Specific results over vague praise
|
||||
- Formats: quote cards, video, tweet embeds
|
||||
|
||||
**Case Studies**
|
||||
- Problem → Solution → Results
|
||||
- Specific metrics and outcomes
|
||||
- Customer name and context
|
||||
- Can be snippets with "Read more" links
|
||||
|
||||
**Use Cases**
|
||||
- Different ways product is used
|
||||
- Helps visitors self-identify
|
||||
- "For marketers who need X" format
|
||||
|
||||
**Personas / "Built For" Sections**
|
||||
- Explicitly call out target audience
|
||||
- "Perfect for [role]" blocks
|
||||
- Addresses "Is this for me?" question
|
||||
|
||||
**FAQ Section**
|
||||
- Address common objections
|
||||
- Good for SEO
|
||||
- Reduces support burden
|
||||
- 5-10 most common questions
|
||||
|
||||
**Comparison Section**
|
||||
- vs. competitors (name them or don't)
|
||||
- vs. status quo (spreadsheets, manual processes)
|
||||
- Tables or side-by-side format
|
||||
|
||||
**Integrations / Partners**
|
||||
- Logos of tools you connect with
|
||||
- "Works with your stack" messaging
|
||||
- Builds credibility
|
||||
|
||||
**Founder Story / Manifesto**
|
||||
- Why you built this
|
||||
- What you believe
|
||||
- Emotional connection
|
||||
- Differentiates from faceless competitors
|
||||
|
||||
**Demo / Product Tour**
|
||||
- Interactive demos
|
||||
- Video walkthroughs
|
||||
- GIF previews
|
||||
- Shows product in action
|
||||
|
||||
**Pricing Preview**
|
||||
- Teaser even on non-pricing pages
|
||||
- Starting price or "from $X/mo"
|
||||
- Moves decision-makers forward
|
||||
|
||||
**Guarantee / Risk Reversal**
|
||||
- Money-back guarantee
|
||||
- Free trial terms
|
||||
- "Cancel anytime"
|
||||
- Reduces friction
|
||||
|
||||
**Stats Section**
|
||||
- Key metrics that build credibility
|
||||
- "10,000+ customers"
|
||||
- "4.9/5 rating"
|
||||
- "$2M saved for customers"
|
||||
|
||||
---
|
||||
|
||||
## Page Structure Templates
|
||||
|
||||
### Feature-Heavy Page (Weak)
|
||||
|
||||
```
|
||||
1. Hero
|
||||
2. Feature 1
|
||||
3. Feature 2
|
||||
4. Feature 3
|
||||
5. Feature 4
|
||||
6. CTA
|
||||
```
|
||||
|
||||
This is a list, not a persuasive narrative.
|
||||
|
||||
---
|
||||
|
||||
### Varied, Engaging Page (Strong)
|
||||
|
||||
```
|
||||
1. Hero with clear value prop
|
||||
2. Social proof bar (logos or stats)
|
||||
3. Problem/pain section
|
||||
4. How it works (3 steps)
|
||||
5. Key benefits (2-3, not 10)
|
||||
6. Testimonial
|
||||
7. Use cases or personas
|
||||
8. Comparison to alternatives
|
||||
9. Case study snippet
|
||||
10. FAQ
|
||||
11. Final CTA with guarantee
|
||||
```
|
||||
|
||||
This tells a story and addresses objections.
|
||||
|
||||
---
|
||||
|
||||
### Compact Landing Page
|
||||
|
||||
```
|
||||
1. Hero (headline, subhead, CTA, image)
|
||||
2. Social proof bar
|
||||
3. 3 key benefits with icons
|
||||
4. Testimonial
|
||||
5. How it works (3 steps)
|
||||
6. Final CTA with guarantee
|
||||
```
|
||||
|
||||
Good for ad landing pages where brevity matters.
|
||||
|
||||
---
|
||||
|
||||
### Enterprise/B2B Landing Page
|
||||
|
||||
```
|
||||
1. Hero (outcome-focused headline)
|
||||
2. Logo bar (recognizable companies)
|
||||
3. Problem section (business pain)
|
||||
4. Solution overview
|
||||
5. Use cases by role/department
|
||||
6. Security/compliance section
|
||||
7. Integration logos
|
||||
8. Case study with metrics
|
||||
9. ROI/value section
|
||||
10. Contact/demo CTA
|
||||
```
|
||||
|
||||
Addresses enterprise buyer concerns.
|
||||
|
||||
---
|
||||
|
||||
### Product Launch Page
|
||||
|
||||
```
|
||||
1. Hero with launch announcement
|
||||
2. Video demo or walkthrough
|
||||
3. Feature highlights (3-5)
|
||||
4. Before/after comparison
|
||||
5. Early testimonials
|
||||
6. Launch pricing or early access offer
|
||||
7. CTA with urgency
|
||||
```
|
||||
|
||||
Good for ProductHunt, launches, or announcements.
|
||||
|
||||
---
|
||||
|
||||
## Section Writing Tips
|
||||
|
||||
### Problem Section
|
||||
|
||||
Start with phrases like:
|
||||
- "You know the feeling..."
|
||||
- "If you're like most [role]..."
|
||||
- "Every day, [audience] struggles with..."
|
||||
- "We've all been there..."
|
||||
|
||||
Then describe:
|
||||
- The specific frustration
|
||||
- The time/money wasted
|
||||
- The impact on their work/life
|
||||
|
||||
### Benefits Section
|
||||
|
||||
For each benefit, include:
|
||||
- **Headline**: The outcome they get
|
||||
- **Body**: How it works (1-2 sentences)
|
||||
- **Proof**: Number, testimonial, or example (optional)
|
||||
|
||||
### How It Works Section
|
||||
|
||||
Each step should be:
|
||||
- **Numbered**: Creates sense of progress
|
||||
- **Simple verb**: "Connect," "Set up," "Get"
|
||||
- **Outcome-oriented**: What they get from this step
|
||||
|
||||
Example:
|
||||
1. Connect your tools (takes 2 minutes)
|
||||
2. Set your preferences
|
||||
3. Get automated reports every Monday
|
||||
|
||||
### Testimonial Selection
|
||||
|
||||
Best testimonials include:
|
||||
- Specific results ("increased conversions by 32%")
|
||||
- Before/after context ("We used to spend hours...")
|
||||
- Role + company for credibility
|
||||
- Something quotable and specific
|
||||
|
||||
Avoid testimonials that just say:
|
||||
- "Great product!"
|
||||
- "Love it!"
|
||||
- "Easy to use!"
|
||||
@@ -14,60 +14,40 @@ If `.claude/product-marketing-context.md` exists, read it before asking question
|
||||
|
||||
Before providing recommendations, understand:
|
||||
|
||||
1. **Product Context**
|
||||
- What type of product? (SaaS tool, marketplace, app, etc.)
|
||||
- B2B or B2C?
|
||||
- What's the core value proposition?
|
||||
|
||||
2. **Activation Definition**
|
||||
- What's the "aha moment" for your product?
|
||||
- What action indicates a user "gets it"?
|
||||
- What's your current activation rate?
|
||||
|
||||
3. **Current State**
|
||||
- What happens immediately after signup?
|
||||
- Is there an existing onboarding flow?
|
||||
- Where do users currently drop off?
|
||||
1. **Product Context** - What type of product? B2B or B2C? Core value proposition?
|
||||
2. **Activation Definition** - What's the "aha moment"? What action indicates a user "gets it"?
|
||||
3. **Current State** - What happens after signup? Where do users drop off?
|
||||
|
||||
---
|
||||
|
||||
## Core Principles
|
||||
|
||||
### 1. Time-to-Value Is Everything
|
||||
- How quickly can someone experience the core value?
|
||||
- Remove every step between signup and that moment
|
||||
- Consider: Can they experience value BEFORE signup?
|
||||
Remove every step between signup and experiencing core value.
|
||||
|
||||
### 2. One Goal Per Session
|
||||
- Don't try to teach everything at once
|
||||
- Focus first session on one successful outcome
|
||||
- Save advanced features for later
|
||||
Focus first session on one successful outcome. Save advanced features for later.
|
||||
|
||||
### 3. Do, Don't Show
|
||||
- Interactive > Tutorial
|
||||
- Doing the thing > Learning about the thing
|
||||
- Show UI in context of real tasks
|
||||
Interactive > Tutorial. Doing the thing > Learning about the thing.
|
||||
|
||||
### 4. Progress Creates Motivation
|
||||
- Show advancement
|
||||
- Celebrate completions
|
||||
- Make the path visible
|
||||
Show advancement. Celebrate completions. Make the path visible.
|
||||
|
||||
---
|
||||
|
||||
## Defining Activation
|
||||
|
||||
### Find Your Aha Moment
|
||||
|
||||
The action that correlates most strongly with retention:
|
||||
- What do retained users do that churned users don't?
|
||||
- What's the earliest indicator of future engagement?
|
||||
- What action demonstrates they "got it"?
|
||||
|
||||
**Examples by product type:**
|
||||
- Project management: Create first project + add team member
|
||||
- Analytics: Install tracking + see first report
|
||||
- Design tool: Create first design + export/share
|
||||
- Collaboration: Invite first teammate
|
||||
- Marketplace: Complete first transaction
|
||||
|
||||
### Activation Metrics
|
||||
@@ -82,18 +62,11 @@ The action that correlates most strongly with retention:
|
||||
|
||||
### Immediate Post-Signup (First 30 Seconds)
|
||||
|
||||
**Options:**
|
||||
1. **Product-first**: Drop directly into product
|
||||
- Best for: Simple products, B2C, mobile apps
|
||||
- Risk: Blank slate overwhelm
|
||||
|
||||
2. **Guided setup**: Short wizard to configure
|
||||
- Best for: Products needing personalization
|
||||
- Risk: Adds friction before value
|
||||
|
||||
3. **Value-first**: Show outcome immediately
|
||||
- Best for: Products with demo data or samples
|
||||
- Risk: May not feel "real"
|
||||
| Approach | Best For | Risk |
|
||||
|----------|----------|------|
|
||||
| Product-first | Simple products, B2C, mobile | Blank slate overwhelm |
|
||||
| Guided setup | Products needing personalization | Adds friction before value |
|
||||
| Value-first | Products with demo data | May not feel "real" |
|
||||
|
||||
**Whatever you choose:**
|
||||
- Clear single next action
|
||||
@@ -115,19 +88,6 @@ The action that correlates most strongly with retention:
|
||||
- Celebration on completion
|
||||
- Dismiss option (don't trap users)
|
||||
|
||||
**Checklist item structure:**
|
||||
- Clear action verb
|
||||
- Benefit hint
|
||||
- Estimated time
|
||||
- Quick-start capability
|
||||
|
||||
Example:
|
||||
```
|
||||
☐ Connect your first data source (2 min)
|
||||
Get real-time insights from your existing tools
|
||||
[Connect Now]
|
||||
```
|
||||
|
||||
### Empty States
|
||||
|
||||
Empty states are onboarding opportunities, not dead ends.
|
||||
@@ -138,44 +98,14 @@ Empty states are onboarding opportunities, not dead ends.
|
||||
- Clear primary action to add first item
|
||||
- Optional: Pre-populate with example data
|
||||
|
||||
**Structure:**
|
||||
1. Illustration or preview
|
||||
2. Brief explanation of value
|
||||
3. Primary CTA to add first item
|
||||
4. Optional: Secondary action (import, template)
|
||||
|
||||
### Tooltips and Guided Tours
|
||||
|
||||
**When to use:**
|
||||
- Complex UI that benefits from orientation
|
||||
- Features that aren't self-evident
|
||||
- Power features users might miss
|
||||
|
||||
**When to avoid:**
|
||||
- Simple, intuitive interfaces
|
||||
- Mobile apps (limited screen space)
|
||||
- When they interrupt important flows
|
||||
**When to use:** Complex UI, features that aren't self-evident, power features users might miss
|
||||
|
||||
**Best practices:**
|
||||
- Max 3-5 steps per tour
|
||||
- Point to actual UI elements
|
||||
- Dismissable at any time
|
||||
- Don't repeat for returning users
|
||||
- Consider user-initiated tours
|
||||
|
||||
### Progress Indicators
|
||||
|
||||
**Types:**
|
||||
- Checklist (discrete tasks)
|
||||
- Progress bar (% complete)
|
||||
- Level/stage indicator
|
||||
- Profile completeness
|
||||
|
||||
**Best practices:**
|
||||
- Show early progress (start at 20%, not 0%)
|
||||
- Quick early wins (first items easy to complete)
|
||||
- Clear benefit of completing
|
||||
- Don't block features behind completion
|
||||
|
||||
---
|
||||
|
||||
@@ -188,83 +118,40 @@ Empty states are onboarding opportunities, not dead ends.
|
||||
- Incomplete onboarding (24h, 72h)
|
||||
- Activation achieved (celebration + next step)
|
||||
- Feature discovery (days 3, 7, 14)
|
||||
- Stalled user re-engagement
|
||||
|
||||
**Email should:**
|
||||
- Reinforce in-app actions
|
||||
- Not duplicate in-app messaging
|
||||
- Reinforce in-app actions, not duplicate them
|
||||
- Drive back to product with specific CTA
|
||||
- Be personalized based on actions taken
|
||||
|
||||
### Push Notifications (Mobile)
|
||||
|
||||
- Permission timing is critical (not immediately)
|
||||
- Clear value proposition for enabling
|
||||
- Reserve for genuine value moments
|
||||
- Re-engagement for stalled users
|
||||
|
||||
---
|
||||
|
||||
## Engagement Loops
|
||||
|
||||
### Building Habits
|
||||
- What regular action should users take?
|
||||
- What trigger can prompt return?
|
||||
- What reward reinforces the behavior?
|
||||
|
||||
**Loop structure:**
|
||||
Trigger → Action → Variable Reward → Investment
|
||||
|
||||
**Examples:**
|
||||
- Trigger: Email digest of activity
|
||||
- Action: Log in to respond
|
||||
- Reward: Social engagement, progress, achievement
|
||||
- Investment: Add more data, connections, content
|
||||
|
||||
### Milestone Celebrations
|
||||
- Acknowledge meaningful achievements
|
||||
- Show progress relative to journey
|
||||
- Suggest next milestone
|
||||
- Shareable moments (social proof generation)
|
||||
|
||||
---
|
||||
|
||||
## Handling Stalled Users
|
||||
|
||||
### Detection
|
||||
- Define "stalled" criteria (X days inactive, incomplete setup)
|
||||
- Monitor at cohort level
|
||||
- Track recovery rate
|
||||
Define "stalled" criteria (X days inactive, incomplete setup)
|
||||
|
||||
### Re-engagement Tactics
|
||||
1. **Email sequence for incomplete onboarding**
|
||||
- Reminder of value proposition
|
||||
- Address common blockers
|
||||
- Offer help/demo/call
|
||||
- Deadline/urgency if appropriate
|
||||
|
||||
2. **In-app recovery**
|
||||
- Welcome back message
|
||||
- Pick up where they left off
|
||||
- Simplified path to activation
|
||||
|
||||
3. **Human touch**
|
||||
- For high-value accounts: personal outreach
|
||||
- Offer live walkthrough
|
||||
- Ask what's blocking them
|
||||
1. **Email sequence** - Reminder of value, address blockers, offer help
|
||||
2. **In-app recovery** - Welcome back, pick up where left off
|
||||
3. **Human touch** - For high-value accounts, personal outreach
|
||||
|
||||
---
|
||||
|
||||
## Measurement
|
||||
|
||||
### Key Metrics
|
||||
- **Activation rate**: % reaching activation event
|
||||
- **Time to activation**: How long to first value
|
||||
- **Onboarding completion**: % completing setup
|
||||
- **Day 1/7/30 retention**: Return rate by timeframe
|
||||
- **Feature adoption**: Which features get used
|
||||
|
||||
| Metric | Description |
|
||||
|--------|-------------|
|
||||
| Activation rate | % reaching activation event |
|
||||
| Time to activation | How long to first value |
|
||||
| Onboarding completion | % completing setup |
|
||||
| Day 1/7/30 retention | Return rate by timeframe |
|
||||
|
||||
### Funnel Analysis
|
||||
|
||||
Track drop-off at each step:
|
||||
```
|
||||
Signup → Step 1 → Step 2 → Activation → Retention
|
||||
@@ -278,142 +165,38 @@ Identify biggest drops and focus there.
|
||||
## Output Format
|
||||
|
||||
### Onboarding Audit
|
||||
For each issue:
|
||||
- **Finding**: What's happening
|
||||
- **Impact**: Why it matters
|
||||
- **Recommendation**: Specific fix
|
||||
- **Priority**: High/Medium/Low
|
||||
For each issue: Finding → Impact → Recommendation → Priority
|
||||
|
||||
### Onboarding Flow Design
|
||||
- **Activation goal**: What they should achieve
|
||||
- **Step-by-step flow**: Each screen/state
|
||||
- **Checklist items**: If applicable
|
||||
- **Empty states**: Copy and CTA
|
||||
- **Email sequence**: Triggers and content
|
||||
- **Metrics plan**: What to measure
|
||||
|
||||
### Copy Deliverables
|
||||
- Welcome screen copy
|
||||
- Checklist items with microcopy
|
||||
- Activation goal
|
||||
- Step-by-step flow
|
||||
- Checklist items (if applicable)
|
||||
- Empty state copy
|
||||
- Tooltip content
|
||||
- Email sequence copy
|
||||
- Milestone celebration copy
|
||||
- Email sequence triggers
|
||||
- Metrics plan
|
||||
|
||||
---
|
||||
|
||||
## Common Patterns by Product Type
|
||||
|
||||
### B2B SaaS Tool
|
||||
1. Short setup wizard (use case selection)
|
||||
2. First value-generating action
|
||||
3. Team invitation prompt
|
||||
4. Checklist for deeper setup
|
||||
|
||||
### Marketplace/Platform
|
||||
1. Complete profile
|
||||
2. First search/browse
|
||||
3. First transaction
|
||||
4. Repeat engagement loop
|
||||
|
||||
### Mobile App
|
||||
1. Permission requests (strategic timing)
|
||||
2. Quick win in first session
|
||||
3. Push notification setup
|
||||
4. Habit loop establishment
|
||||
|
||||
### Content/Social Platform
|
||||
1. Follow/customize feed
|
||||
2. First content consumption
|
||||
3. First content creation
|
||||
4. Social connection/engagement
|
||||
| Product Type | Key Steps |
|
||||
|--------------|-----------|
|
||||
| B2B SaaS | Setup wizard → First value action → Team invite → Deep setup |
|
||||
| Marketplace | Complete profile → Browse → First transaction → Repeat loop |
|
||||
| Mobile App | Permissions → Quick win → Push setup → Habit loop |
|
||||
| Content Platform | Follow/customize → Consume → Create → Engage |
|
||||
|
||||
---
|
||||
|
||||
## Experiment Ideas
|
||||
|
||||
### Flow Simplification Experiments
|
||||
When recommending experiments, consider tests for:
|
||||
- Flow simplification (step count, ordering)
|
||||
- Progress and motivation mechanics
|
||||
- Personalization by role or goal
|
||||
- Support and help availability
|
||||
|
||||
**Reduce Friction**
|
||||
- Add or remove email verification during onboarding
|
||||
- Test empty states vs. pre-populated dummy data
|
||||
- Provide pre-filled templates to accelerate setup
|
||||
- Add OAuth options for faster account linking
|
||||
- Reduce number of required onboarding steps
|
||||
|
||||
**Step Sequencing**
|
||||
- Test different ordering of onboarding steps
|
||||
- Lead with highest-value features first
|
||||
- Move friction-heavy steps later in flow
|
||||
- Test required vs. optional step balance
|
||||
|
||||
**Progress & Motivation**
|
||||
- Add progress bars or completion percentages
|
||||
- Test onboarding checklists (3-5 items vs. 5-7 items)
|
||||
- Gamify milestones with badges or rewards
|
||||
- Show "X% complete" messaging
|
||||
|
||||
---
|
||||
|
||||
### Guided Experience Experiments
|
||||
|
||||
**Product Tours**
|
||||
- Add interactive product tours (Navattic, Storylane)
|
||||
- Test tooltip-based guidance vs. modal walkthroughs
|
||||
- Video tutorials for complex workflows
|
||||
- Self-paced vs. guided tour options
|
||||
|
||||
**CTA Optimization**
|
||||
- Test CTA text variations during onboarding
|
||||
- Test CTA placement within onboarding screens
|
||||
- Add in-app tooltips for advanced features
|
||||
- Sticky CTAs that persist during onboarding
|
||||
|
||||
---
|
||||
|
||||
### Personalization Experiments
|
||||
|
||||
**User Segmentation**
|
||||
- Segment users by role to show relevant features
|
||||
- Segment by goal to customize onboarding path
|
||||
- Create role-specific dashboards
|
||||
- Ask use-case question to personalize flow
|
||||
|
||||
**Dynamic Content**
|
||||
- Personalized welcome messages
|
||||
- Industry-specific examples and templates
|
||||
- Dynamic feature recommendations based on answers
|
||||
|
||||
---
|
||||
|
||||
### Quick Wins & Engagement Experiments
|
||||
|
||||
**Time-to-Value**
|
||||
- Highlight quick wins early ("Complete your first X")
|
||||
- Show success messages after key actions
|
||||
- Display progress celebrations at milestones
|
||||
- Suggest next steps after each completion
|
||||
|
||||
**Support & Help**
|
||||
- Offer free onboarding calls for complex products
|
||||
- Add contextual help throughout onboarding
|
||||
- Test chat support availability during onboarding
|
||||
- Proactive outreach for stuck users
|
||||
|
||||
---
|
||||
|
||||
### Email & Multi-Channel Experiments
|
||||
|
||||
**Onboarding Emails**
|
||||
- Personalized welcome email from founder
|
||||
- Behavior-based emails (triggered by actions/inactions)
|
||||
- Test email timing and frequency
|
||||
- Include quick tips and video content
|
||||
|
||||
**Feedback Loops**
|
||||
- Add NPS survey during onboarding
|
||||
- Ask "What's blocking you?" for incomplete users
|
||||
- Follow-up based on NPS score
|
||||
**For comprehensive experiment ideas**: See [references/experiments.md](references/experiments.md)
|
||||
|
||||
---
|
||||
|
||||
|
||||
248
skills/onboarding-cro/references/experiments.md
Normal file
248
skills/onboarding-cro/references/experiments.md
Normal file
@@ -0,0 +1,248 @@
|
||||
# Onboarding Experiment Ideas
|
||||
|
||||
Comprehensive list of A/B tests and experiments for user onboarding and activation.
|
||||
|
||||
## Flow Simplification Experiments
|
||||
|
||||
### Reduce Friction
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Email verification timing | During vs. after onboarding |
|
||||
| Empty states vs. dummy data | Pre-populated examples |
|
||||
| Pre-filled templates | Accelerate setup with templates |
|
||||
| OAuth options | Faster account linking |
|
||||
| Required step count | Fewer required steps |
|
||||
| Optional vs. required fields | Minimize requirements |
|
||||
| Skip options | Allow bypassing non-critical steps |
|
||||
|
||||
### Step Sequencing
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Step ordering | Test different sequences |
|
||||
| Value-first ordering | Highest-value features first |
|
||||
| Friction placement | Move hard steps later |
|
||||
| Required vs. optional balance | Ratio of required steps |
|
||||
| Single vs. branching paths | One path vs. personalized |
|
||||
| Quick start vs. full setup | Minimal path to value |
|
||||
|
||||
### Progress & Motivation
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Progress bars | Show completion percentage |
|
||||
| Checklist length | 3-5 items vs. 5-7 items |
|
||||
| Gamification | Badges, rewards, achievements |
|
||||
| Completion messaging | "X% complete" visibility |
|
||||
| Starting point | Begin at 20% vs. 0% |
|
||||
| Celebration moments | Acknowledge completions |
|
||||
|
||||
---
|
||||
|
||||
## Guided Experience Experiments
|
||||
|
||||
### Product Tours
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Interactive tours | Tools like Navattic, Storylane |
|
||||
| Tooltip vs. modal guidance | Subtle vs. attention-grabbing |
|
||||
| Video tutorials | For complex workflows |
|
||||
| Self-paced vs. guided | User control vs. structured |
|
||||
| Tour length | Shorter vs. comprehensive |
|
||||
| Tour triggering | Automatic vs. user-initiated |
|
||||
|
||||
### CTA Optimization
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| CTA text variations | Action-oriented copy testing |
|
||||
| CTA placement | Position within screens |
|
||||
| In-app tooltips | Feature discovery prompts |
|
||||
| Sticky CTAs | Persist during onboarding |
|
||||
| CTA contrast | Visual prominence |
|
||||
| Secondary CTAs | "Learn more" vs. primary only |
|
||||
|
||||
### UI Guidance
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Hotspot highlights | Draw attention to key features |
|
||||
| Coachmarks | Contextual tips |
|
||||
| Feature announcements | New feature discovery |
|
||||
| Contextual help | Help where users need it |
|
||||
| Search vs. guided | Self-service vs. directed |
|
||||
|
||||
---
|
||||
|
||||
## Personalization Experiments
|
||||
|
||||
### User Segmentation
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Role-based onboarding | Different paths by role |
|
||||
| Goal-based paths | Customize by stated goal |
|
||||
| Role-specific dashboards | Relevant default views |
|
||||
| Use-case question | Personalize based on answer |
|
||||
| Industry-specific paths | Vertical customization |
|
||||
| Experience-based | Beginner vs. expert paths |
|
||||
|
||||
### Dynamic Content
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Personalized welcome | Name, company, role |
|
||||
| Industry examples | Relevant use cases |
|
||||
| Dynamic recommendations | Based on user answers |
|
||||
| Template suggestions | Pre-filled for segment |
|
||||
| Feature highlighting | Relevant to stated goals |
|
||||
| Benchmark data | Industry-specific metrics |
|
||||
|
||||
---
|
||||
|
||||
## Quick Wins & Engagement Experiments
|
||||
|
||||
### Time-to-Value
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| First quick win | "Complete your first X" |
|
||||
| Success messages | After key actions |
|
||||
| Progress celebrations | Milestone moments |
|
||||
| Next step suggestions | After each completion |
|
||||
| Value demonstration | Show what they achieved |
|
||||
| Outcome preview | What success looks like |
|
||||
|
||||
### Motivation Mechanics
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Achievement badges | Gamification elements |
|
||||
| Streaks | Consecutive day engagement |
|
||||
| Leaderboards | Social comparison (if appropriate) |
|
||||
| Rewards | Incentives for completion |
|
||||
| Unlock mechanics | Features revealed progressively |
|
||||
|
||||
### Support & Help
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Free onboarding calls | For complex products |
|
||||
| Contextual help | Throughout onboarding |
|
||||
| Chat support | Availability during onboarding |
|
||||
| Proactive outreach | For stuck users |
|
||||
| Self-service resources | Help docs, videos |
|
||||
| Community access | Peer support early |
|
||||
|
||||
---
|
||||
|
||||
## Email & Multi-Channel Experiments
|
||||
|
||||
### Onboarding Emails
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Founder welcome email | Personal vs. generic |
|
||||
| Behavior-based triggers | Action/inaction based |
|
||||
| Email timing | Immediate vs. delayed |
|
||||
| Email frequency | More vs. fewer touches |
|
||||
| Quick tips format | Short actionable content |
|
||||
| Video in email | More engaging format |
|
||||
|
||||
### Email Content
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Subject lines | Open rate optimization |
|
||||
| Personalization depth | Name vs. behavior-based |
|
||||
| CTA prominence | Single clear action |
|
||||
| Social proof inclusion | Testimonials in email |
|
||||
| Urgency messaging | Trial reminders |
|
||||
| Plain text vs. designed | Format testing |
|
||||
|
||||
### Feedback Loops
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| NPS during onboarding | When to ask |
|
||||
| Blocking question | "What's stopping you?" |
|
||||
| NPS follow-up | Actions based on score |
|
||||
| In-app feedback | Thumbs up/down on features |
|
||||
| Survey timing | When to request feedback |
|
||||
| Feedback incentives | Reward for completing |
|
||||
|
||||
---
|
||||
|
||||
## Re-engagement Experiments
|
||||
|
||||
### Stalled User Recovery
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Re-engagement email timing | When to send |
|
||||
| Personal outreach | Human vs. automated |
|
||||
| Simplified path | Reduced steps for returners |
|
||||
| Incentive offers | Discount or extended trial |
|
||||
| Problem identification | Ask what's blocking |
|
||||
| Demo offer | Live walkthrough |
|
||||
|
||||
### Return Experience
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Welcome back message | Acknowledge return |
|
||||
| Progress resume | Pick up where left off |
|
||||
| Changed state | What happened while away |
|
||||
| Re-onboarding | Fresh start option |
|
||||
| Urgency messaging | Trial time remaining |
|
||||
|
||||
---
|
||||
|
||||
## Technical & UX Experiments
|
||||
|
||||
### Performance
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Load time optimization | Faster = higher completion |
|
||||
| Progressive loading | Perceived performance |
|
||||
| Offline capability | Mobile experience |
|
||||
| Error handling | Graceful failure recovery |
|
||||
|
||||
### Mobile Onboarding
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Touch targets | Size and spacing |
|
||||
| Swipe navigation | Mobile-native patterns |
|
||||
| Screen count | Fewer screens needed |
|
||||
| Input optimization | Mobile-friendly forms |
|
||||
| Permission timing | When to ask |
|
||||
|
||||
### Accessibility
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Screen reader support | Accessibility impact |
|
||||
| Keyboard navigation | Non-mouse users |
|
||||
| Color contrast | Visibility |
|
||||
| Font sizing | Readability |
|
||||
|
||||
---
|
||||
|
||||
## Metrics to Track
|
||||
|
||||
For all experiments, measure:
|
||||
|
||||
| Metric | Description |
|
||||
|--------|-------------|
|
||||
| Activation rate | % reaching activation event |
|
||||
| Time to activation | Hours/days to first value |
|
||||
| Step completion rate | % completing each step |
|
||||
| Drop-off points | Where users abandon |
|
||||
| Return rate | Users who come back |
|
||||
| Day 1/7/30 retention | Engagement over time |
|
||||
| Feature adoption | Which features get used |
|
||||
| Support requests | Volume during onboarding |
|
||||
@@ -14,31 +14,11 @@ If `.claude/product-marketing-context.md` exists, read it before asking question
|
||||
|
||||
Before providing recommendations, identify:
|
||||
|
||||
1. **Page Type**: What kind of page is this?
|
||||
- Homepage
|
||||
- Landing page (paid traffic, specific campaign)
|
||||
- Pricing page
|
||||
- Feature/product page
|
||||
- Blog post with CTA
|
||||
- About page
|
||||
- Other
|
||||
1. **Page Type**: Homepage, landing page, pricing, feature, blog, about, other
|
||||
2. **Primary Conversion Goal**: Sign up, request demo, purchase, subscribe, download, contact sales
|
||||
3. **Traffic Context**: Where are visitors coming from? (organic, paid, email, social)
|
||||
|
||||
2. **Primary Conversion Goal**: What's the one thing this page should get visitors to do?
|
||||
- Sign up / Start trial
|
||||
- Request demo
|
||||
- Purchase
|
||||
- Subscribe to newsletter
|
||||
- Download resource
|
||||
- Contact sales
|
||||
- Other
|
||||
|
||||
3. **Traffic Context**: If known, where are visitors coming from?
|
||||
- Organic search (what intent?)
|
||||
- Paid ads (what messaging?)
|
||||
- Social media
|
||||
- Email
|
||||
- Referral
|
||||
- Direct
|
||||
---
|
||||
|
||||
## CRO Analysis Framework
|
||||
|
||||
@@ -49,59 +29,46 @@ Analyze the page across these dimensions, in order of impact:
|
||||
**Check for:**
|
||||
- Can a visitor understand what this is and why they should care within 5 seconds?
|
||||
- Is the primary benefit clear, specific, and differentiated?
|
||||
- Does it address a real pain point or desire?
|
||||
- Is it written in the customer's language (not company jargon)?
|
||||
|
||||
**Common issues:**
|
||||
- Feature-focused instead of benefit-focused
|
||||
- Too vague ("The best solution for your needs")
|
||||
- Too clever (sacrificing clarity for creativity)
|
||||
- Trying to say everything instead of the one most important thing
|
||||
- Too vague or too clever (sacrificing clarity)
|
||||
- Trying to say everything instead of the most important thing
|
||||
|
||||
### 2. Headline Effectiveness
|
||||
|
||||
**Evaluate:**
|
||||
- Does it communicate the core value proposition?
|
||||
- Is it specific enough to be meaningful?
|
||||
- Does it create curiosity or urgency without being clickbait?
|
||||
- Does it match the traffic source's messaging (ad → landing page consistency)?
|
||||
- Does it match the traffic source's messaging?
|
||||
|
||||
**Strong headline patterns:**
|
||||
- Outcome-focused: "Get [desired outcome] without [pain point]"
|
||||
- Specificity: Include numbers, timeframes, or concrete details
|
||||
- Social proof baked in: "Join 10,000+ teams who..."
|
||||
- Direct address of pain: "Tired of [specific problem]?"
|
||||
- Social proof: "Join 10,000+ teams who..."
|
||||
|
||||
### 3. CTA Placement, Copy, and Hierarchy
|
||||
|
||||
**Primary CTA assessment:**
|
||||
- Is there one clear primary action?
|
||||
- Is it visible without scrolling (above the fold)?
|
||||
- Is it visible without scrolling?
|
||||
- Does the button copy communicate value, not just action?
|
||||
- Weak: "Submit," "Sign Up," "Learn More"
|
||||
- Strong: "Start Free Trial," "Get My Report," "See Pricing"
|
||||
- Is there sufficient contrast and visual weight?
|
||||
|
||||
**CTA hierarchy:**
|
||||
- Is there a logical primary vs. secondary CTA structure?
|
||||
- Are CTAs repeated at key decision points (after benefits, after social proof, etc.)?
|
||||
- Is the commitment level appropriate for the page stage?
|
||||
- Are CTAs repeated at key decision points?
|
||||
|
||||
### 4. Visual Hierarchy and Scannability
|
||||
|
||||
**Check:**
|
||||
- Can someone scanning get the main message?
|
||||
- Are the most important elements visually prominent?
|
||||
- Is there clear information hierarchy (H1 → H2 → body)?
|
||||
- Is there enough white space to let elements breathe?
|
||||
- Is there enough white space?
|
||||
- Do images support or distract from the message?
|
||||
|
||||
**Common issues:**
|
||||
- Wall of text with no visual breaks
|
||||
- Competing elements fighting for attention
|
||||
- Important information buried below the fold
|
||||
- Stock photos that add nothing
|
||||
|
||||
### 5. Trust Signals and Social Proof
|
||||
|
||||
**Types to look for:**
|
||||
@@ -110,49 +77,37 @@ Analyze the page across these dimensions, in order of impact:
|
||||
- Case study snippets with real numbers
|
||||
- Review scores and counts
|
||||
- Security badges (where relevant)
|
||||
- "As seen in" media mentions
|
||||
- Team/founder credibility
|
||||
|
||||
**Placement:**
|
||||
- Near CTAs (to reduce friction at decision point)
|
||||
- After benefit claims (to validate them)
|
||||
- Throughout the page at natural break points
|
||||
**Placement:** Near CTAs and after benefit claims
|
||||
|
||||
### 6. Objection Handling
|
||||
|
||||
**Identify likely objections for this page type:**
|
||||
**Common objections to address:**
|
||||
- Price/value concerns
|
||||
- "Will this work for my situation?"
|
||||
- Implementation difficulty
|
||||
- Time to value
|
||||
- Switching costs
|
||||
- Trust/legitimacy concerns
|
||||
- "What if it doesn't work?"
|
||||
|
||||
**Check if the page addresses these through:**
|
||||
- FAQ sections
|
||||
- Guarantee/refund policies
|
||||
- Comparison content
|
||||
- Feature explanations
|
||||
- Process transparency
|
||||
**Address through:** FAQ sections, guarantees, comparison content, process transparency
|
||||
|
||||
### 7. Friction Points
|
||||
|
||||
**Look for unnecessary friction:**
|
||||
**Look for:**
|
||||
- Too many form fields
|
||||
- Unclear next steps
|
||||
- Confusing navigation
|
||||
- Required information that shouldn't be required
|
||||
- Broken or slow elements
|
||||
- Mobile experience issues
|
||||
- Long load times
|
||||
|
||||
---
|
||||
|
||||
## Output Format
|
||||
|
||||
Structure your recommendations as:
|
||||
|
||||
### Quick Wins (Implement Now)
|
||||
Changes that are easy to make and likely to have immediate impact.
|
||||
Easy changes with likely immediate impact.
|
||||
|
||||
### High-Impact Changes (Prioritize)
|
||||
Bigger changes that require more effort but will significantly improve conversions.
|
||||
@@ -161,176 +116,65 @@ Bigger changes that require more effort but will significantly improve conversio
|
||||
Hypotheses worth A/B testing rather than assuming.
|
||||
|
||||
### Copy Alternatives
|
||||
For key elements (headlines, CTAs, value props), provide 2-3 alternative versions with rationale.
|
||||
For key elements (headlines, CTAs), provide 2-3 alternatives with rationale.
|
||||
|
||||
---
|
||||
|
||||
## Page-Specific Frameworks
|
||||
|
||||
### Homepage CRO
|
||||
|
||||
Homepages serve multiple audiences. Focus on:
|
||||
- Clear positioning statement that works for cold visitors
|
||||
- Quick path to most common conversion action
|
||||
- Navigation that helps visitors self-select
|
||||
- Handling both "ready to buy" and "still researching" visitors
|
||||
- Clear positioning for cold visitors
|
||||
- Quick path to most common conversion
|
||||
- Handle both "ready to buy" and "still researching"
|
||||
|
||||
### Landing Page CRO
|
||||
|
||||
Single-purpose pages. Focus on:
|
||||
- Message match with traffic source
|
||||
- Single CTA (remove navigation if possible)
|
||||
- Complete argument on one page (minimize clicks to convert)
|
||||
- Urgency/scarcity if genuine
|
||||
- Complete argument on one page
|
||||
|
||||
### Pricing Page CRO
|
||||
|
||||
High-intent visitors. Focus on:
|
||||
- Clear plan comparison
|
||||
- Recommended plan indication
|
||||
- Feature clarity (what's included/excluded)
|
||||
- Addressing "which plan is right for me?" anxiety
|
||||
- Easy path from pricing to checkout
|
||||
- Address "which plan is right for me?" anxiety
|
||||
|
||||
### Feature Page CRO
|
||||
|
||||
Visitors researching specifics. Focus on:
|
||||
- Connecting feature to benefit
|
||||
- Connect feature to benefit
|
||||
- Use cases and examples
|
||||
- Comparison to alternatives
|
||||
- Clear CTA to try/buy
|
||||
- Clear path to try/buy
|
||||
|
||||
### Blog Post CRO
|
||||
|
||||
Content-to-conversion. Focus on:
|
||||
- Contextual CTAs that match content topic
|
||||
- Lead magnets related to article subject
|
||||
- Contextual CTAs matching content topic
|
||||
- Inline CTAs at natural stopping points
|
||||
- Exit-intent as backup
|
||||
|
||||
---
|
||||
|
||||
## Experiment Ideas by Page Type
|
||||
## Experiment Ideas
|
||||
|
||||
### Homepage Experiments
|
||||
When recommending experiments, consider tests for:
|
||||
- Hero section (headline, visual, CTA)
|
||||
- Trust signals and social proof placement
|
||||
- Pricing presentation
|
||||
- Form optimization
|
||||
- Navigation and UX
|
||||
|
||||
**Hero Section**
|
||||
- Test headline variations (specific vs. abstract, benefit vs. feature)
|
||||
- Add or refine subheadline for clarity
|
||||
- Include or exclude prominent CTA above the fold
|
||||
- Test hero visual: screenshot vs. GIF vs. illustration vs. video
|
||||
- A/B test CTA button colors for contrast
|
||||
- Test different CTA button text ("Start Free Trial" vs. "Get Started" vs. "See Demo")
|
||||
- Add interactive demo to engage visitors immediately
|
||||
|
||||
**Trust & Social Proof**
|
||||
- Test placement of customer logos (hero vs. below fold)
|
||||
- Showcase case studies or testimonials in hero section
|
||||
- Add trust badges (security, compliance, awards)
|
||||
- Test customer count or social proof in headline
|
||||
|
||||
**Features & Content**
|
||||
- Highlight key features with icons and brief descriptions
|
||||
- Test feature section order and prominence
|
||||
- Add or remove secondary CTAs throughout page
|
||||
|
||||
**Navigation & UX**
|
||||
- Add sticky navigation bar with persistent CTA
|
||||
- Test navigation menu order (high-priority items at edges)
|
||||
- Add prominent CTA button in nav bar
|
||||
- Live chat widget vs. AI chatbot for instant support
|
||||
- Optimize footer for clarity and secondary conversions
|
||||
|
||||
---
|
||||
|
||||
### Pricing Page Experiments
|
||||
|
||||
**Price Presentation**
|
||||
- Highlight annual billing discounts vs. show monthly only vs. show both
|
||||
- Test different pricing points ($99 vs. $100 vs. $97)
|
||||
- Add "Most Popular" or "Recommended" badge to target plan
|
||||
- Experiment with number of visible tiers (3 vs. 4 vs. 2)
|
||||
- Use price anchoring strategically
|
||||
|
||||
**Pricing UX**
|
||||
- Add pricing calculator for complex/usage-based pricing
|
||||
- Turn complex pricing table into guided multistep form
|
||||
- Test feature comparison table formats
|
||||
- Add toggle for monthly/annual with savings highlighted
|
||||
- Test "Contact Sales" vs. showing enterprise pricing
|
||||
|
||||
**Objection Handling**
|
||||
- Add FAQ section addressing common pricing objections
|
||||
- Include ROI calculator or value demonstration
|
||||
- Add money-back guarantee prominently
|
||||
- Show price-per-user breakdowns for team plans
|
||||
- Include "What's included" clarity for each tier
|
||||
|
||||
**Trust Signals**
|
||||
- Add testimonials specific to pricing/value
|
||||
- Show customer logos near pricing
|
||||
- Display review scores from G2/Capterra
|
||||
|
||||
---
|
||||
|
||||
### Demo Request Page Experiments
|
||||
|
||||
**Form Optimization**
|
||||
- Simplify demo request form (fewer fields)
|
||||
- Test multi-step form with progress bar vs. single-step
|
||||
- Test form placement: above fold vs. after content
|
||||
- Add or remove phone number field
|
||||
- Use field enrichment to hide known fields
|
||||
|
||||
**Page Content**
|
||||
- Optimize demo page content with benefits above form
|
||||
- Add product video or GIF showing demo experience
|
||||
- Include "What You'll Learn" section
|
||||
- Add customer testimonials near form
|
||||
- Address common objections in FAQ
|
||||
|
||||
**CTA & Routing**
|
||||
- Test demo button CTAs ("Book Your Demo" vs. "Schedule 15-Min Call")
|
||||
- Offer on-demand demo alongside live option
|
||||
- Personalize demo page messaging based on visitor data
|
||||
- Remove navigation to reduce distractions
|
||||
- Optimize routing: calendar link for qualified, self-serve for others
|
||||
|
||||
---
|
||||
|
||||
### Resource/Blog Page Experiments
|
||||
|
||||
**Content CTAs**
|
||||
- Add floating or sticky CTAs on blog posts
|
||||
- Test inline CTAs within content vs. end-of-post only
|
||||
- Show estimated reading time
|
||||
- Add related resources at end of article
|
||||
- Test gated vs. free content strategies
|
||||
|
||||
**Resource Section**
|
||||
- Optimize resource section navigation and filtering
|
||||
- Add search functionality
|
||||
- Highlight featured or popular resources
|
||||
- Test grid vs. list view layouts
|
||||
- Create resource bundles by topic
|
||||
**For comprehensive experiment ideas by page type**: See [references/experiments.md](references/experiments.md)
|
||||
|
||||
---
|
||||
|
||||
## Task-Specific Questions
|
||||
|
||||
|
||||
1. What's your current conversion rate and goal?
|
||||
2. Where is traffic coming from?
|
||||
3. What does your signup/purchase flow look like after this page?
|
||||
4. Do you have any user research, heatmaps, or session recordings?
|
||||
4. Do you have user research, heatmaps, or session recordings?
|
||||
5. What have you already tried?
|
||||
|
||||
---
|
||||
|
||||
## Related Skills
|
||||
|
||||
- **signup-flow-cro**: If the issue is in the signup process itself, not the page leading to it
|
||||
- **signup-flow-cro**: If the issue is in the signup process itself
|
||||
- **form-cro**: If forms on the page need optimization
|
||||
- **popup-cro**: If considering popups as part of the conversion strategy
|
||||
- **copywriting**: If the page needs a complete copy rewrite rather than CRO tweaks
|
||||
- **popup-cro**: If considering popups as part of the strategy
|
||||
- **copywriting**: If the page needs a complete copy rewrite
|
||||
- **ab-test-setup**: To properly test recommended changes
|
||||
|
||||
239
skills/page-cro/references/experiments.md
Normal file
239
skills/page-cro/references/experiments.md
Normal file
@@ -0,0 +1,239 @@
|
||||
# Page CRO Experiment Ideas
|
||||
|
||||
Comprehensive list of A/B tests and experiments organized by page type.
|
||||
|
||||
## Homepage Experiments
|
||||
|
||||
### Hero Section
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Headline variations | Specific vs. abstract messaging |
|
||||
| Subheadline clarity | Add/refine to support headline |
|
||||
| CTA above fold | Include or exclude prominent CTA |
|
||||
| Hero visual format | Screenshot vs. GIF vs. illustration vs. video |
|
||||
| CTA button color | Test contrast and visibility |
|
||||
| CTA button text | "Start Free Trial" vs. "Get Started" vs. "See Demo" |
|
||||
| Interactive demo | Engage visitors immediately with product |
|
||||
|
||||
### Trust & Social Proof
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Logo placement | Hero section vs. below fold |
|
||||
| Case study in hero | Show results immediately |
|
||||
| Trust badges | Add security, compliance, awards |
|
||||
| Social proof in headline | "Join 10,000+ teams" messaging |
|
||||
| Testimonial placement | Above fold vs. dedicated section |
|
||||
| Video testimonials | More engaging than text quotes |
|
||||
|
||||
### Features & Content
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Feature presentation | Icons + descriptions vs. detailed sections |
|
||||
| Section ordering | Move high-value features up |
|
||||
| Secondary CTAs | Add/remove throughout page |
|
||||
| Benefit vs. feature focus | Lead with outcomes |
|
||||
| Comparison section | Show vs. competitors or status quo |
|
||||
|
||||
### Navigation & UX
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Sticky navigation | Persistent nav with CTA |
|
||||
| Nav menu order | High-priority items at edges |
|
||||
| Nav CTA button | Add prominent button in nav |
|
||||
| Support widget | Live chat vs. AI chatbot |
|
||||
| Footer optimization | Clearer secondary conversions |
|
||||
| Exit intent popup | Capture abandoning visitors |
|
||||
|
||||
---
|
||||
|
||||
## Pricing Page Experiments
|
||||
|
||||
### Price Presentation
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Annual vs. monthly display | Highlight savings or simplify |
|
||||
| Price points | $99 vs. $100 vs. $97 psychology |
|
||||
| "Most Popular" badge | Highlight target plan |
|
||||
| Number of tiers | 3 vs. 4 vs. 2 visible options |
|
||||
| Price anchoring | Order plans to anchor expectations |
|
||||
| Custom enterprise tier | Show vs. "Contact Sales" |
|
||||
|
||||
### Pricing UX
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Pricing calculator | For usage-based pricing clarity |
|
||||
| Guided pricing flow | Multistep wizard vs. comparison table |
|
||||
| Feature comparison format | Table vs. expandable sections |
|
||||
| Monthly/annual toggle | With savings highlighted |
|
||||
| Plan recommendation quiz | Help visitors choose |
|
||||
| Checkout flow length | Steps required after plan selection |
|
||||
|
||||
### Objection Handling
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| FAQ section | Address pricing objections |
|
||||
| ROI calculator | Demonstrate value vs. cost |
|
||||
| Money-back guarantee | Prominent placement |
|
||||
| Per-user breakdowns | Clarity for team plans |
|
||||
| Feature inclusion clarity | What's in each tier |
|
||||
| Competitor comparison | Side-by-side value comparison |
|
||||
|
||||
### Trust Signals
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Value testimonials | Quotes about ROI specifically |
|
||||
| Customer logos | Near pricing section |
|
||||
| Review scores | G2/Capterra ratings |
|
||||
| Case study snippet | Specific pricing/value results |
|
||||
|
||||
---
|
||||
|
||||
## Demo Request Page Experiments
|
||||
|
||||
### Form Optimization
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Field count | Fewer fields, higher completion |
|
||||
| Multi-step vs. single | Progress bar encouragement |
|
||||
| Form placement | Above fold vs. after content |
|
||||
| Phone field | Include vs. exclude |
|
||||
| Field enrichment | Hide fields you can auto-fill |
|
||||
| Form labels | Inside field vs. above |
|
||||
|
||||
### Page Content
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Benefits above form | Reinforce value before ask |
|
||||
| Demo preview | Video/GIF showing demo experience |
|
||||
| "What You'll Learn" | Set expectations clearly |
|
||||
| Testimonials near form | Reduce friction at decision point |
|
||||
| FAQ below form | Address common objections |
|
||||
| Video vs. text | Format for explaining value |
|
||||
|
||||
### CTA & Routing
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| CTA text | "Book Your Demo" vs. "Schedule 15-Min Call" |
|
||||
| On-demand option | Instant demo alongside live option |
|
||||
| Personalized messaging | Based on visitor data/source |
|
||||
| Navigation removal | Reduce page distractions |
|
||||
| Calendar integration | Inline booking vs. external link |
|
||||
| Qualification routing | Self-serve for some, sales for others |
|
||||
|
||||
---
|
||||
|
||||
## Resource/Blog Page Experiments
|
||||
|
||||
### Content CTAs
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Floating CTAs | Sticky CTA on blog posts |
|
||||
| CTA placement | Inline vs. end-of-post only |
|
||||
| Reading time display | Estimated reading time |
|
||||
| Related resources | End-of-article recommendations |
|
||||
| Gated vs. free | Content access strategy |
|
||||
| Content upgrades | Specific to article topic |
|
||||
|
||||
### Resource Section
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Navigation/filtering | Easier to find relevant content |
|
||||
| Search functionality | Find specific resources |
|
||||
| Featured resources | Highlight best content |
|
||||
| Layout format | Grid vs. list view |
|
||||
| Topic bundles | Grouped resources by theme |
|
||||
| Download tracking | Gate some, track engagement |
|
||||
|
||||
---
|
||||
|
||||
## Landing Page Experiments
|
||||
|
||||
### Message Match
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Headline matching | Match ad copy exactly |
|
||||
| Visual matching | Match ad creative |
|
||||
| Offer alignment | Same offer as ad promised |
|
||||
| Audience-specific pages | Different pages per segment |
|
||||
|
||||
### Conversion Focus
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Navigation removal | Single-focus page |
|
||||
| CTA repetition | Multiple CTAs throughout |
|
||||
| Form vs. button | Direct capture vs. click-through |
|
||||
| Urgency/scarcity | If genuine, test messaging |
|
||||
| Social proof density | Amount and placement |
|
||||
| Video inclusion | Explain offer with video |
|
||||
|
||||
### Page Length
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Short vs. long | Quick conversion vs. complete argument |
|
||||
| Above-fold only | Minimal scroll required |
|
||||
| Section ordering | Most important content first |
|
||||
| Footer removal | Eliminate navigation |
|
||||
|
||||
---
|
||||
|
||||
## Feature Page Experiments
|
||||
|
||||
### Feature Presentation
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Demo/screenshot | Show feature in action |
|
||||
| Use case examples | How customers use it |
|
||||
| Before/after | Impact visualization |
|
||||
| Video walkthrough | Feature tour |
|
||||
| Interactive demo | Try feature without signup |
|
||||
|
||||
### Conversion Path
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Trial CTA | Feature-specific trial offer |
|
||||
| Related features | Cross-link to other features |
|
||||
| Comparison | vs. competitors' version |
|
||||
| Pricing mention | Connect to relevant plan |
|
||||
| Case study link | Feature-specific success story |
|
||||
|
||||
---
|
||||
|
||||
## Cross-Page Experiments
|
||||
|
||||
### Site-Wide Tests
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Chat widget | Impact on conversions |
|
||||
| Cookie consent UX | Minimize friction |
|
||||
| Page load speed | Performance vs. features |
|
||||
| Mobile experience | Responsive optimization |
|
||||
| Accessibility | Impact on conversion |
|
||||
| Personalization | Dynamic content by segment |
|
||||
|
||||
### Navigation Tests
|
||||
|
||||
| Test | Hypothesis |
|
||||
|------|------------|
|
||||
| Menu structure | Information architecture |
|
||||
| Search placement | Help visitors find content |
|
||||
| CTA in nav | Always-visible conversion path |
|
||||
| Breadcrumbs | Navigation clarity |
|
||||
@@ -24,7 +24,6 @@ Gather this context (ask if not provided):
|
||||
- What are you promoting? (Product, free trial, lead magnet, demo)
|
||||
- What's the landing page URL?
|
||||
- What makes this offer compelling?
|
||||
- Any promotions or urgency elements?
|
||||
|
||||
### 3. Audience
|
||||
- Who is the ideal customer?
|
||||
@@ -36,71 +35,18 @@ Gather this context (ask if not provided):
|
||||
- Have you run ads before? What worked/didn't?
|
||||
- Do you have existing pixel/conversion data?
|
||||
- What's your current funnel conversion rate?
|
||||
- Any existing creative assets?
|
||||
|
||||
---
|
||||
|
||||
## Platform Selection Guide
|
||||
|
||||
### Google Ads
|
||||
**Best for:** High-intent search traffic, capturing existing demand
|
||||
**Use when:**
|
||||
- People actively search for your solution
|
||||
- You have clear keywords with commercial intent
|
||||
- You want bottom-of-funnel conversions
|
||||
|
||||
**Campaign types:**
|
||||
- Search: Keyword-targeted text ads
|
||||
- Performance Max: AI-driven cross-channel
|
||||
- Display: Banner ads across Google network
|
||||
- YouTube: Video ads
|
||||
- Demand Gen: Discovery and Gmail placements
|
||||
|
||||
### Meta (Facebook/Instagram)
|
||||
**Best for:** Demand generation, visual products, broad targeting
|
||||
**Use when:**
|
||||
- Your product has visual appeal
|
||||
- You're creating demand (not just capturing it)
|
||||
- You have strong creative assets
|
||||
- You want to build audiences for retargeting
|
||||
|
||||
**Campaign types:**
|
||||
- Advantage+ Shopping: E-commerce automation
|
||||
- Lead Gen: In-platform lead forms
|
||||
- Conversions: Website conversion optimization
|
||||
- Traffic: Link clicks to site
|
||||
- Engagement: Social proof building
|
||||
|
||||
### LinkedIn Ads
|
||||
**Best for:** B2B targeting, reaching decision-makers
|
||||
**Use when:**
|
||||
- You're selling to businesses
|
||||
- Job title/company targeting matters
|
||||
- Higher price points justify higher CPCs
|
||||
- You need to reach specific industries
|
||||
|
||||
**Campaign types:**
|
||||
- Sponsored Content: Feed posts
|
||||
- Message Ads: Direct InMail
|
||||
- Lead Gen Forms: In-platform capture
|
||||
- Document Ads: Gated content
|
||||
- Conversation Ads: Interactive messaging
|
||||
|
||||
### Twitter/X Ads
|
||||
**Best for:** Tech audiences, real-time relevance, thought leadership
|
||||
**Use when:**
|
||||
- Your audience is active on X
|
||||
- You have timely/trending content
|
||||
- You want to amplify organic content
|
||||
- Lower CPMs matter more than precision targeting
|
||||
|
||||
### TikTok Ads
|
||||
**Best for:** Younger demographics, viral creative, brand awareness
|
||||
**Use when:**
|
||||
- Your audience skews younger (18-34)
|
||||
- You can create native-feeling video content
|
||||
- Brand awareness is a goal
|
||||
- You have creative capacity for video
|
||||
| Platform | Best For | Use When |
|
||||
|----------|----------|----------|
|
||||
| **Google Ads** | High-intent search traffic | People actively search for your solution |
|
||||
| **Meta** | Demand generation, visual products | Creating demand, strong creative assets |
|
||||
| **LinkedIn** | B2B, decision-makers | Job title/company targeting matters, higher price points |
|
||||
| **Twitter/X** | Tech audiences, thought leadership | Audience is active on X, timely content |
|
||||
| **TikTok** | Younger demographics, viral creative | Audience skews 18-34, video capacity |
|
||||
|
||||
---
|
||||
|
||||
@@ -116,14 +62,11 @@ Account
|
||||
│ │ ├── Ad 2: [Creative variation B]
|
||||
│ │ └── Ad 3: [Creative variation C]
|
||||
│ └── Ad Set 2: [Targeting variation]
|
||||
│ └── Ads...
|
||||
└── Campaign 2...
|
||||
```
|
||||
|
||||
### Naming Conventions
|
||||
|
||||
Use consistent naming for easy analysis:
|
||||
|
||||
```
|
||||
[Platform]_[Objective]_[Audience]_[Offer]_[Date]
|
||||
|
||||
@@ -133,7 +76,7 @@ GOOG_Search_Brand_Demo_Ongoing
|
||||
LI_LeadGen_CMOs-SaaS_Whitepaper_Mar24
|
||||
```
|
||||
|
||||
### Budget Allocation Framework
|
||||
### Budget Allocation
|
||||
|
||||
**Testing phase (first 2-4 weeks):**
|
||||
- 70% to proven/safe campaigns
|
||||
@@ -148,213 +91,80 @@ LI_LeadGen_CMOs-SaaS_Whitepaper_Mar24
|
||||
|
||||
## Ad Copy Frameworks
|
||||
|
||||
### Primary Text Formulas
|
||||
### Key Formulas
|
||||
|
||||
**Problem-Agitate-Solve (PAS):**
|
||||
```
|
||||
[Problem statement]
|
||||
[Agitate the pain]
|
||||
[Introduce solution]
|
||||
[CTA]
|
||||
```
|
||||
|
||||
Example:
|
||||
> Spending hours on manual reporting every week?
|
||||
> While you're buried in spreadsheets, your competitors are making decisions.
|
||||
> [Product] automates your reports in minutes.
|
||||
> Start your free trial →
|
||||
> [Problem] → [Agitate the pain] → [Introduce solution] → [CTA]
|
||||
|
||||
**Before-After-Bridge (BAB):**
|
||||
```
|
||||
[Current painful state]
|
||||
[Desired future state]
|
||||
[Your product as the bridge]
|
||||
```
|
||||
|
||||
Example:
|
||||
> Before: Chasing down approvals across email, Slack, and spreadsheets.
|
||||
> After: Every approval tracked, automated, and on time.
|
||||
> [Product] connects your tools and keeps projects moving.
|
||||
> [Current painful state] → [Desired future state] → [Your product as bridge]
|
||||
|
||||
**Social Proof Lead:**
|
||||
```
|
||||
[Impressive stat or testimonial]
|
||||
[What you do]
|
||||
[CTA]
|
||||
```
|
||||
> [Impressive stat or testimonial] → [What you do] → [CTA]
|
||||
|
||||
Example:
|
||||
> "We cut our reporting time by 75%." — Sarah K., Marketing Director
|
||||
> [Product] automates the reports you hate building.
|
||||
> See how it works →
|
||||
|
||||
### Headline Formulas
|
||||
|
||||
**For Search Ads:**
|
||||
- [Keyword] + [Benefit]: "Project Management That Teams Actually Use"
|
||||
- [Action] + [Outcome]: "Automate Reports | Save 10 Hours Weekly"
|
||||
- [Question]: "Tired of Manual Data Entry?"
|
||||
- [Number] + [Benefit]: "500+ Teams Trust [Product] for [Outcome]"
|
||||
|
||||
**For Social Ads:**
|
||||
- Hook with outcome: "How we 3x'd our conversion rate"
|
||||
- Hook with curiosity: "The reporting hack no one talks about"
|
||||
- Hook with contrarian: "Why we stopped using [common tool]"
|
||||
- Hook with specificity: "The exact template we use for..."
|
||||
|
||||
### CTA Variations
|
||||
|
||||
**Soft CTAs (awareness/consideration):**
|
||||
- Learn More
|
||||
- See How It Works
|
||||
- Watch Demo
|
||||
- Get the Guide
|
||||
|
||||
**Hard CTAs (conversion):**
|
||||
- Start Free Trial
|
||||
- Get Started Free
|
||||
- Book a Demo
|
||||
- Claim Your Discount
|
||||
- Buy Now
|
||||
|
||||
**Urgency CTAs (when genuine):**
|
||||
- Limited Time: 30% Off
|
||||
- Offer Ends [Date]
|
||||
- Only X Spots Left
|
||||
**For detailed templates and headline formulas**: See [references/ad-copy-templates.md](references/ad-copy-templates.md)
|
||||
|
||||
---
|
||||
|
||||
## Audience Targeting Strategies
|
||||
## Audience Targeting Overview
|
||||
|
||||
### Google Ads Audiences
|
||||
### Platform Strengths
|
||||
|
||||
**Search campaigns:**
|
||||
- Keywords (exact, phrase, broad match)
|
||||
- Audience layering (observation mode first)
|
||||
- Remarketing lists for search ads (RLSA)
|
||||
| Platform | Key Targeting | Best Signals |
|
||||
|----------|---------------|--------------|
|
||||
| Google | Keywords, search intent | What they're searching |
|
||||
| Meta | Interests, behaviors, lookalikes | Engagement patterns |
|
||||
| LinkedIn | Job titles, companies, industries | Professional identity |
|
||||
|
||||
**Display/YouTube:**
|
||||
- Custom intent (based on search behavior)
|
||||
- In-market audiences
|
||||
- Affinity audiences
|
||||
- Customer match (upload email lists)
|
||||
- Similar/lookalike audiences
|
||||
### Key Concepts
|
||||
|
||||
### Meta Audiences
|
||||
- **Lookalikes**: Base on best customers (by LTV), not all customers
|
||||
- **Retargeting**: Segment by funnel stage (visitors vs. cart abandoners)
|
||||
- **Exclusions**: Always exclude existing customers and recent converters
|
||||
|
||||
**Core audiences (interest/demographic):**
|
||||
- Layer interests with AND logic for precision
|
||||
- Exclude existing customers
|
||||
- Start broad, let algorithm optimize
|
||||
|
||||
**Custom audiences:**
|
||||
- Website visitors (by page, time on site, frequency)
|
||||
- Customer list uploads
|
||||
- Engagement (video viewers, page engagers)
|
||||
- App activity
|
||||
|
||||
**Lookalike audiences:**
|
||||
- Source: Best customers (by LTV, not just all customers)
|
||||
- Size: Start 1%, expand to 1-3% as you scale
|
||||
- Layer: Lookalike + interest for early testing
|
||||
|
||||
### LinkedIn Audiences
|
||||
|
||||
**Job-based targeting:**
|
||||
- Job titles (be specific, avoid broad)
|
||||
- Job functions + seniority
|
||||
- Skills (self-reported)
|
||||
|
||||
**Company-based targeting:**
|
||||
- Company size
|
||||
- Industry
|
||||
- Company names (ABM)
|
||||
- Company growth rate
|
||||
|
||||
**Combinations that work:**
|
||||
- Job function + seniority + company size
|
||||
- Industry + job title
|
||||
- Company list + decision-maker titles
|
||||
**For detailed targeting strategies by platform**: See [references/audience-targeting.md](references/audience-targeting.md)
|
||||
|
||||
---
|
||||
|
||||
## Creative Best Practices
|
||||
|
||||
### Image Ads
|
||||
|
||||
**What works:**
|
||||
- Clear product screenshots showing UI
|
||||
- Before/after comparisons
|
||||
- Stats and numbers as focal point
|
||||
- Human faces (real, not stock)
|
||||
- Bold, readable text overlay (keep under 20%)
|
||||
|
||||
**What doesn't:**
|
||||
- Generic stock photos
|
||||
- Too much text
|
||||
- Cluttered visuals
|
||||
- Low contrast/hard to read
|
||||
|
||||
### Video Ads
|
||||
|
||||
**Structure for short-form (15-30 sec):**
|
||||
### Video Ads Structure (15-30 sec)
|
||||
1. Hook (0-3 sec): Pattern interrupt, question, or bold statement
|
||||
2. Problem (3-8 sec): Relatable pain point
|
||||
3. Solution (8-20 sec): Show product/benefit
|
||||
4. CTA (20-30 sec): Clear next step
|
||||
|
||||
**Structure for longer-form (60+ sec):**
|
||||
1. Hook (0-5 sec)
|
||||
2. Problem deep-dive (5-20 sec)
|
||||
3. Solution introduction (20-35 sec)
|
||||
4. Social proof (35-45 sec)
|
||||
5. How it works (45-55 sec)
|
||||
6. CTA with offer (55-60 sec)
|
||||
|
||||
**Production tips:**
|
||||
- Captions always (85% watch without sound)
|
||||
- Vertical for Stories/Reels, square for feed
|
||||
- Native feel outperforms polished
|
||||
- First 3 seconds determine if they watch
|
||||
|
||||
### Ad Creative Testing
|
||||
|
||||
**Testing hierarchy:**
|
||||
### Creative Testing Hierarchy
|
||||
1. Concept/angle (biggest impact)
|
||||
2. Hook/headline
|
||||
3. Visual style
|
||||
4. Body copy
|
||||
5. CTA
|
||||
|
||||
**Testing approach:**
|
||||
- Test one variable at a time for clean data
|
||||
- Need 100+ conversions per variant for significance
|
||||
- Kill losers fast (3-5 days with sufficient spend)
|
||||
- Iterate on winners
|
||||
|
||||
---
|
||||
|
||||
## Campaign Optimization
|
||||
|
||||
### Key Metrics by Objective
|
||||
|
||||
**Awareness:**
|
||||
- CPM (cost per 1,000 impressions)
|
||||
- Reach and frequency
|
||||
- Video view rate / watch time
|
||||
- Brand lift (if available)
|
||||
|
||||
**Consideration:**
|
||||
- CTR (click-through rate)
|
||||
- CPC (cost per click)
|
||||
- Landing page views
|
||||
- Time on site from ads
|
||||
|
||||
**Conversion:**
|
||||
- CPA (cost per acquisition)
|
||||
- ROAS (return on ad spend)
|
||||
- Conversion rate
|
||||
- Cost per lead / cost per sale
|
||||
| Objective | Primary Metrics |
|
||||
|-----------|-----------------|
|
||||
| Awareness | CPM, Reach, Video view rate |
|
||||
| Consideration | CTR, CPC, Time on site |
|
||||
| Conversion | CPA, ROAS, Conversion rate |
|
||||
|
||||
### Optimization Levers
|
||||
|
||||
@@ -369,25 +179,13 @@ Example:
|
||||
- Creative isn't resonating → test new hooks/angles
|
||||
- Audience mismatch → refine targeting
|
||||
- Ad fatigue → refresh creative
|
||||
- Weak offer → improve value proposition
|
||||
|
||||
**If CPM is high:**
|
||||
- Audience too narrow → expand targeting
|
||||
- High competition → try different placements
|
||||
- Low relevance score → improve creative fit
|
||||
- Bidding too aggressively → adjust bid caps
|
||||
|
||||
### Bid Strategies
|
||||
|
||||
**Manual/controlled:**
|
||||
- Use when: Learning phase, small budgets, need control
|
||||
- Manual CPC, bid caps, cost caps
|
||||
|
||||
**Automated/smart:**
|
||||
- Use when: Sufficient conversion data (50+ per month), scaling
|
||||
- Target CPA, target ROAS, maximize conversions
|
||||
|
||||
**Progression:**
|
||||
### Bid Strategy Progression
|
||||
1. Start with manual or cost caps
|
||||
2. Gather conversion data (50+ conversions)
|
||||
3. Switch to automated with targets based on historical data
|
||||
@@ -397,22 +195,13 @@ Example:
|
||||
|
||||
## Retargeting Strategies
|
||||
|
||||
### Funnel-Based Retargeting
|
||||
### Funnel-Based Approach
|
||||
|
||||
**Top of funnel (awareness):**
|
||||
- Audience: Blog readers, video viewers, social engagers
|
||||
- Message: Educational content, social proof
|
||||
- Goal: Move to consideration
|
||||
|
||||
**Middle of funnel (consideration):**
|
||||
- Audience: Pricing page visitors, feature page visitors
|
||||
- Message: Case studies, demos, comparisons
|
||||
- Goal: Move to decision
|
||||
|
||||
**Bottom of funnel (decision):**
|
||||
- Audience: Cart abandoners, trial users, demo no-shows
|
||||
- Message: Urgency, objection handling, offers
|
||||
- Goal: Convert
|
||||
| Funnel Stage | Audience | Message | Goal |
|
||||
|--------------|----------|---------|------|
|
||||
| Top | Blog readers, video viewers | Educational, social proof | Move to consideration |
|
||||
| Middle | Pricing/feature page visitors | Case studies, demos | Move to decision |
|
||||
| Bottom | Cart abandoners, trial users | Urgency, objection handling | Convert |
|
||||
|
||||
### Retargeting Windows
|
||||
|
||||
@@ -423,114 +212,69 @@ Example:
|
||||
| Cold (any visit) | 30-90 days | 1-2x/week |
|
||||
|
||||
### Exclusions to Set Up
|
||||
|
||||
Always exclude:
|
||||
- Existing customers (unless upsell campaign)
|
||||
- Existing customers (unless upsell)
|
||||
- Recent converters (7-14 day window)
|
||||
- Bounced visitors (<10 sec on site)
|
||||
- Bounced visitors (<10 sec)
|
||||
- Irrelevant pages (careers, support)
|
||||
|
||||
---
|
||||
|
||||
## Reporting & Analysis
|
||||
|
||||
### Weekly Review Checklist
|
||||
|
||||
- [ ] Spend vs. budget pacing
|
||||
- [ ] CPA/ROAS vs. targets
|
||||
- [ ] Top and bottom performing ads
|
||||
- [ ] Audience performance breakdown
|
||||
- [ ] Frequency check (fatigue risk)
|
||||
- [ ] Landing page conversion rate
|
||||
- [ ] Any disapproved ads or policy issues
|
||||
|
||||
### Monthly Analysis
|
||||
|
||||
- [ ] Overall channel performance vs. goals
|
||||
- [ ] Creative performance trends
|
||||
- [ ] Audience insights and learnings
|
||||
- [ ] Budget reallocation recommendations
|
||||
- [ ] Test results and next tests
|
||||
- [ ] Competitive landscape changes
|
||||
### Weekly Review
|
||||
- Spend vs. budget pacing
|
||||
- CPA/ROAS vs. targets
|
||||
- Top and bottom performing ads
|
||||
- Audience performance breakdown
|
||||
- Frequency check (fatigue risk)
|
||||
- Landing page conversion rate
|
||||
|
||||
### Attribution Considerations
|
||||
|
||||
- Platform attribution is inflated (they want credit)
|
||||
- Platform attribution is inflated
|
||||
- Use UTM parameters consistently
|
||||
- Compare platform data to GA4/analytics
|
||||
- Consider incrementality testing for mature accounts
|
||||
- Compare platform data to GA4
|
||||
- Look at blended CAC, not just platform CPA
|
||||
|
||||
---
|
||||
|
||||
## Platform-Specific Setup Guides
|
||||
## Platform Setup
|
||||
|
||||
### Google Ads Setup Checklist
|
||||
Before launching campaigns, ensure proper tracking and account setup.
|
||||
|
||||
- [ ] Conversion tracking installed and tested
|
||||
- [ ] Google Analytics 4 linked
|
||||
- [ ] Audience lists created (remarketing, customer match)
|
||||
- [ ] Negative keyword lists built
|
||||
- [ ] Ad extensions set up (sitelinks, callouts, structured snippets)
|
||||
- [ ] Brand campaign running (protect branded terms)
|
||||
- [ ] Competitor campaign considered
|
||||
- [ ] Location and language targeting set
|
||||
- [ ] Ad schedule aligned with business hours (if B2B)
|
||||
**For complete setup checklists by platform**: See [references/platform-setup-checklists.md](references/platform-setup-checklists.md)
|
||||
|
||||
### Meta Ads Setup Checklist
|
||||
|
||||
- [ ] Pixel installed and events firing
|
||||
- [ ] Conversions API set up (server-side tracking)
|
||||
- [ ] Custom audiences created
|
||||
- [ ] Product catalog connected (if e-commerce)
|
||||
- [ ] Domain verified
|
||||
- [ ] Business Manager properly configured
|
||||
- [ ] Aggregated event measurement prioritized
|
||||
- [ ] Creative assets in correct sizes
|
||||
- [ ] UTM parameters in all URLs
|
||||
|
||||
### LinkedIn Ads Setup Checklist
|
||||
|
||||
- [ ] Insight Tag installed
|
||||
- [ ] Conversion tracking configured
|
||||
- [ ] Matched audiences created
|
||||
- [ ] Company page connected
|
||||
- [ ] Lead gen form templates created
|
||||
- [ ] Document assets uploaded (for Document Ads)
|
||||
- [ ] Audience size validated (not too narrow)
|
||||
- [ ] Budget realistic for LinkedIn CPCs ($8-15+)
|
||||
### Universal Pre-Launch Checklist
|
||||
- [ ] Conversion tracking tested with real conversion
|
||||
- [ ] Landing page loads fast (<3 sec)
|
||||
- [ ] Landing page mobile-friendly
|
||||
- [ ] UTM parameters working
|
||||
- [ ] Budget set correctly
|
||||
- [ ] Targeting matches intended audience
|
||||
|
||||
---
|
||||
|
||||
## Common Mistakes to Avoid
|
||||
|
||||
### Strategy Mistakes
|
||||
### Strategy
|
||||
- Launching without conversion tracking
|
||||
- Too many campaigns/ad sets (fragmenting budget)
|
||||
- Too many campaigns (fragmenting budget)
|
||||
- Not giving algorithms enough learning time
|
||||
- Optimizing for wrong metric (clicks vs. conversions)
|
||||
- Ignoring landing page experience
|
||||
- Optimizing for wrong metric
|
||||
|
||||
### Targeting Mistakes
|
||||
- Audiences too narrow (can't exit learning phase)
|
||||
- Audiences too broad (wasting spend)
|
||||
### Targeting
|
||||
- Audiences too narrow or too broad
|
||||
- Not excluding existing customers
|
||||
- Overlapping audiences competing with each other
|
||||
- Ignoring negative keywords (Search)
|
||||
- Overlapping audiences competing
|
||||
|
||||
### Creative Mistakes
|
||||
- Only running one ad per ad set
|
||||
- Not refreshing creative (ad fatigue)
|
||||
### Creative
|
||||
- Only one ad per ad set
|
||||
- Not refreshing creative (fatigue)
|
||||
- Mismatch between ad and landing page
|
||||
- Ignoring mobile experience
|
||||
- Too much text in images (Meta)
|
||||
|
||||
### Budget Mistakes
|
||||
- Spreading budget too thin across campaigns
|
||||
### Budget
|
||||
- Spreading too thin across campaigns
|
||||
- Making big budget changes (disrupts learning)
|
||||
- Not accounting for platform minimums
|
||||
- Stopping campaigns during learning phase
|
||||
- Weekend/off-hours spend without adjustment
|
||||
|
||||
---
|
||||
|
||||
|
||||
200
skills/paid-ads/references/ad-copy-templates.md
Normal file
200
skills/paid-ads/references/ad-copy-templates.md
Normal file
@@ -0,0 +1,200 @@
|
||||
# Ad Copy Templates Reference
|
||||
|
||||
Detailed formulas and templates for writing high-converting ad copy.
|
||||
|
||||
## Primary Text Formulas
|
||||
|
||||
### Problem-Agitate-Solve (PAS)
|
||||
|
||||
```
|
||||
[Problem statement]
|
||||
[Agitate the pain]
|
||||
[Introduce solution]
|
||||
[CTA]
|
||||
```
|
||||
|
||||
**Example:**
|
||||
> Spending hours on manual reporting every week?
|
||||
> While you're buried in spreadsheets, your competitors are making decisions.
|
||||
> [Product] automates your reports in minutes.
|
||||
> Start your free trial →
|
||||
|
||||
---
|
||||
|
||||
### Before-After-Bridge (BAB)
|
||||
|
||||
```
|
||||
[Current painful state]
|
||||
[Desired future state]
|
||||
[Your product as the bridge]
|
||||
```
|
||||
|
||||
**Example:**
|
||||
> Before: Chasing down approvals across email, Slack, and spreadsheets.
|
||||
> After: Every approval tracked, automated, and on time.
|
||||
> [Product] connects your tools and keeps projects moving.
|
||||
|
||||
---
|
||||
|
||||
### Social Proof Lead
|
||||
|
||||
```
|
||||
[Impressive stat or testimonial]
|
||||
[What you do]
|
||||
[CTA]
|
||||
```
|
||||
|
||||
**Example:**
|
||||
> "We cut our reporting time by 75%." — Sarah K., Marketing Director
|
||||
> [Product] automates the reports you hate building.
|
||||
> See how it works →
|
||||
|
||||
---
|
||||
|
||||
### Feature-Benefit Bridge
|
||||
|
||||
```
|
||||
[Feature]
|
||||
[So that...]
|
||||
[Which means...]
|
||||
```
|
||||
|
||||
**Example:**
|
||||
> Real-time collaboration on documents
|
||||
> So your team always works from the latest version
|
||||
> Which means no more version confusion or lost work
|
||||
|
||||
---
|
||||
|
||||
### Direct Response
|
||||
|
||||
```
|
||||
[Bold claim/outcome]
|
||||
[Proof point]
|
||||
[CTA with urgency if genuine]
|
||||
```
|
||||
|
||||
**Example:**
|
||||
> Cut your reporting time by 80%
|
||||
> Join 5,000+ marketing teams already using [Product]
|
||||
> Start free → First month 50% off
|
||||
|
||||
---
|
||||
|
||||
## Headline Formulas
|
||||
|
||||
### For Search Ads
|
||||
|
||||
| Formula | Example |
|
||||
|---------|---------|
|
||||
| [Keyword] + [Benefit] | "Project Management That Teams Actually Use" |
|
||||
| [Action] + [Outcome] | "Automate Reports \| Save 10 Hours Weekly" |
|
||||
| [Question] | "Tired of Manual Data Entry?" |
|
||||
| [Number] + [Benefit] | "500+ Teams Trust [Product] for [Outcome]" |
|
||||
| [Keyword] + [Differentiator] | "CRM Built for Small Teams" |
|
||||
| [Price/Offer] + [Keyword] | "Free Project Management \| No Credit Card" |
|
||||
|
||||
### For Social Ads
|
||||
|
||||
| Type | Example |
|
||||
|------|---------|
|
||||
| Outcome hook | "How we 3x'd our conversion rate" |
|
||||
| Curiosity hook | "The reporting hack no one talks about" |
|
||||
| Contrarian hook | "Why we stopped using [common tool]" |
|
||||
| Specificity hook | "The exact template we use for..." |
|
||||
| Question hook | "What if you could cut your admin time in half?" |
|
||||
| Number hook | "7 ways to improve your workflow today" |
|
||||
| Story hook | "We almost gave up. Then we found..." |
|
||||
|
||||
---
|
||||
|
||||
## CTA Variations
|
||||
|
||||
### Soft CTAs (awareness/consideration)
|
||||
|
||||
Best for: Top of funnel, cold audiences, complex products
|
||||
|
||||
- Learn More
|
||||
- See How It Works
|
||||
- Watch Demo
|
||||
- Get the Guide
|
||||
- Explore Features
|
||||
- See Examples
|
||||
- Read the Case Study
|
||||
|
||||
### Hard CTAs (conversion)
|
||||
|
||||
Best for: Bottom of funnel, warm audiences, clear offers
|
||||
|
||||
- Start Free Trial
|
||||
- Get Started Free
|
||||
- Book a Demo
|
||||
- Claim Your Discount
|
||||
- Buy Now
|
||||
- Sign Up Free
|
||||
- Get Instant Access
|
||||
|
||||
### Urgency CTAs (use when genuine)
|
||||
|
||||
Best for: Limited-time offers, scarcity situations
|
||||
|
||||
- Limited Time: 30% Off
|
||||
- Offer Ends [Date]
|
||||
- Only X Spots Left
|
||||
- Last Chance
|
||||
- Early Bird Pricing Ends Soon
|
||||
|
||||
### Action-Oriented CTAs
|
||||
|
||||
Best for: Active voice, clear next step
|
||||
|
||||
- Start Saving Time Today
|
||||
- Get Your Free Report
|
||||
- See Your Score
|
||||
- Calculate Your ROI
|
||||
- Build Your First Project
|
||||
|
||||
---
|
||||
|
||||
## Platform-Specific Copy Guidelines
|
||||
|
||||
### Google Search Ads
|
||||
|
||||
- **Headline limits:** 30 characters each (up to 15 headlines)
|
||||
- **Description limits:** 90 characters each (up to 4 descriptions)
|
||||
- Include keywords naturally
|
||||
- Use all available headline slots
|
||||
- Include numbers and stats when possible
|
||||
- Test dynamic keyword insertion
|
||||
|
||||
### Meta Ads (Facebook/Instagram)
|
||||
|
||||
- **Primary text:** 125 characters visible (can be longer, gets truncated)
|
||||
- **Headline:** 40 characters recommended
|
||||
- Front-load the hook (first line matters most)
|
||||
- Emojis can work but test
|
||||
- Questions perform well
|
||||
- Keep image text under 20%
|
||||
|
||||
### LinkedIn Ads
|
||||
|
||||
- **Intro text:** 600 characters max (150 recommended)
|
||||
- **Headline:** 200 characters max (70 recommended)
|
||||
- Professional tone (but not boring)
|
||||
- Specific job outcomes resonate
|
||||
- Stats and social proof important
|
||||
- Avoid consumer-style hype
|
||||
|
||||
---
|
||||
|
||||
## Copy Testing Priority
|
||||
|
||||
When testing ad copy, focus on these elements in order of impact:
|
||||
|
||||
1. **Hook/angle** (biggest impact on performance)
|
||||
2. **Headline**
|
||||
3. **Primary benefit**
|
||||
4. **CTA**
|
||||
5. **Supporting proof points**
|
||||
|
||||
Test one element at a time for clean data.
|
||||
234
skills/paid-ads/references/audience-targeting.md
Normal file
234
skills/paid-ads/references/audience-targeting.md
Normal file
@@ -0,0 +1,234 @@
|
||||
# Audience Targeting Reference
|
||||
|
||||
Detailed targeting strategies for each major ad platform.
|
||||
|
||||
## Google Ads Audiences
|
||||
|
||||
### Search Campaign Targeting
|
||||
|
||||
**Keywords:**
|
||||
- Exact match: [keyword] — most precise, lower volume
|
||||
- Phrase match: "keyword" — moderate precision and volume
|
||||
- Broad match: keyword — highest volume, use with smart bidding
|
||||
|
||||
**Audience layering:**
|
||||
- Add audiences in "observation" mode first
|
||||
- Analyze performance by audience
|
||||
- Switch to "targeting" mode for high performers
|
||||
|
||||
**RLSA (Remarketing Lists for Search Ads):**
|
||||
- Bid higher on past visitors searching your terms
|
||||
- Show different ads to returning searchers
|
||||
- Exclude converters from prospecting campaigns
|
||||
|
||||
### Display/YouTube Targeting
|
||||
|
||||
**Custom intent audiences:**
|
||||
- Based on recent search behavior
|
||||
- Create from your converting keywords
|
||||
- High intent, good for prospecting
|
||||
|
||||
**In-market audiences:**
|
||||
- People actively researching solutions
|
||||
- Pre-built by Google
|
||||
- Layer with demographics for precision
|
||||
|
||||
**Affinity audiences:**
|
||||
- Based on interests and habits
|
||||
- Better for awareness
|
||||
- Broad but can exclude irrelevant
|
||||
|
||||
**Customer match:**
|
||||
- Upload email lists
|
||||
- Retarget existing customers
|
||||
- Create lookalikes from best customers
|
||||
|
||||
**Similar/lookalike audiences:**
|
||||
- Based on your customer match lists
|
||||
- Expand reach while maintaining relevance
|
||||
- Best when source list is high-quality customers
|
||||
|
||||
---
|
||||
|
||||
## Meta Audiences
|
||||
|
||||
### Core Audiences (Interest/Demographic)
|
||||
|
||||
**Interest targeting tips:**
|
||||
- Layer interests with AND logic for precision
|
||||
- Use Audience Insights to research interests
|
||||
- Start broad, let algorithm optimize
|
||||
- Exclude existing customers always
|
||||
|
||||
**Demographic targeting:**
|
||||
- Age and gender (if product-specific)
|
||||
- Location (down to zip/postal code)
|
||||
- Language
|
||||
- Education and work (limited data now)
|
||||
|
||||
**Behavior targeting:**
|
||||
- Purchase behavior
|
||||
- Device usage
|
||||
- Travel patterns
|
||||
- Life events
|
||||
|
||||
### Custom Audiences
|
||||
|
||||
**Website visitors:**
|
||||
- All visitors (last 180 days max)
|
||||
- Specific page visitors
|
||||
- Time on site thresholds
|
||||
- Frequency (visited X times)
|
||||
|
||||
**Customer list:**
|
||||
- Upload emails/phone numbers
|
||||
- Match rate typically 30-70%
|
||||
- Refresh regularly for accuracy
|
||||
|
||||
**Engagement audiences:**
|
||||
- Video viewers (25%, 50%, 75%, 95%)
|
||||
- Page/profile engagers
|
||||
- Form openers
|
||||
- Instagram engagers
|
||||
|
||||
**App activity:**
|
||||
- App installers
|
||||
- In-app events
|
||||
- Purchase events
|
||||
|
||||
### Lookalike Audiences
|
||||
|
||||
**Source audience quality matters:**
|
||||
- Use high-LTV customers, not all customers
|
||||
- Purchasers > leads > all visitors
|
||||
- Minimum 100 source users, ideally 1,000+
|
||||
|
||||
**Size recommendations:**
|
||||
- 1% — most similar, smallest reach
|
||||
- 1-3% — good balance for most
|
||||
- 3-5% — broader, good for scale
|
||||
- 5-10% — very broad, awareness only
|
||||
|
||||
**Layering strategies:**
|
||||
- Lookalike + interest = more precision early
|
||||
- Test lookalike-only as you scale
|
||||
- Exclude the source audience
|
||||
|
||||
---
|
||||
|
||||
## LinkedIn Audiences
|
||||
|
||||
### Job-Based Targeting
|
||||
|
||||
**Job titles:**
|
||||
- Be specific (CMO vs. "Marketing")
|
||||
- LinkedIn normalizes titles, but verify
|
||||
- Stack related titles
|
||||
- Exclude irrelevant titles
|
||||
|
||||
**Job functions:**
|
||||
- Broader than titles
|
||||
- Combine with seniority level
|
||||
- Good for awareness campaigns
|
||||
|
||||
**Seniority levels:**
|
||||
- Entry, Senior, Manager, Director, VP, CXO, Partner
|
||||
- Layer with function for precision
|
||||
|
||||
**Skills:**
|
||||
- Self-reported, less reliable
|
||||
- Good for technical roles
|
||||
- Use as expansion layer
|
||||
|
||||
### Company-Based Targeting
|
||||
|
||||
**Company size:**
|
||||
- 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5000+
|
||||
- Key filter for B2B
|
||||
|
||||
**Industry:**
|
||||
- Based on company classification
|
||||
- Can be broad, layer with other criteria
|
||||
|
||||
**Company names (ABM):**
|
||||
- Upload target account list
|
||||
- Minimum 300 companies recommended
|
||||
- Match rate varies
|
||||
|
||||
**Company growth rate:**
|
||||
- Hiring rapidly = budget available
|
||||
- Good signal for timing
|
||||
|
||||
### High-Performing Combinations
|
||||
|
||||
| Use Case | Targeting Combination |
|
||||
|----------|----------------------|
|
||||
| Enterprise sales | Company size 1000+ + VP/CXO + Industry |
|
||||
| SMB sales | Company size 11-200 + Manager/Director + Function |
|
||||
| Developer tools | Skills + Job function + Company type |
|
||||
| ABM campaigns | Company list + Decision-maker titles |
|
||||
| Broad awareness | Industry + Seniority + Geography |
|
||||
|
||||
---
|
||||
|
||||
## Twitter/X Audiences
|
||||
|
||||
### Targeting options:
|
||||
- Follower lookalikes (accounts similar to followers of X)
|
||||
- Interest categories
|
||||
- Keywords (in tweets)
|
||||
- Conversation topics
|
||||
- Events
|
||||
- Tailored audiences (your lists)
|
||||
|
||||
### Best practices:
|
||||
- Follower lookalikes of relevant accounts work well
|
||||
- Keyword targeting catches active conversations
|
||||
- Lower CPMs than LinkedIn/Meta
|
||||
- Less precise, better for awareness
|
||||
|
||||
---
|
||||
|
||||
## TikTok Audiences
|
||||
|
||||
### Targeting options:
|
||||
- Demographics (age, gender, location)
|
||||
- Interests (TikTok's categories)
|
||||
- Behaviors (video interactions)
|
||||
- Device (iOS/Android, connection type)
|
||||
- Custom audiences (pixel, customer file)
|
||||
- Lookalike audiences
|
||||
|
||||
### Best practices:
|
||||
- Younger skew (18-34 primarily)
|
||||
- Interest targeting is broad
|
||||
- Creative matters more than targeting
|
||||
- Let algorithm optimize with broad targeting
|
||||
|
||||
---
|
||||
|
||||
## Audience Size Guidelines
|
||||
|
||||
| Platform | Minimum Recommended | Ideal Range |
|
||||
|----------|-------------------|-------------|
|
||||
| Google Search | 1,000+ searches/mo | 5,000-50,000 |
|
||||
| Google Display | 100,000+ | 500K-5M |
|
||||
| Meta | 100,000+ | 500K-10M |
|
||||
| LinkedIn | 50,000+ | 100K-500K |
|
||||
| Twitter/X | 50,000+ | 100K-1M |
|
||||
| TikTok | 100,000+ | 1M+ |
|
||||
|
||||
Too narrow = expensive, slow learning
|
||||
Too broad = wasted spend, poor relevance
|
||||
|
||||
---
|
||||
|
||||
## Exclusion Strategy
|
||||
|
||||
Always exclude:
|
||||
- Existing customers (unless upsell)
|
||||
- Recent converters (7-14 days)
|
||||
- Bounced visitors (<10 sec)
|
||||
- Employees (by company or email list)
|
||||
- Irrelevant page visitors (careers, support)
|
||||
- Competitors (if identifiable)
|
||||
269
skills/paid-ads/references/platform-setup-checklists.md
Normal file
269
skills/paid-ads/references/platform-setup-checklists.md
Normal file
@@ -0,0 +1,269 @@
|
||||
# Platform Setup Checklists
|
||||
|
||||
Complete setup checklists for major ad platforms.
|
||||
|
||||
## Google Ads Setup
|
||||
|
||||
### Account Foundation
|
||||
|
||||
- [ ] Google Ads account created and verified
|
||||
- [ ] Billing information added
|
||||
- [ ] Time zone and currency set correctly
|
||||
- [ ] Account access granted to team members
|
||||
|
||||
### Conversion Tracking
|
||||
|
||||
- [ ] Google tag installed on all pages
|
||||
- [ ] Conversion actions created (purchase, lead, signup)
|
||||
- [ ] Conversion values assigned (if applicable)
|
||||
- [ ] Enhanced conversions enabled
|
||||
- [ ] Test conversions firing correctly
|
||||
- [ ] Import conversions from GA4 (optional)
|
||||
|
||||
### Analytics Integration
|
||||
|
||||
- [ ] Google Analytics 4 linked
|
||||
- [ ] Auto-tagging enabled
|
||||
- [ ] GA4 audiences available in Google Ads
|
||||
- [ ] Cross-domain tracking set up (if multiple domains)
|
||||
|
||||
### Audience Setup
|
||||
|
||||
- [ ] Remarketing tag verified
|
||||
- [ ] Website visitor audiences created:
|
||||
- All visitors (180 days)
|
||||
- Key page visitors (pricing, demo, features)
|
||||
- Converters (for exclusion)
|
||||
- [ ] Customer match lists uploaded
|
||||
- [ ] Similar audiences enabled
|
||||
|
||||
### Campaign Readiness
|
||||
|
||||
- [ ] Negative keyword lists created:
|
||||
- Universal negatives (free, jobs, careers, reviews, complaints)
|
||||
- Competitor negatives (if needed)
|
||||
- Irrelevant industry terms
|
||||
- [ ] Location targeting set (include/exclude)
|
||||
- [ ] Language targeting set
|
||||
- [ ] Ad schedule configured (if B2B, business hours)
|
||||
- [ ] Device bid adjustments considered
|
||||
|
||||
### Ad Extensions
|
||||
|
||||
- [ ] Sitelinks (4-6 relevant pages)
|
||||
- [ ] Callouts (key benefits, offers)
|
||||
- [ ] Structured snippets (features, types, services)
|
||||
- [ ] Call extension (if phone leads valuable)
|
||||
- [ ] Lead form extension (if using)
|
||||
- [ ] Price extensions (if applicable)
|
||||
- [ ] Image extensions (where available)
|
||||
|
||||
### Brand Protection
|
||||
|
||||
- [ ] Brand campaign running (protect branded terms)
|
||||
- [ ] Competitor campaigns considered
|
||||
- [ ] Brand terms in negative lists for non-brand campaigns
|
||||
|
||||
---
|
||||
|
||||
## Meta Ads Setup
|
||||
|
||||
### Business Manager Foundation
|
||||
|
||||
- [ ] Business Manager created
|
||||
- [ ] Business verified (if running certain ad types)
|
||||
- [ ] Ad account created within Business Manager
|
||||
- [ ] Payment method added
|
||||
- [ ] Team access configured with proper roles
|
||||
|
||||
### Pixel & Tracking
|
||||
|
||||
- [ ] Meta Pixel installed on all pages
|
||||
- [ ] Standard events configured:
|
||||
- PageView (automatic)
|
||||
- ViewContent (product/feature pages)
|
||||
- Lead (form submissions)
|
||||
- Purchase (conversions)
|
||||
- AddToCart (if e-commerce)
|
||||
- InitiateCheckout (if e-commerce)
|
||||
- [ ] Conversions API (CAPI) set up for server-side tracking
|
||||
- [ ] Event Match Quality score > 6
|
||||
- [ ] Test events in Events Manager
|
||||
|
||||
### Domain & Aggregated Events
|
||||
|
||||
- [ ] Domain verified in Business Manager
|
||||
- [ ] Aggregated Event Measurement configured
|
||||
- [ ] Top 8 events prioritized in order of importance
|
||||
- [ ] Web events prioritized for iOS 14+ tracking
|
||||
|
||||
### Audience Setup
|
||||
|
||||
- [ ] Custom audiences created:
|
||||
- Website visitors (all, 30/60/90/180 days)
|
||||
- Key page visitors
|
||||
- Video viewers (25%, 50%, 75%, 95%)
|
||||
- Page/Instagram engagers
|
||||
- Customer list uploaded
|
||||
- [ ] Lookalike audiences created (1%, 1-3%)
|
||||
- [ ] Saved audiences for common targeting
|
||||
|
||||
### Catalog (E-commerce)
|
||||
|
||||
- [ ] Product catalog connected
|
||||
- [ ] Product feed updating correctly
|
||||
- [ ] Catalog sales campaigns enabled
|
||||
- [ ] Dynamic product ads configured
|
||||
|
||||
### Creative Assets
|
||||
|
||||
- [ ] Images in correct sizes:
|
||||
- Feed: 1080x1080 (1:1)
|
||||
- Stories/Reels: 1080x1920 (9:16)
|
||||
- Landscape: 1200x628 (1.91:1)
|
||||
- [ ] Videos in correct formats
|
||||
- [ ] Ad copy variations ready
|
||||
- [ ] UTM parameters in all destination URLs
|
||||
|
||||
### Compliance
|
||||
|
||||
- [ ] Special Ad Categories declared (if housing, credit, employment, politics)
|
||||
- [ ] Landing page complies with Meta policies
|
||||
- [ ] No prohibited content in ads
|
||||
|
||||
---
|
||||
|
||||
## LinkedIn Ads Setup
|
||||
|
||||
### Campaign Manager Foundation
|
||||
|
||||
- [ ] Campaign Manager account created
|
||||
- [ ] Company Page connected
|
||||
- [ ] Billing information added
|
||||
- [ ] Team access configured
|
||||
|
||||
### Insight Tag & Tracking
|
||||
|
||||
- [ ] LinkedIn Insight Tag installed on all pages
|
||||
- [ ] Tag verified and firing
|
||||
- [ ] Conversion tracking configured:
|
||||
- URL-based conversions
|
||||
- Event-specific conversions
|
||||
- [ ] Conversion values set (if applicable)
|
||||
|
||||
### Audience Setup
|
||||
|
||||
- [ ] Matched Audiences created:
|
||||
- Website retargeting audiences
|
||||
- Company list uploaded (for ABM)
|
||||
- Contact list uploaded
|
||||
- [ ] Lookalike audiences created
|
||||
- [ ] Saved audiences for common targeting
|
||||
|
||||
### Lead Gen Forms (if using)
|
||||
|
||||
- [ ] Lead gen form templates created
|
||||
- [ ] Form fields selected (minimize for conversion)
|
||||
- [ ] Privacy policy URL added
|
||||
- [ ] Thank you message configured
|
||||
- [ ] CRM integration set up (or CSV export process)
|
||||
|
||||
### Document Ads (if using)
|
||||
|
||||
- [ ] Documents uploaded (PDF, PowerPoint)
|
||||
- [ ] Gating configured (full gate or preview)
|
||||
- [ ] Lead gen form connected
|
||||
|
||||
### Creative Assets
|
||||
|
||||
- [ ] Single image ads: 1200x627 (1.91:1) or 1080x1080 (1:1)
|
||||
- [ ] Carousel images ready
|
||||
- [ ] Video specs met (if using)
|
||||
- [ ] Ad copy within character limits:
|
||||
- Intro text: 600 max, 150 recommended
|
||||
- Headline: 200 max, 70 recommended
|
||||
|
||||
### Budget Considerations
|
||||
|
||||
- [ ] Budget realistic for LinkedIn CPCs ($8-15+ typical)
|
||||
- [ ] Audience size validated (50K+ recommended)
|
||||
- [ ] Daily vs. lifetime budget decided
|
||||
- [ ] Bid strategy selected
|
||||
|
||||
---
|
||||
|
||||
## Twitter/X Ads Setup
|
||||
|
||||
### Account Foundation
|
||||
|
||||
- [ ] Ads account created
|
||||
- [ ] Payment method added
|
||||
- [ ] Account verified (if required)
|
||||
|
||||
### Tracking
|
||||
|
||||
- [ ] Twitter Pixel installed
|
||||
- [ ] Conversion events created
|
||||
- [ ] Website tag verified
|
||||
|
||||
### Audience Setup
|
||||
|
||||
- [ ] Tailored audiences created:
|
||||
- Website visitors
|
||||
- Customer lists
|
||||
- [ ] Follower lookalikes identified
|
||||
- [ ] Interest and keyword targets researched
|
||||
|
||||
### Creative
|
||||
|
||||
- [ ] Tweet copy within 280 characters
|
||||
- [ ] Images: 1200x675 (1.91:1) or 1200x1200 (1:1)
|
||||
- [ ] Video specs met (if using)
|
||||
- [ ] Cards configured (website, app, etc.)
|
||||
|
||||
---
|
||||
|
||||
## TikTok Ads Setup
|
||||
|
||||
### Account Foundation
|
||||
|
||||
- [ ] TikTok Ads Manager account created
|
||||
- [ ] Business verification completed
|
||||
- [ ] Payment method added
|
||||
|
||||
### Pixel & Tracking
|
||||
|
||||
- [ ] TikTok Pixel installed
|
||||
- [ ] Events configured (ViewContent, Purchase, etc.)
|
||||
- [ ] Events API set up (recommended)
|
||||
|
||||
### Audience Setup
|
||||
|
||||
- [ ] Custom audiences created
|
||||
- [ ] Lookalike audiences created
|
||||
- [ ] Interest categories identified
|
||||
|
||||
### Creative
|
||||
|
||||
- [ ] Vertical video (9:16) ready
|
||||
- [ ] Native-feeling content (not too polished)
|
||||
- [ ] First 3 seconds are compelling hooks
|
||||
- [ ] Captions added (most watch without sound)
|
||||
- [ ] Music/sounds selected (licensed if needed)
|
||||
|
||||
---
|
||||
|
||||
## Universal Pre-Launch Checklist
|
||||
|
||||
Before launching any campaign:
|
||||
|
||||
- [ ] Conversion tracking tested with real conversion
|
||||
- [ ] Landing page loads fast (<3 sec)
|
||||
- [ ] Landing page mobile-friendly
|
||||
- [ ] UTM parameters working
|
||||
- [ ] Budget set correctly (daily vs. lifetime)
|
||||
- [ ] Start/end dates correct
|
||||
- [ ] Targeting matches intended audience
|
||||
- [ ] Ad creative approved
|
||||
- [ ] Team notified of launch
|
||||
- [ ] Reporting dashboard ready
|
||||
Reference in New Issue
Block a user