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:
|
Before designing a test, understand:
|
||||||
|
|
||||||
1. **Test Context**
|
1. **Test Context** - What are you trying to improve? What change are you considering?
|
||||||
- What are you trying to improve?
|
2. **Current State** - Baseline conversion rate? Current traffic volume?
|
||||||
- What change are you considering?
|
3. **Constraints** - Technical complexity? Timeline? Tools available?
|
||||||
- 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?
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -41,7 +30,6 @@ Before designing a test, understand:
|
|||||||
### 2. Test One Thing
|
### 2. Test One Thing
|
||||||
- Single variable per test
|
- Single variable per test
|
||||||
- Otherwise you don't know what worked
|
- Otherwise you don't know what worked
|
||||||
- Save MVT for later
|
|
||||||
|
|
||||||
### 3. Statistical Rigor
|
### 3. Statistical Rigor
|
||||||
- Pre-determine sample size
|
- Pre-determine sample size
|
||||||
@@ -67,81 +55,41 @@ for [audience].
|
|||||||
We'll know this is true when [metrics].
|
We'll know this is true when [metrics].
|
||||||
```
|
```
|
||||||
|
|
||||||
### Examples
|
### Example
|
||||||
|
|
||||||
**Weak hypothesis:**
|
**Weak**: "Changing the button color might increase clicks."
|
||||||
"Changing the button color might increase clicks."
|
|
||||||
|
|
||||||
**Strong hypothesis:**
|
**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."
|
||||||
"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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Test Types
|
## Test Types
|
||||||
|
|
||||||
### A/B Test (Split Test)
|
| Type | Description | Traffic Needed |
|
||||||
- Two versions: Control (A) vs. Variant (B)
|
|------|-------------|----------------|
|
||||||
- Single change between versions
|
| A/B | Two versions, single change | Moderate |
|
||||||
- Most common, easiest to analyze
|
| A/B/n | Multiple variants | Higher |
|
||||||
|
| MVT | Multiple changes in combinations | Very high |
|
||||||
### A/B/n Test
|
| Split URL | Different URLs for variants | Moderate |
|
||||||
- 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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Sample Size Calculation
|
## Sample Size
|
||||||
|
|
||||||
### 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%
|
|
||||||
|
|
||||||
### Quick Reference
|
### Quick Reference
|
||||||
|
|
||||||
| Baseline Rate | 10% Lift | 20% Lift | 50% Lift |
|
| Baseline | 10% Lift | 20% Lift | 50% Lift |
|
||||||
|---------------|----------|----------|----------|
|
|----------|----------|----------|----------|
|
||||||
| 1% | 150k/variant | 39k/variant | 6k/variant |
|
| 1% | 150k/variant | 39k/variant | 6k/variant |
|
||||||
| 3% | 47k/variant | 12k/variant | 2k/variant |
|
| 3% | 47k/variant | 12k/variant | 2k/variant |
|
||||||
| 5% | 27k/variant | 7k/variant | 1.2k/variant |
|
| 5% | 27k/variant | 7k/variant | 1.2k/variant |
|
||||||
| 10% | 12k/variant | 3k/variant | 550/variant |
|
| 10% | 12k/variant | 3k/variant | 550/variant |
|
||||||
|
|
||||||
### Formula Resources
|
**Calculators:**
|
||||||
- Evan Miller's calculator: https://www.evanmiller.org/ab-testing/sample-size.html
|
- [Evan Miller's](https://www.evanmiller.org/ab-testing/sample-size.html)
|
||||||
- Optimizely's calculator: https://www.optimizely.com/sample-size-calculator/
|
- [Optimizely's](https://www.optimizely.com/sample-size-calculator/)
|
||||||
|
|
||||||
### Test Duration
|
**For detailed sample size tables and duration calculations**: See [references/sample-size-guide.md](references/sample-size-guide.md)
|
||||||
|
|
||||||
```
|
|
||||||
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)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -155,228 +103,106 @@ Maximum: Avoid running too long (novelty effects, external factors)
|
|||||||
### Secondary Metrics
|
### Secondary Metrics
|
||||||
- Support primary metric interpretation
|
- Support primary metric interpretation
|
||||||
- Explain why/how the change worked
|
- Explain why/how the change worked
|
||||||
- Help understand user behavior
|
|
||||||
|
|
||||||
### Guardrail Metrics
|
### Guardrail Metrics
|
||||||
- Things that shouldn't get worse
|
- Things that shouldn't get worse
|
||||||
- Revenue, retention, satisfaction
|
|
||||||
- Stop test if significantly negative
|
- Stop test if significantly negative
|
||||||
|
|
||||||
### Metric Examples by Test Type
|
### Example: Pricing Page Test
|
||||||
|
- **Primary**: Plan selection rate
|
||||||
**Homepage CTA test:**
|
- **Secondary**: Time on page, plan distribution
|
||||||
- Primary: CTA click-through rate
|
- **Guardrail**: Support tickets, refund 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)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Designing Variants
|
## Designing Variants
|
||||||
|
|
||||||
### Control (A)
|
### What to Vary
|
||||||
- Current experience, unchanged
|
|
||||||
- Don't modify during test
|
|
||||||
|
|
||||||
### 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
|
- Single, meaningful change
|
||||||
- Bold enough to make a difference
|
- Bold enough to make a difference
|
||||||
- True to the hypothesis
|
- 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
|
## Traffic Allocation
|
||||||
|
|
||||||
### Standard Split
|
| Approach | Split | When to Use |
|
||||||
- 50/50 for A/B test
|
|----------|-------|-------------|
|
||||||
- Equal split for multiple variants
|
| 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
|
**Considerations:**
|
||||||
- 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
|
|
||||||
- Consistency: Users see same variant on return
|
- Consistency: Users see same variant on return
|
||||||
- Segment sizes: Ensure segments are large enough
|
- Balanced exposure across time of day/week
|
||||||
- Time of day/week: Balanced exposure
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Implementation Approaches
|
## Implementation
|
||||||
|
|
||||||
### Client-Side Testing
|
### Client-Side
|
||||||
|
|
||||||
**Tools**: PostHog, Optimizely, VWO, custom
|
|
||||||
|
|
||||||
**How it works**:
|
|
||||||
- JavaScript modifies page after load
|
- JavaScript modifies page after load
|
||||||
- Quick to implement
|
- Quick to implement, can cause flicker
|
||||||
- Can cause flicker
|
- Tools: PostHog, Optimizely, VWO
|
||||||
|
|
||||||
**Best for**:
|
### Server-Side
|
||||||
- Marketing pages
|
- Variant determined before render
|
||||||
- Copy/visual changes
|
- No flicker, requires dev work
|
||||||
- Quick iteration
|
- Tools: PostHog, LaunchDarkly, Split
|
||||||
|
|
||||||
### 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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Running the Test
|
## Running the Test
|
||||||
|
|
||||||
### Pre-Launch Checklist
|
### Pre-Launch Checklist
|
||||||
|
|
||||||
- [ ] Hypothesis documented
|
- [ ] Hypothesis documented
|
||||||
- [ ] Primary metric defined
|
- [ ] Primary metric defined
|
||||||
- [ ] Sample size calculated
|
- [ ] Sample size calculated
|
||||||
- [ ] Test duration estimated
|
|
||||||
- [ ] Variants implemented correctly
|
- [ ] Variants implemented correctly
|
||||||
- [ ] Tracking verified
|
- [ ] Tracking verified
|
||||||
- [ ] QA completed on all variants
|
- [ ] QA completed on all variants
|
||||||
- [ ] Stakeholders informed
|
|
||||||
|
|
||||||
### During the Test
|
### During the Test
|
||||||
|
|
||||||
**DO:**
|
**DO:**
|
||||||
- Monitor for technical issues
|
- Monitor for technical issues
|
||||||
- Check segment quality
|
- Check segment quality
|
||||||
- Document any external factors
|
- Document external factors
|
||||||
|
|
||||||
**DON'T:**
|
**DON'T:**
|
||||||
- Peek at results and stop early
|
- Peek at results and stop early
|
||||||
- Make changes to variants
|
- Make changes to variants
|
||||||
- Add traffic from new sources
|
- Add traffic from new sources
|
||||||
- End early because you "know" the answer
|
|
||||||
|
|
||||||
### Peeking Problem
|
### 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.
|
||||||
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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Analyzing Results
|
## Analyzing Results
|
||||||
|
|
||||||
### Statistical Significance
|
### Statistical Significance
|
||||||
|
|
||||||
- 95% confidence = p-value < 0.05
|
- 95% confidence = p-value < 0.05
|
||||||
- Means: <5% chance result is random
|
- Means <5% chance result is random
|
||||||
- Not a guarantee—just a threshold
|
- Not a guarantee—just a threshold
|
||||||
|
|
||||||
### Practical Significance
|
### Analysis Checklist
|
||||||
|
|
||||||
Statistical ≠ Practical
|
1. **Reach sample size?** If not, result is preliminary
|
||||||
|
2. **Statistically significant?** Check confidence intervals
|
||||||
- Is the effect size meaningful for business?
|
3. **Effect size meaningful?** Compare to MDE, project impact
|
||||||
- Is it worth the implementation cost?
|
4. **Secondary metrics consistent?** Support the primary?
|
||||||
- Is it sustainable over time?
|
5. **Guardrail concerns?** Anything get worse?
|
||||||
|
6. **Segment differences?** Mobile vs. desktop? New vs. returning?
|
||||||
### 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?
|
|
||||||
|
|
||||||
### Interpreting Results
|
### 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
|
||||||
|
|
||||||
```
|
**For templates**: See [references/test-templates.md](references/test-templates.md)
|
||||||
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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -476,19 +233,16 @@ Next steps based on results
|
|||||||
- Testing too small a change (undetectable)
|
- Testing too small a change (undetectable)
|
||||||
- Testing too many things (can't isolate)
|
- Testing too many things (can't isolate)
|
||||||
- No clear hypothesis
|
- No clear hypothesis
|
||||||
- Wrong audience
|
|
||||||
|
|
||||||
### Execution
|
### Execution
|
||||||
- Stopping early
|
- Stopping early
|
||||||
- Changing things mid-test
|
- Changing things mid-test
|
||||||
- Not checking implementation
|
- Not checking implementation
|
||||||
- Uneven traffic allocation
|
|
||||||
|
|
||||||
### Analysis
|
### Analysis
|
||||||
- Ignoring confidence intervals
|
- Ignoring confidence intervals
|
||||||
- Cherry-picking segments
|
- Cherry-picking segments
|
||||||
- Over-interpreting inconclusive results
|
- 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:
|
Before implementing tracking, understand:
|
||||||
|
|
||||||
1. **Business Context**
|
1. **Business Context** - What decisions will this data inform? What are key conversions?
|
||||||
- What decisions will this data inform?
|
2. **Current State** - What tracking exists? What tools are in use?
|
||||||
- What are the key conversion actions?
|
3. **Technical Context** - What's the tech stack? Any privacy/compliance requirements?
|
||||||
- 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?
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -60,63 +49,36 @@ Before implementing tracking, understand:
|
|||||||
### Structure
|
### Structure
|
||||||
|
|
||||||
```
|
```
|
||||||
Event Name | Event Category | Properties | Trigger | Notes
|
Event Name | Category | Properties | Trigger | Notes
|
||||||
---------- | ------------- | ---------- | ------- | -----
|
---------- | -------- | ---------- | ------- | -----
|
||||||
```
|
```
|
||||||
|
|
||||||
### Event Types
|
### Event Types
|
||||||
|
|
||||||
**Pageviews**
|
| Type | Examples |
|
||||||
- Automatic in most tools
|
|------|----------|
|
||||||
- Enhanced with page metadata
|
| 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**
|
**For comprehensive event lists**: See [references/event-library.md](references/event-library.md)
|
||||||
- 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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Event Naming Conventions
|
## Event Naming Conventions
|
||||||
|
|
||||||
### Format Options
|
### Recommended Format: Object-Action
|
||||||
|
|
||||||
**Object-Action (Recommended)**
|
|
||||||
```
|
```
|
||||||
signup_completed
|
signup_completed
|
||||||
button_clicked
|
button_clicked
|
||||||
form_submitted
|
form_submitted
|
||||||
article_read
|
article_read
|
||||||
```
|
|
||||||
|
|
||||||
**Action-Object**
|
|
||||||
```
|
|
||||||
click_button
|
|
||||||
submit_form
|
|
||||||
complete_signup
|
|
||||||
```
|
|
||||||
|
|
||||||
**Category_Object_Action**
|
|
||||||
```
|
|
||||||
checkout_payment_completed
|
checkout_payment_completed
|
||||||
blog_article_viewed
|
|
||||||
onboarding_step_completed
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Best Practices
|
### Best Practices
|
||||||
|
|
||||||
- Lowercase with underscores
|
- Lowercase with underscores
|
||||||
- Be specific: `cta_hero_clicked` vs. `button_clicked`
|
- Be specific: `cta_hero_clicked` vs. `button_clicked`
|
||||||
- Include context in properties, not event name
|
- Include context in properties, not event name
|
||||||
@@ -125,235 +87,94 @@ onboarding_step_completed
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Essential Events to Track
|
## Essential Events
|
||||||
|
|
||||||
### Marketing Site
|
### Marketing Site
|
||||||
|
|
||||||
**Navigation**
|
| Event | Properties |
|
||||||
- page_view (enhanced)
|
|-------|------------|
|
||||||
- outbound_link_clicked
|
| cta_clicked | button_text, location |
|
||||||
- scroll_depth (25%, 50%, 75%, 100%)
|
| form_submitted | form_type |
|
||||||
|
| signup_completed | method, source |
|
||||||
**Engagement**
|
| demo_requested | - |
|
||||||
- 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
|
|
||||||
|
|
||||||
### Product/App
|
### Product/App
|
||||||
|
|
||||||
**Onboarding**
|
| Event | Properties |
|
||||||
- signup_completed
|
|-------|------------|
|
||||||
- onboarding_step_completed (step_number, step_name)
|
| onboarding_step_completed | step_number, step_name |
|
||||||
- onboarding_completed
|
| feature_used | feature_name |
|
||||||
- first_key_action_completed
|
| purchase_completed | plan, value |
|
||||||
|
| subscription_cancelled | reason |
|
||||||
|
|
||||||
**Core Usage**
|
**For full event library by business type**: See [references/event-library.md](references/event-library.md)
|
||||||
- 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)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Event Properties (Parameters)
|
## Event Properties
|
||||||
|
|
||||||
### Standard Properties to Consider
|
### Standard Properties
|
||||||
|
|
||||||
**Page/Screen**
|
| Category | Properties |
|
||||||
- page_title
|
|----------|------------|
|
||||||
- page_location (URL)
|
| Page | page_title, page_location, page_referrer |
|
||||||
- page_referrer
|
| User | user_id, user_type, account_id, plan_type |
|
||||||
- content_group
|
| Campaign | source, medium, campaign, content, term |
|
||||||
|
| Product | product_id, product_name, category, price |
|
||||||
**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
|
|
||||||
|
|
||||||
### Best Practices
|
### Best Practices
|
||||||
|
|
||||||
- Use consistent property names
|
- Use consistent property names
|
||||||
- Include relevant context
|
- Include relevant context
|
||||||
- Don't duplicate GA4 automatic properties
|
- Don't duplicate automatic properties
|
||||||
- Avoid PII in properties
|
- Avoid PII in properties
|
||||||
- Document expected values
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## GA4 Implementation
|
## GA4 Implementation
|
||||||
|
|
||||||
### Configuration
|
### Quick Setup
|
||||||
|
|
||||||
**Data Streams**
|
1. Create GA4 property and data stream
|
||||||
- One stream per platform (web, iOS, Android)
|
2. Install gtag.js or GTM
|
||||||
- Enable enhanced measurement
|
3. Enable enhanced measurement
|
||||||
|
4. Configure custom events
|
||||||
|
5. Mark conversions in Admin
|
||||||
|
|
||||||
**Enhanced Measurement Events**
|
### Custom Event Example
|
||||||
- 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)
|
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
// gtag.js
|
|
||||||
gtag('event', 'signup_completed', {
|
gtag('event', 'signup_completed', {
|
||||||
'method': 'email',
|
'method': 'email',
|
||||||
'plan': 'free'
|
'plan': 'free'
|
||||||
});
|
});
|
||||||
|
|
||||||
// Google Tag Manager (dataLayer)
|
|
||||||
dataLayer.push({
|
|
||||||
'event': 'signup_completed',
|
|
||||||
'method': 'email',
|
|
||||||
'plan': 'free'
|
|
||||||
});
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Conversions Setup
|
**For detailed GA4 implementation**: See [references/ga4-implementation.md](references/ga4-implementation.md)
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Google Tag Manager Implementation
|
## Google Tag Manager
|
||||||
|
|
||||||
### Container Structure
|
### Container Structure
|
||||||
|
|
||||||
**Tags**
|
| Component | Purpose |
|
||||||
- GA4 Configuration (base)
|
|-----------|---------|
|
||||||
- GA4 Event tags (one per event or grouped)
|
| Tags | Code that executes (GA4, pixels) |
|
||||||
- Conversion pixels (Facebook, LinkedIn, etc.)
|
| Triggers | When tags fire (page view, click) |
|
||||||
|
| Variables | Dynamic values (click text, data layer) |
|
||||||
**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
|
|
||||||
|
|
||||||
### Data Layer Pattern
|
### Data Layer Pattern
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
// Push custom event
|
|
||||||
dataLayer.push({
|
dataLayer.push({
|
||||||
'event': 'form_submitted',
|
'event': 'form_submitted',
|
||||||
'form_name': 'contact',
|
'form_name': 'contact',
|
||||||
'form_location': 'footer'
|
'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
|
## UTM Parameter Strategy
|
||||||
@@ -362,40 +183,17 @@ dataLayer.push({
|
|||||||
|
|
||||||
| Parameter | Purpose | Example |
|
| Parameter | Purpose | Example |
|
||||||
|-----------|---------|---------|
|
|-----------|---------|---------|
|
||||||
| utm_source | Where traffic comes from | google, facebook, newsletter |
|
| utm_source | Traffic source | google, newsletter |
|
||||||
| utm_medium | Marketing medium | cpc, email, social, referral |
|
| utm_medium | Marketing medium | cpc, email, social |
|
||||||
| utm_campaign | Campaign name | spring_sale, product_launch |
|
| utm_campaign | Campaign name | spring_sale |
|
||||||
| utm_content | Differentiate versions | hero_cta, sidebar_link |
|
| utm_content | Differentiate versions | hero_cta |
|
||||||
| utm_term | Paid search keywords | running+shoes |
|
| utm_term | Paid search keywords | running+shoes |
|
||||||
|
|
||||||
### Naming Conventions
|
### Naming Conventions
|
||||||
|
- Lowercase everything
|
||||||
**Lowercase everything**
|
- Use underscores or hyphens consistently
|
||||||
- google, not Google
|
- Be specific but concise: `blog_footer_cta`, not `cta1`
|
||||||
- email, not Email
|
- Document all UTMs in a spreadsheet
|
||||||
|
|
||||||
**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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -403,72 +201,44 @@ Provide a consistent UTM builder link to team:
|
|||||||
|
|
||||||
### Testing Tools
|
### Testing Tools
|
||||||
|
|
||||||
**GA4 DebugView**
|
| Tool | Use For |
|
||||||
- Real-time event monitoring
|
|------|---------|
|
||||||
- Enable with ?debug_mode=true
|
| GA4 DebugView | Real-time event monitoring |
|
||||||
- Or via Chrome extension
|
| GTM Preview Mode | Test triggers before publish |
|
||||||
|
| Browser Extensions | Tag Assistant, dataLayer Inspector |
|
||||||
**GTM Preview Mode**
|
|
||||||
- Test triggers and tags
|
|
||||||
- See data layer state
|
|
||||||
- Validate before publish
|
|
||||||
|
|
||||||
**Browser Extensions**
|
|
||||||
- GA Debugger
|
|
||||||
- Tag Assistant
|
|
||||||
- dataLayer Inspector
|
|
||||||
|
|
||||||
### Validation Checklist
|
### Validation Checklist
|
||||||
|
|
||||||
- [ ] Events firing on correct triggers
|
- [ ] Events firing on correct triggers
|
||||||
- [ ] Property values populating correctly
|
- [ ] Property values populating correctly
|
||||||
- [ ] No duplicate events
|
- [ ] No duplicate events
|
||||||
- [ ] Works across browsers
|
- [ ] Works across browsers and mobile
|
||||||
- [ ] Works on mobile
|
|
||||||
- [ ] Conversions recorded correctly
|
- [ ] Conversions recorded correctly
|
||||||
- [ ] User ID passing when logged in
|
|
||||||
- [ ] No PII leaking
|
- [ ] No PII leaking
|
||||||
|
|
||||||
### Common Issues
|
### Common Issues
|
||||||
|
|
||||||
**Events not firing**
|
| Issue | Check |
|
||||||
- Trigger misconfigured
|
|-------|-------|
|
||||||
- Tag paused
|
| Events not firing | Trigger config, GTM loaded |
|
||||||
- GTM not loaded on page
|
| Wrong values | Variable path, data layer structure |
|
||||||
|
| Duplicate events | Multiple containers, trigger firing twice |
|
||||||
**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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Privacy and Compliance
|
## Privacy and Compliance
|
||||||
|
|
||||||
### Considerations
|
### Considerations
|
||||||
|
|
||||||
- Cookie consent required in EU/UK/CA
|
- Cookie consent required in EU/UK/CA
|
||||||
- No PII in analytics properties
|
- No PII in analytics properties
|
||||||
- Data retention settings
|
- Data retention settings
|
||||||
- User deletion capabilities
|
- User deletion capabilities
|
||||||
- Cross-device tracking consent
|
|
||||||
|
|
||||||
### Implementation
|
### Implementation
|
||||||
|
- Use consent mode (wait for consent)
|
||||||
**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
|
|
||||||
- IP anonymization
|
- 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
|
### Tracking Plan Document
|
||||||
|
|
||||||
```
|
```markdown
|
||||||
# [Site/Product] Tracking Plan
|
# [Site/Product] Tracking Plan
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
- Tools: GA4, GTM
|
- Tools: GA4, GTM
|
||||||
- Last updated: [Date]
|
- Last updated: [Date]
|
||||||
- Owner: [Name]
|
|
||||||
|
|
||||||
## Events
|
## Events
|
||||||
|
|
||||||
### Marketing Events
|
|
||||||
|
|
||||||
| Event Name | Description | Properties | Trigger |
|
| Event Name | Description | Properties | Trigger |
|
||||||
|------------|-------------|------------|---------|
|
|------------|-------------|------------|---------|
|
||||||
| signup_started | User initiates signup | source, page | Click signup CTA |
|
| signup_completed | User completes signup | method, plan | Success page |
|
||||||
| signup_completed | User completes signup | method, plan | Signup success page |
|
|
||||||
|
|
||||||
### Product Events
|
|
||||||
[Similar table]
|
|
||||||
|
|
||||||
## Custom Dimensions
|
## Custom Dimensions
|
||||||
|
|
||||||
| Name | Scope | Parameter | Description |
|
| Name | Scope | Parameter |
|
||||||
|------|-------|-----------|-------------|
|
|------|-------|-----------|
|
||||||
| user_type | User | user_type | Free, trial, paid |
|
| user_type | User | user_type |
|
||||||
|
|
||||||
## Conversions
|
## Conversions
|
||||||
|
|
||||||
| Conversion | Event | Counting | Google Ads |
|
| Conversion | Event | Counting |
|
||||||
|------------|-------|----------|------------|
|
|------------|-------|----------|
|
||||||
| Signup | signup_completed | Once per session | Yes |
|
| Signup | signup_completed | Once per session |
|
||||||
|
|
||||||
## UTM Convention
|
|
||||||
|
|
||||||
[Guidelines]
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Implementation Code
|
|
||||||
|
|
||||||
Provide ready-to-use code snippets
|
|
||||||
|
|
||||||
### Testing Checklist
|
|
||||||
|
|
||||||
Specific validation steps
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Task-Specific Questions
|
## 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):
|
Gather this context (ask if not provided):
|
||||||
|
|
||||||
### 1. Page Purpose
|
### 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 is the ONE primary action you want visitors to take?
|
||||||
- What's the secondary action (if any)?
|
|
||||||
|
|
||||||
### 2. Audience
|
### 2. Audience
|
||||||
- Who is the ideal customer for this page?
|
- Who is the ideal customer?
|
||||||
- What problem are they trying to solve?
|
- What problem are they trying to solve?
|
||||||
- What have they already tried?
|
|
||||||
- What objections or hesitations do they have?
|
- What objections or hesitations do they have?
|
||||||
- What language do they use to describe their problem?
|
- What language do they use to describe their problem?
|
||||||
|
|
||||||
@@ -35,66 +33,49 @@ Gather this context (ask if not provided):
|
|||||||
### 4. Context
|
### 4. Context
|
||||||
- Where is traffic coming from? (ads, organic, email)
|
- Where is traffic coming from? (ads, organic, email)
|
||||||
- What do visitors already know before arriving?
|
- What do visitors already know before arriving?
|
||||||
- What messaging are they seeing before this page?
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Copywriting Principles
|
## Copywriting Principles
|
||||||
|
|
||||||
### Clarity Over Cleverness
|
### Clarity Over Cleverness
|
||||||
- If you have to choose between clear and creative, choose clear
|
If you have to choose between clear and creative, choose clear.
|
||||||
- Every sentence should have one job
|
|
||||||
- Remove words that don't add meaning
|
|
||||||
|
|
||||||
### Benefits Over Features
|
### Benefits Over Features
|
||||||
- Features: What it does
|
Features: What it does. Benefits: What that means for the customer.
|
||||||
- Benefits: What that means for the customer
|
|
||||||
- Always connect features to outcomes
|
|
||||||
|
|
||||||
### Specificity Over Vagueness
|
### Specificity Over Vagueness
|
||||||
- Vague: "Save time on your workflow"
|
- Vague: "Save time on your workflow"
|
||||||
- Specific: "Cut your weekly reporting from 4 hours to 15 minutes"
|
- Specific: "Cut your weekly reporting from 4 hours to 15 minutes"
|
||||||
|
|
||||||
### Customer Language Over Company Language
|
### Customer Language Over Company Language
|
||||||
- Use words your customers use
|
Use words your customers use. Mirror voice-of-customer from reviews, interviews, support tickets.
|
||||||
- Avoid jargon unless your audience uses it
|
|
||||||
- Mirror voice-of-customer from reviews, interviews, support tickets
|
|
||||||
|
|
||||||
### One Idea Per Section
|
### 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
|
## 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" not "utilize," "help" not "facilitate"
|
||||||
|
2. **Specific over vague** — Avoid "streamline," "optimize," "innovative"
|
||||||
1. **Simple over complex** — Use everyday words. "Use" instead of "utilize," "help" instead of "facilitate."
|
3. **Active over passive** — "We generate reports" not "Reports are generated"
|
||||||
|
4. **Confident over qualified** — Remove "almost," "very," "really"
|
||||||
2. **Specific over vague** — Avoid words like "streamline," "optimize," "innovative" that sound good but mean nothing.
|
5. **Show over tell** — Describe the outcome instead of using adverbs
|
||||||
|
6. **Honest over sensational** — Never fabricate statistics or testimonials
|
||||||
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.
|
|
||||||
|
|
||||||
### Quick Quality Check
|
### Quick Quality Check
|
||||||
|
|
||||||
Before finalizing, scan for:
|
- Jargon that could confuse outsiders?
|
||||||
- Jargon that could confuse outsiders
|
- Sentences trying to do too much?
|
||||||
- Sentences trying to do too much (max 3 conjunctions)
|
- Passive voice constructions?
|
||||||
- Passive voice constructions
|
- Exclamation points? (remove them)
|
||||||
- Exclamation points (remove them)
|
- Marketing buzzwords without substance?
|
||||||
- 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
|
### Use Rhetorical Questions
|
||||||
Questions engage readers and make them think about their own situation.
|
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?
|
### Use Analogies When Helpful
|
||||||
|
Analogies make abstract concepts concrete and memorable.
|
||||||
✅ 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.
|
|
||||||
|
|
||||||
### Pepper in Humor (When Appropriate)
|
### 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
|
## Page Structure Framework
|
||||||
|
|
||||||
### Above the Fold (First Screen)
|
### Above the Fold
|
||||||
|
|
||||||
**Headline**
|
**Headline**
|
||||||
- Your single most important message
|
- Your single most important message
|
||||||
- Should communicate core value proposition
|
- Communicate core value proposition
|
||||||
- Specific > generic
|
- 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}**
|
**For comprehensive headline formulas**: See [references/copy-frameworks.md](references/copy-frameworks.md)
|
||||||
*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]"
|
|
||||||
|
|
||||||
**Subheadline**
|
**Subheadline**
|
||||||
- Expands on the headline
|
- Expands on headline
|
||||||
- Adds specificity or addresses secondary concern
|
- Adds specificity
|
||||||
- 1-2 sentences max
|
- 1-2 sentences max
|
||||||
|
|
||||||
**Primary CTA**
|
**Primary CTA**
|
||||||
- Action-oriented button text
|
- Action-oriented button text
|
||||||
- Communicate what they get, not what they do
|
- Communicate what they get: "Start Free Trial" > "Sign Up"
|
||||||
- "Start Free Trial" > "Sign Up"
|
|
||||||
- "Get Your Report" > "Submit"
|
|
||||||
|
|
||||||
**Supporting Visual**
|
### Core Sections
|
||||||
- Product screenshot, demo, or hero image
|
|
||||||
- Should reinforce the message, not distract
|
|
||||||
|
|
||||||
### 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):
|
**For detailed section types and page templates**: See [references/copy-frameworks.md](references/copy-frameworks.md)
|
||||||
- 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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## CTA Copy Guidelines
|
## CTA Copy Guidelines
|
||||||
|
|
||||||
**Weak CTAs (avoid):**
|
**Weak CTAs (avoid):**
|
||||||
- Submit
|
- Submit, Sign Up, Learn More, Click Here, Get Started
|
||||||
- Sign Up
|
|
||||||
- Learn More
|
|
||||||
- Click Here
|
|
||||||
- Get Started
|
|
||||||
|
|
||||||
**Strong CTAs (use):**
|
**Strong CTAs (use):**
|
||||||
- Start Free Trial
|
- Start Free Trial
|
||||||
- Get [Specific Thing]
|
- Get [Specific Thing]
|
||||||
- See [Product] in Action
|
- See [Product] in Action
|
||||||
- Create Your First [Thing]
|
- Create Your First [Thing]
|
||||||
- Book My Demo
|
|
||||||
- Download the Guide
|
- Download the Guide
|
||||||
- Try It Free
|
|
||||||
|
|
||||||
**CTA formula:**
|
**Formula:** [Action Verb] + [What They Get] + [Qualifier if needed]
|
||||||
[Action Verb] + [What They Get] + [Qualifier if needed]
|
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
- "Start My Free Trial"
|
- "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
|
## Page-Specific Guidance
|
||||||
|
|
||||||
### Homepage Copy
|
### Homepage
|
||||||
- Serve multiple audiences without being generic
|
- Serve multiple audiences without being generic
|
||||||
- Lead with broadest value proposition
|
- Lead with broadest value proposition
|
||||||
- Provide clear paths for different visitor intents
|
- Provide clear paths for different visitor intents
|
||||||
- Balance "ready to buy" and "still researching"
|
|
||||||
|
|
||||||
### Landing Page Copy
|
### Landing Page
|
||||||
- Single message, single CTA
|
- Single message, single CTA
|
||||||
- Match headline to ad/traffic source
|
- Match headline to ad/traffic source
|
||||||
- Complete argument on one page
|
- Complete argument on one page
|
||||||
- Remove distractions (often no nav)
|
|
||||||
|
|
||||||
### Pricing Page Copy
|
### Pricing Page
|
||||||
- Help visitors choose the right plan
|
- Help visitors choose the right plan
|
||||||
- Clarify what's included at each level
|
|
||||||
- Address "which is right for me?" anxiety
|
- Address "which is right for me?" anxiety
|
||||||
- Make recommended plan obvious
|
- Make recommended plan obvious
|
||||||
|
|
||||||
### Feature Page Copy
|
### Feature Page
|
||||||
- Connect feature to benefit to outcome
|
- Connect feature → benefit → outcome
|
||||||
- Show use cases and examples
|
- Show use cases and examples
|
||||||
- Differentiate from competitors' versions
|
|
||||||
- Clear path to try or buy
|
- Clear path to try or buy
|
||||||
|
|
||||||
### About Page Copy
|
### About Page
|
||||||
- Tell the story of why you exist
|
- Tell the story of why you exist
|
||||||
- Connect company mission to customer benefit
|
- Connect mission to customer benefit
|
||||||
- Build trust through transparency
|
- Still include a CTA
|
||||||
- Still include a CTA (it's still a marketing page)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Voice and Tone Considerations
|
## Voice and Tone
|
||||||
|
|
||||||
Before writing, establish:
|
Before writing, establish:
|
||||||
|
|
||||||
@@ -442,17 +206,43 @@ Before writing, establish:
|
|||||||
- Bold or understated?
|
- Bold or understated?
|
||||||
- Technical or accessible?
|
- Technical or accessible?
|
||||||
|
|
||||||
Maintain consistency throughout, but adjust intensity:
|
Maintain consistency, but adjust intensity:
|
||||||
- Headlines can be bolder
|
- Headlines can be bolder
|
||||||
- Body copy should be clearer
|
- Body copy should be clearer
|
||||||
- CTAs should be action-oriented
|
- 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
|
## Related Skills
|
||||||
|
|
||||||
- **copy-editing**: For polishing and improving existing copy (use after writing your first draft)
|
- **copy-editing**: For polishing existing copy (use after your draft)
|
||||||
- **page-cro**: If the page structure/strategy needs work, not just copy
|
- **page-cro**: If page structure/strategy needs work, not just copy
|
||||||
- **email-sequence**: For email copywriting
|
- **email-sequence**: For email copywriting
|
||||||
- **popup-cro**: For popup and modal copy
|
- **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:
|
Before providing recommendations, understand:
|
||||||
|
|
||||||
1. **Product Context**
|
1. **Product Context** - What type of product? B2B or B2C? Core value proposition?
|
||||||
- What type of product? (SaaS tool, marketplace, app, etc.)
|
2. **Activation Definition** - What's the "aha moment"? What action indicates a user "gets it"?
|
||||||
- B2B or B2C?
|
3. **Current State** - What happens after signup? Where do users drop off?
|
||||||
- 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?
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Core Principles
|
## Core Principles
|
||||||
|
|
||||||
### 1. Time-to-Value Is Everything
|
### 1. Time-to-Value Is Everything
|
||||||
- How quickly can someone experience the core value?
|
Remove every step between signup and experiencing core value.
|
||||||
- Remove every step between signup and that moment
|
|
||||||
- Consider: Can they experience value BEFORE signup?
|
|
||||||
|
|
||||||
### 2. One Goal Per Session
|
### 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
|
### 3. Do, Don't Show
|
||||||
- Interactive > Tutorial
|
Interactive > Tutorial. Doing the thing > Learning about the thing.
|
||||||
- Doing the thing > Learning about the thing
|
|
||||||
- Show UI in context of real tasks
|
|
||||||
|
|
||||||
### 4. Progress Creates Motivation
|
### 4. Progress Creates Motivation
|
||||||
- Show advancement
|
Show advancement. Celebrate completions. Make the path visible.
|
||||||
- Celebrate completions
|
|
||||||
- Make the path visible
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Defining Activation
|
## Defining Activation
|
||||||
|
|
||||||
### Find Your Aha Moment
|
### Find Your Aha Moment
|
||||||
|
|
||||||
The action that correlates most strongly with retention:
|
The action that correlates most strongly with retention:
|
||||||
- What do retained users do that churned users don't?
|
- What do retained users do that churned users don't?
|
||||||
- What's the earliest indicator of future engagement?
|
- What's the earliest indicator of future engagement?
|
||||||
- What action demonstrates they "got it"?
|
|
||||||
|
|
||||||
**Examples by product type:**
|
**Examples by product type:**
|
||||||
- Project management: Create first project + add team member
|
- Project management: Create first project + add team member
|
||||||
- Analytics: Install tracking + see first report
|
- Analytics: Install tracking + see first report
|
||||||
- Design tool: Create first design + export/share
|
- Design tool: Create first design + export/share
|
||||||
- Collaboration: Invite first teammate
|
|
||||||
- Marketplace: Complete first transaction
|
- Marketplace: Complete first transaction
|
||||||
|
|
||||||
### Activation Metrics
|
### Activation Metrics
|
||||||
@@ -82,18 +62,11 @@ The action that correlates most strongly with retention:
|
|||||||
|
|
||||||
### Immediate Post-Signup (First 30 Seconds)
|
### Immediate Post-Signup (First 30 Seconds)
|
||||||
|
|
||||||
**Options:**
|
| Approach | Best For | Risk |
|
||||||
1. **Product-first**: Drop directly into product
|
|----------|----------|------|
|
||||||
- Best for: Simple products, B2C, mobile apps
|
| Product-first | Simple products, B2C, mobile | Blank slate overwhelm |
|
||||||
- Risk: Blank slate overwhelm
|
| Guided setup | Products needing personalization | Adds friction before value |
|
||||||
|
| Value-first | Products with demo data | May not feel "real" |
|
||||||
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"
|
|
||||||
|
|
||||||
**Whatever you choose:**
|
**Whatever you choose:**
|
||||||
- Clear single next action
|
- Clear single next action
|
||||||
@@ -115,19 +88,6 @@ The action that correlates most strongly with retention:
|
|||||||
- Celebration on completion
|
- Celebration on completion
|
||||||
- Dismiss option (don't trap users)
|
- 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
|
||||||
|
|
||||||
Empty states are onboarding opportunities, not dead ends.
|
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
|
- Clear primary action to add first item
|
||||||
- Optional: Pre-populate with example data
|
- 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
|
### Tooltips and Guided Tours
|
||||||
|
|
||||||
**When to use:**
|
**When to use:** Complex UI, features that aren't self-evident, power features users might miss
|
||||||
- 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
|
|
||||||
|
|
||||||
**Best practices:**
|
**Best practices:**
|
||||||
- Max 3-5 steps per tour
|
- Max 3-5 steps per tour
|
||||||
- Point to actual UI elements
|
|
||||||
- Dismissable at any time
|
- Dismissable at any time
|
||||||
- Don't repeat for returning users
|
- 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)
|
- Incomplete onboarding (24h, 72h)
|
||||||
- Activation achieved (celebration + next step)
|
- Activation achieved (celebration + next step)
|
||||||
- Feature discovery (days 3, 7, 14)
|
- Feature discovery (days 3, 7, 14)
|
||||||
- Stalled user re-engagement
|
|
||||||
|
|
||||||
**Email should:**
|
**Email should:**
|
||||||
- Reinforce in-app actions
|
- Reinforce in-app actions, not duplicate them
|
||||||
- Not duplicate in-app messaging
|
|
||||||
- Drive back to product with specific CTA
|
- Drive back to product with specific CTA
|
||||||
- Be personalized based on actions taken
|
- 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
|
## Handling Stalled Users
|
||||||
|
|
||||||
### Detection
|
### Detection
|
||||||
- Define "stalled" criteria (X days inactive, incomplete setup)
|
Define "stalled" criteria (X days inactive, incomplete setup)
|
||||||
- Monitor at cohort level
|
|
||||||
- Track recovery rate
|
|
||||||
|
|
||||||
### Re-engagement Tactics
|
### 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**
|
1. **Email sequence** - Reminder of value, address blockers, offer help
|
||||||
- Welcome back message
|
2. **In-app recovery** - Welcome back, pick up where left off
|
||||||
- Pick up where they left off
|
3. **Human touch** - For high-value accounts, personal outreach
|
||||||
- Simplified path to activation
|
|
||||||
|
|
||||||
3. **Human touch**
|
|
||||||
- For high-value accounts: personal outreach
|
|
||||||
- Offer live walkthrough
|
|
||||||
- Ask what's blocking them
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Measurement
|
## Measurement
|
||||||
|
|
||||||
### Key Metrics
|
### Key Metrics
|
||||||
- **Activation rate**: % reaching activation event
|
|
||||||
- **Time to activation**: How long to first value
|
| Metric | Description |
|
||||||
- **Onboarding completion**: % completing setup
|
|--------|-------------|
|
||||||
- **Day 1/7/30 retention**: Return rate by timeframe
|
| Activation rate | % reaching activation event |
|
||||||
- **Feature adoption**: Which features get used
|
| Time to activation | How long to first value |
|
||||||
|
| Onboarding completion | % completing setup |
|
||||||
|
| Day 1/7/30 retention | Return rate by timeframe |
|
||||||
|
|
||||||
### Funnel Analysis
|
### Funnel Analysis
|
||||||
|
|
||||||
Track drop-off at each step:
|
Track drop-off at each step:
|
||||||
```
|
```
|
||||||
Signup → Step 1 → Step 2 → Activation → Retention
|
Signup → Step 1 → Step 2 → Activation → Retention
|
||||||
@@ -278,142 +165,38 @@ Identify biggest drops and focus there.
|
|||||||
## Output Format
|
## Output Format
|
||||||
|
|
||||||
### Onboarding Audit
|
### Onboarding Audit
|
||||||
For each issue:
|
For each issue: Finding → Impact → Recommendation → Priority
|
||||||
- **Finding**: What's happening
|
|
||||||
- **Impact**: Why it matters
|
|
||||||
- **Recommendation**: Specific fix
|
|
||||||
- **Priority**: High/Medium/Low
|
|
||||||
|
|
||||||
### Onboarding Flow Design
|
### Onboarding Flow Design
|
||||||
- **Activation goal**: What they should achieve
|
- Activation goal
|
||||||
- **Step-by-step flow**: Each screen/state
|
- Step-by-step flow
|
||||||
- **Checklist items**: If applicable
|
- 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
|
|
||||||
- Empty state copy
|
- Empty state copy
|
||||||
- Tooltip content
|
- Email sequence triggers
|
||||||
- Email sequence copy
|
- Metrics plan
|
||||||
- Milestone celebration copy
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Common Patterns by Product Type
|
## Common Patterns by Product Type
|
||||||
|
|
||||||
### B2B SaaS Tool
|
| Product Type | Key Steps |
|
||||||
1. Short setup wizard (use case selection)
|
|--------------|-----------|
|
||||||
2. First value-generating action
|
| B2B SaaS | Setup wizard → First value action → Team invite → Deep setup |
|
||||||
3. Team invitation prompt
|
| Marketplace | Complete profile → Browse → First transaction → Repeat loop |
|
||||||
4. Checklist for deeper setup
|
| Mobile App | Permissions → Quick win → Push setup → Habit loop |
|
||||||
|
| Content Platform | Follow/customize → Consume → Create → Engage |
|
||||||
### 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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Experiment Ideas
|
## 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**
|
**For comprehensive experiment ideas**: See [references/experiments.md](references/experiments.md)
|
||||||
- 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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
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:
|
Before providing recommendations, identify:
|
||||||
|
|
||||||
1. **Page Type**: What kind of page is this?
|
1. **Page Type**: Homepage, landing page, pricing, feature, blog, about, other
|
||||||
- Homepage
|
2. **Primary Conversion Goal**: Sign up, request demo, purchase, subscribe, download, contact sales
|
||||||
- Landing page (paid traffic, specific campaign)
|
3. **Traffic Context**: Where are visitors coming from? (organic, paid, email, social)
|
||||||
- Pricing page
|
|
||||||
- Feature/product page
|
|
||||||
- Blog post with CTA
|
|
||||||
- About page
|
|
||||||
- Other
|
|
||||||
|
|
||||||
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
|
## CRO Analysis Framework
|
||||||
|
|
||||||
@@ -49,59 +29,46 @@ Analyze the page across these dimensions, in order of impact:
|
|||||||
**Check for:**
|
**Check for:**
|
||||||
- Can a visitor understand what this is and why they should care within 5 seconds?
|
- Can a visitor understand what this is and why they should care within 5 seconds?
|
||||||
- Is the primary benefit clear, specific, and differentiated?
|
- 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)?
|
- Is it written in the customer's language (not company jargon)?
|
||||||
|
|
||||||
**Common issues:**
|
**Common issues:**
|
||||||
- Feature-focused instead of benefit-focused
|
- Feature-focused instead of benefit-focused
|
||||||
- Too vague ("The best solution for your needs")
|
- Too vague or too clever (sacrificing clarity)
|
||||||
- Too clever (sacrificing clarity for creativity)
|
- Trying to say everything instead of the most important thing
|
||||||
- Trying to say everything instead of the one most important thing
|
|
||||||
|
|
||||||
### 2. Headline Effectiveness
|
### 2. Headline Effectiveness
|
||||||
|
|
||||||
**Evaluate:**
|
**Evaluate:**
|
||||||
- Does it communicate the core value proposition?
|
- Does it communicate the core value proposition?
|
||||||
- Is it specific enough to be meaningful?
|
- Is it specific enough to be meaningful?
|
||||||
- Does it create curiosity or urgency without being clickbait?
|
- Does it match the traffic source's messaging?
|
||||||
- Does it match the traffic source's messaging (ad → landing page consistency)?
|
|
||||||
|
|
||||||
**Strong headline patterns:**
|
**Strong headline patterns:**
|
||||||
- Outcome-focused: "Get [desired outcome] without [pain point]"
|
- Outcome-focused: "Get [desired outcome] without [pain point]"
|
||||||
- Specificity: Include numbers, timeframes, or concrete details
|
- Specificity: Include numbers, timeframes, or concrete details
|
||||||
- Social proof baked in: "Join 10,000+ teams who..."
|
- Social proof: "Join 10,000+ teams who..."
|
||||||
- Direct address of pain: "Tired of [specific problem]?"
|
|
||||||
|
|
||||||
### 3. CTA Placement, Copy, and Hierarchy
|
### 3. CTA Placement, Copy, and Hierarchy
|
||||||
|
|
||||||
**Primary CTA assessment:**
|
**Primary CTA assessment:**
|
||||||
- Is there one clear primary action?
|
- 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?
|
- Does the button copy communicate value, not just action?
|
||||||
- Weak: "Submit," "Sign Up," "Learn More"
|
- Weak: "Submit," "Sign Up," "Learn More"
|
||||||
- Strong: "Start Free Trial," "Get My Report," "See Pricing"
|
- Strong: "Start Free Trial," "Get My Report," "See Pricing"
|
||||||
- Is there sufficient contrast and visual weight?
|
|
||||||
|
|
||||||
**CTA hierarchy:**
|
**CTA hierarchy:**
|
||||||
- Is there a logical primary vs. secondary CTA structure?
|
- Is there a logical primary vs. secondary CTA structure?
|
||||||
- Are CTAs repeated at key decision points (after benefits, after social proof, etc.)?
|
- Are CTAs repeated at key decision points?
|
||||||
- Is the commitment level appropriate for the page stage?
|
|
||||||
|
|
||||||
### 4. Visual Hierarchy and Scannability
|
### 4. Visual Hierarchy and Scannability
|
||||||
|
|
||||||
**Check:**
|
**Check:**
|
||||||
- Can someone scanning get the main message?
|
- Can someone scanning get the main message?
|
||||||
- Are the most important elements visually prominent?
|
- Are the most important elements visually prominent?
|
||||||
- Is there clear information hierarchy (H1 → H2 → body)?
|
- Is there enough white space?
|
||||||
- Is there enough white space to let elements breathe?
|
|
||||||
- Do images support or distract from the message?
|
- 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
|
### 5. Trust Signals and Social Proof
|
||||||
|
|
||||||
**Types to look for:**
|
**Types to look for:**
|
||||||
@@ -110,49 +77,37 @@ Analyze the page across these dimensions, in order of impact:
|
|||||||
- Case study snippets with real numbers
|
- Case study snippets with real numbers
|
||||||
- Review scores and counts
|
- Review scores and counts
|
||||||
- Security badges (where relevant)
|
- Security badges (where relevant)
|
||||||
- "As seen in" media mentions
|
|
||||||
- Team/founder credibility
|
|
||||||
|
|
||||||
**Placement:**
|
**Placement:** Near CTAs and after benefit claims
|
||||||
- Near CTAs (to reduce friction at decision point)
|
|
||||||
- After benefit claims (to validate them)
|
|
||||||
- Throughout the page at natural break points
|
|
||||||
|
|
||||||
### 6. Objection Handling
|
### 6. Objection Handling
|
||||||
|
|
||||||
**Identify likely objections for this page type:**
|
**Common objections to address:**
|
||||||
- Price/value concerns
|
- Price/value concerns
|
||||||
- "Will this work for my situation?"
|
- "Will this work for my situation?"
|
||||||
- Implementation difficulty
|
- Implementation difficulty
|
||||||
- Time to value
|
|
||||||
- Switching costs
|
|
||||||
- Trust/legitimacy concerns
|
|
||||||
- "What if it doesn't work?"
|
- "What if it doesn't work?"
|
||||||
|
|
||||||
**Check if the page addresses these through:**
|
**Address through:** FAQ sections, guarantees, comparison content, process transparency
|
||||||
- FAQ sections
|
|
||||||
- Guarantee/refund policies
|
|
||||||
- Comparison content
|
|
||||||
- Feature explanations
|
|
||||||
- Process transparency
|
|
||||||
|
|
||||||
### 7. Friction Points
|
### 7. Friction Points
|
||||||
|
|
||||||
**Look for unnecessary friction:**
|
**Look for:**
|
||||||
- Too many form fields
|
- Too many form fields
|
||||||
- Unclear next steps
|
- Unclear next steps
|
||||||
- Confusing navigation
|
- Confusing navigation
|
||||||
- Required information that shouldn't be required
|
- Required information that shouldn't be required
|
||||||
- Broken or slow elements
|
|
||||||
- Mobile experience issues
|
- Mobile experience issues
|
||||||
- Long load times
|
- Long load times
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Output Format
|
## Output Format
|
||||||
|
|
||||||
Structure your recommendations as:
|
Structure your recommendations as:
|
||||||
|
|
||||||
### Quick Wins (Implement Now)
|
### 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)
|
### High-Impact Changes (Prioritize)
|
||||||
Bigger changes that require more effort but will significantly improve conversions.
|
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.
|
Hypotheses worth A/B testing rather than assuming.
|
||||||
|
|
||||||
### Copy Alternatives
|
### 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
|
## Page-Specific Frameworks
|
||||||
|
|
||||||
### Homepage CRO
|
### Homepage CRO
|
||||||
|
- Clear positioning for cold visitors
|
||||||
Homepages serve multiple audiences. Focus on:
|
- Quick path to most common conversion
|
||||||
- Clear positioning statement that works for cold visitors
|
- Handle both "ready to buy" and "still researching"
|
||||||
- Quick path to most common conversion action
|
|
||||||
- Navigation that helps visitors self-select
|
|
||||||
- Handling both "ready to buy" and "still researching" visitors
|
|
||||||
|
|
||||||
### Landing Page CRO
|
### Landing Page CRO
|
||||||
|
|
||||||
Single-purpose pages. Focus on:
|
|
||||||
- Message match with traffic source
|
- Message match with traffic source
|
||||||
- Single CTA (remove navigation if possible)
|
- Single CTA (remove navigation if possible)
|
||||||
- Complete argument on one page (minimize clicks to convert)
|
- Complete argument on one page
|
||||||
- Urgency/scarcity if genuine
|
|
||||||
|
|
||||||
### Pricing Page CRO
|
### Pricing Page CRO
|
||||||
|
|
||||||
High-intent visitors. Focus on:
|
|
||||||
- Clear plan comparison
|
- Clear plan comparison
|
||||||
- Recommended plan indication
|
- Recommended plan indication
|
||||||
- Feature clarity (what's included/excluded)
|
- Address "which plan is right for me?" anxiety
|
||||||
- Addressing "which plan is right for me?" anxiety
|
|
||||||
- Easy path from pricing to checkout
|
|
||||||
|
|
||||||
### Feature Page CRO
|
### Feature Page CRO
|
||||||
|
- Connect feature to benefit
|
||||||
Visitors researching specifics. Focus on:
|
|
||||||
- Connecting feature to benefit
|
|
||||||
- Use cases and examples
|
- Use cases and examples
|
||||||
- Comparison to alternatives
|
- Clear path to try/buy
|
||||||
- Clear CTA to try/buy
|
|
||||||
|
|
||||||
### Blog Post CRO
|
### Blog Post CRO
|
||||||
|
- Contextual CTAs matching content topic
|
||||||
Content-to-conversion. Focus on:
|
|
||||||
- Contextual CTAs that match content topic
|
|
||||||
- Lead magnets related to article subject
|
|
||||||
- Inline CTAs at natural stopping points
|
- 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**
|
**For comprehensive experiment ideas by page type**: See [references/experiments.md](references/experiments.md)
|
||||||
- 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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Task-Specific Questions
|
## Task-Specific Questions
|
||||||
|
|
||||||
|
|
||||||
1. What's your current conversion rate and goal?
|
1. What's your current conversion rate and goal?
|
||||||
2. Where is traffic coming from?
|
2. Where is traffic coming from?
|
||||||
3. What does your signup/purchase flow look like after this page?
|
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?
|
5. What have you already tried?
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Related Skills
|
## 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
|
- **form-cro**: If forms on the page need optimization
|
||||||
- **popup-cro**: If considering popups as part of the conversion strategy
|
- **popup-cro**: If considering popups as part of the strategy
|
||||||
- **copywriting**: If the page needs a complete copy rewrite rather than CRO tweaks
|
- **copywriting**: If the page needs a complete copy rewrite
|
||||||
- **ab-test-setup**: To properly test recommended changes
|
- **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 are you promoting? (Product, free trial, lead magnet, demo)
|
||||||
- What's the landing page URL?
|
- What's the landing page URL?
|
||||||
- What makes this offer compelling?
|
- What makes this offer compelling?
|
||||||
- Any promotions or urgency elements?
|
|
||||||
|
|
||||||
### 3. Audience
|
### 3. Audience
|
||||||
- Who is the ideal customer?
|
- 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?
|
- Have you run ads before? What worked/didn't?
|
||||||
- Do you have existing pixel/conversion data?
|
- Do you have existing pixel/conversion data?
|
||||||
- What's your current funnel conversion rate?
|
- What's your current funnel conversion rate?
|
||||||
- Any existing creative assets?
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Platform Selection Guide
|
## Platform Selection Guide
|
||||||
|
|
||||||
### Google Ads
|
| Platform | Best For | Use When |
|
||||||
**Best for:** High-intent search traffic, capturing existing demand
|
|----------|----------|----------|
|
||||||
**Use when:**
|
| **Google Ads** | High-intent search traffic | People actively search for your solution |
|
||||||
- People actively search for your solution
|
| **Meta** | Demand generation, visual products | Creating demand, strong creative assets |
|
||||||
- You have clear keywords with commercial intent
|
| **LinkedIn** | B2B, decision-makers | Job title/company targeting matters, higher price points |
|
||||||
- You want bottom-of-funnel conversions
|
| **Twitter/X** | Tech audiences, thought leadership | Audience is active on X, timely content |
|
||||||
|
| **TikTok** | Younger demographics, viral creative | Audience skews 18-34, video capacity |
|
||||||
**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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -116,14 +62,11 @@ Account
|
|||||||
│ │ ├── Ad 2: [Creative variation B]
|
│ │ ├── Ad 2: [Creative variation B]
|
||||||
│ │ └── Ad 3: [Creative variation C]
|
│ │ └── Ad 3: [Creative variation C]
|
||||||
│ └── Ad Set 2: [Targeting variation]
|
│ └── Ad Set 2: [Targeting variation]
|
||||||
│ └── Ads...
|
|
||||||
└── Campaign 2...
|
└── Campaign 2...
|
||||||
```
|
```
|
||||||
|
|
||||||
### Naming Conventions
|
### Naming Conventions
|
||||||
|
|
||||||
Use consistent naming for easy analysis:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
[Platform]_[Objective]_[Audience]_[Offer]_[Date]
|
[Platform]_[Objective]_[Audience]_[Offer]_[Date]
|
||||||
|
|
||||||
@@ -133,7 +76,7 @@ GOOG_Search_Brand_Demo_Ongoing
|
|||||||
LI_LeadGen_CMOs-SaaS_Whitepaper_Mar24
|
LI_LeadGen_CMOs-SaaS_Whitepaper_Mar24
|
||||||
```
|
```
|
||||||
|
|
||||||
### Budget Allocation Framework
|
### Budget Allocation
|
||||||
|
|
||||||
**Testing phase (first 2-4 weeks):**
|
**Testing phase (first 2-4 weeks):**
|
||||||
- 70% to proven/safe campaigns
|
- 70% to proven/safe campaigns
|
||||||
@@ -148,213 +91,80 @@ LI_LeadGen_CMOs-SaaS_Whitepaper_Mar24
|
|||||||
|
|
||||||
## Ad Copy Frameworks
|
## Ad Copy Frameworks
|
||||||
|
|
||||||
### Primary Text Formulas
|
### Key Formulas
|
||||||
|
|
||||||
**Problem-Agitate-Solve (PAS):**
|
**Problem-Agitate-Solve (PAS):**
|
||||||
```
|
> [Problem] → [Agitate the pain] → [Introduce solution] → [CTA]
|
||||||
[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):**
|
**Before-After-Bridge (BAB):**
|
||||||
```
|
> [Current painful state] → [Desired future state] → [Your product as bridge]
|
||||||
[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:**
|
**Social Proof Lead:**
|
||||||
```
|
> [Impressive stat or testimonial] → [What you do] → [CTA]
|
||||||
[Impressive stat or testimonial]
|
|
||||||
[What you do]
|
|
||||||
[CTA]
|
|
||||||
```
|
|
||||||
|
|
||||||
Example:
|
**For detailed templates and headline formulas**: See [references/ad-copy-templates.md](references/ad-copy-templates.md)
|
||||||
> "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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Audience Targeting Strategies
|
## Audience Targeting Overview
|
||||||
|
|
||||||
### Google Ads Audiences
|
### Platform Strengths
|
||||||
|
|
||||||
**Search campaigns:**
|
| Platform | Key Targeting | Best Signals |
|
||||||
- Keywords (exact, phrase, broad match)
|
|----------|---------------|--------------|
|
||||||
- Audience layering (observation mode first)
|
| Google | Keywords, search intent | What they're searching |
|
||||||
- Remarketing lists for search ads (RLSA)
|
| Meta | Interests, behaviors, lookalikes | Engagement patterns |
|
||||||
|
| LinkedIn | Job titles, companies, industries | Professional identity |
|
||||||
|
|
||||||
**Display/YouTube:**
|
### Key Concepts
|
||||||
- Custom intent (based on search behavior)
|
|
||||||
- In-market audiences
|
|
||||||
- Affinity audiences
|
|
||||||
- Customer match (upload email lists)
|
|
||||||
- Similar/lookalike audiences
|
|
||||||
|
|
||||||
### 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):**
|
**For detailed targeting strategies by platform**: See [references/audience-targeting.md](references/audience-targeting.md)
|
||||||
- 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
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Creative Best Practices
|
## Creative Best Practices
|
||||||
|
|
||||||
### Image Ads
|
### Image Ads
|
||||||
|
|
||||||
**What works:**
|
|
||||||
- Clear product screenshots showing UI
|
- Clear product screenshots showing UI
|
||||||
- Before/after comparisons
|
- Before/after comparisons
|
||||||
- Stats and numbers as focal point
|
- Stats and numbers as focal point
|
||||||
- Human faces (real, not stock)
|
- Human faces (real, not stock)
|
||||||
- Bold, readable text overlay (keep under 20%)
|
- Bold, readable text overlay (keep under 20%)
|
||||||
|
|
||||||
**What doesn't:**
|
### Video Ads Structure (15-30 sec)
|
||||||
- Generic stock photos
|
|
||||||
- Too much text
|
|
||||||
- Cluttered visuals
|
|
||||||
- Low contrast/hard to read
|
|
||||||
|
|
||||||
### Video Ads
|
|
||||||
|
|
||||||
**Structure for short-form (15-30 sec):**
|
|
||||||
1. Hook (0-3 sec): Pattern interrupt, question, or bold statement
|
1. Hook (0-3 sec): Pattern interrupt, question, or bold statement
|
||||||
2. Problem (3-8 sec): Relatable pain point
|
2. Problem (3-8 sec): Relatable pain point
|
||||||
3. Solution (8-20 sec): Show product/benefit
|
3. Solution (8-20 sec): Show product/benefit
|
||||||
4. CTA (20-30 sec): Clear next step
|
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:**
|
**Production tips:**
|
||||||
- Captions always (85% watch without sound)
|
- Captions always (85% watch without sound)
|
||||||
- Vertical for Stories/Reels, square for feed
|
- Vertical for Stories/Reels, square for feed
|
||||||
- Native feel outperforms polished
|
- Native feel outperforms polished
|
||||||
- First 3 seconds determine if they watch
|
- First 3 seconds determine if they watch
|
||||||
|
|
||||||
### Ad Creative Testing
|
### Creative Testing Hierarchy
|
||||||
|
|
||||||
**Testing hierarchy:**
|
|
||||||
1. Concept/angle (biggest impact)
|
1. Concept/angle (biggest impact)
|
||||||
2. Hook/headline
|
2. Hook/headline
|
||||||
3. Visual style
|
3. Visual style
|
||||||
4. Body copy
|
4. Body copy
|
||||||
5. CTA
|
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
|
## Campaign Optimization
|
||||||
|
|
||||||
### Key Metrics by Objective
|
### Key Metrics by Objective
|
||||||
|
|
||||||
**Awareness:**
|
| Objective | Primary Metrics |
|
||||||
- CPM (cost per 1,000 impressions)
|
|-----------|-----------------|
|
||||||
- Reach and frequency
|
| Awareness | CPM, Reach, Video view rate |
|
||||||
- Video view rate / watch time
|
| Consideration | CTR, CPC, Time on site |
|
||||||
- Brand lift (if available)
|
| Conversion | CPA, ROAS, Conversion rate |
|
||||||
|
|
||||||
**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
|
|
||||||
|
|
||||||
### Optimization Levers
|
### Optimization Levers
|
||||||
|
|
||||||
@@ -369,25 +179,13 @@ Example:
|
|||||||
- Creative isn't resonating → test new hooks/angles
|
- Creative isn't resonating → test new hooks/angles
|
||||||
- Audience mismatch → refine targeting
|
- Audience mismatch → refine targeting
|
||||||
- Ad fatigue → refresh creative
|
- Ad fatigue → refresh creative
|
||||||
- Weak offer → improve value proposition
|
|
||||||
|
|
||||||
**If CPM is high:**
|
**If CPM is high:**
|
||||||
- Audience too narrow → expand targeting
|
- Audience too narrow → expand targeting
|
||||||
- High competition → try different placements
|
- High competition → try different placements
|
||||||
- Low relevance score → improve creative fit
|
- Low relevance score → improve creative fit
|
||||||
- Bidding too aggressively → adjust bid caps
|
|
||||||
|
|
||||||
### Bid Strategies
|
### Bid Strategy Progression
|
||||||
|
|
||||||
**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:**
|
|
||||||
1. Start with manual or cost caps
|
1. Start with manual or cost caps
|
||||||
2. Gather conversion data (50+ conversions)
|
2. Gather conversion data (50+ conversions)
|
||||||
3. Switch to automated with targets based on historical data
|
3. Switch to automated with targets based on historical data
|
||||||
@@ -397,22 +195,13 @@ Example:
|
|||||||
|
|
||||||
## Retargeting Strategies
|
## Retargeting Strategies
|
||||||
|
|
||||||
### Funnel-Based Retargeting
|
### Funnel-Based Approach
|
||||||
|
|
||||||
**Top of funnel (awareness):**
|
| Funnel Stage | Audience | Message | Goal |
|
||||||
- Audience: Blog readers, video viewers, social engagers
|
|--------------|----------|---------|------|
|
||||||
- Message: Educational content, social proof
|
| Top | Blog readers, video viewers | Educational, social proof | Move to consideration |
|
||||||
- Goal: Move to consideration
|
| Middle | Pricing/feature page visitors | Case studies, demos | Move to decision |
|
||||||
|
| Bottom | Cart abandoners, trial users | Urgency, objection handling | Convert |
|
||||||
**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
|
|
||||||
|
|
||||||
### Retargeting Windows
|
### Retargeting Windows
|
||||||
|
|
||||||
@@ -423,114 +212,69 @@ Example:
|
|||||||
| Cold (any visit) | 30-90 days | 1-2x/week |
|
| Cold (any visit) | 30-90 days | 1-2x/week |
|
||||||
|
|
||||||
### Exclusions to Set Up
|
### Exclusions to Set Up
|
||||||
|
- Existing customers (unless upsell)
|
||||||
Always exclude:
|
|
||||||
- Existing customers (unless upsell campaign)
|
|
||||||
- Recent converters (7-14 day window)
|
- Recent converters (7-14 day window)
|
||||||
- Bounced visitors (<10 sec on site)
|
- Bounced visitors (<10 sec)
|
||||||
- Irrelevant pages (careers, support)
|
- Irrelevant pages (careers, support)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Reporting & Analysis
|
## Reporting & Analysis
|
||||||
|
|
||||||
### Weekly Review Checklist
|
### Weekly Review
|
||||||
|
- Spend vs. budget pacing
|
||||||
- [ ] Spend vs. budget pacing
|
- CPA/ROAS vs. targets
|
||||||
- [ ] CPA/ROAS vs. targets
|
- Top and bottom performing ads
|
||||||
- [ ] Top and bottom performing ads
|
- Audience performance breakdown
|
||||||
- [ ] Audience performance breakdown
|
- Frequency check (fatigue risk)
|
||||||
- [ ] Frequency check (fatigue risk)
|
- Landing page conversion rate
|
||||||
- [ ] 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
|
|
||||||
|
|
||||||
### Attribution Considerations
|
### Attribution Considerations
|
||||||
|
- Platform attribution is inflated
|
||||||
- Platform attribution is inflated (they want credit)
|
|
||||||
- Use UTM parameters consistently
|
- Use UTM parameters consistently
|
||||||
- Compare platform data to GA4/analytics
|
- Compare platform data to GA4
|
||||||
- Consider incrementality testing for mature accounts
|
|
||||||
- Look at blended CAC, not just platform CPA
|
- 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
|
**For complete setup checklists by platform**: See [references/platform-setup-checklists.md](references/platform-setup-checklists.md)
|
||||||
- [ ] 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)
|
|
||||||
|
|
||||||
### Meta Ads Setup Checklist
|
### Universal Pre-Launch Checklist
|
||||||
|
- [ ] Conversion tracking tested with real conversion
|
||||||
- [ ] Pixel installed and events firing
|
- [ ] Landing page loads fast (<3 sec)
|
||||||
- [ ] Conversions API set up (server-side tracking)
|
- [ ] Landing page mobile-friendly
|
||||||
- [ ] Custom audiences created
|
- [ ] UTM parameters working
|
||||||
- [ ] Product catalog connected (if e-commerce)
|
- [ ] Budget set correctly
|
||||||
- [ ] Domain verified
|
- [ ] Targeting matches intended audience
|
||||||
- [ ] 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+)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Common Mistakes to Avoid
|
## Common Mistakes to Avoid
|
||||||
|
|
||||||
### Strategy Mistakes
|
### Strategy
|
||||||
- Launching without conversion tracking
|
- Launching without conversion tracking
|
||||||
- Too many campaigns/ad sets (fragmenting budget)
|
- Too many campaigns (fragmenting budget)
|
||||||
- Not giving algorithms enough learning time
|
- Not giving algorithms enough learning time
|
||||||
- Optimizing for wrong metric (clicks vs. conversions)
|
- Optimizing for wrong metric
|
||||||
- Ignoring landing page experience
|
|
||||||
|
|
||||||
### Targeting Mistakes
|
### Targeting
|
||||||
- Audiences too narrow (can't exit learning phase)
|
- Audiences too narrow or too broad
|
||||||
- Audiences too broad (wasting spend)
|
|
||||||
- Not excluding existing customers
|
- Not excluding existing customers
|
||||||
- Overlapping audiences competing with each other
|
- Overlapping audiences competing
|
||||||
- Ignoring negative keywords (Search)
|
|
||||||
|
|
||||||
### Creative Mistakes
|
### Creative
|
||||||
- Only running one ad per ad set
|
- Only one ad per ad set
|
||||||
- Not refreshing creative (ad fatigue)
|
- Not refreshing creative (fatigue)
|
||||||
- Mismatch between ad and landing page
|
- Mismatch between ad and landing page
|
||||||
- Ignoring mobile experience
|
|
||||||
- Too much text in images (Meta)
|
|
||||||
|
|
||||||
### Budget Mistakes
|
### Budget
|
||||||
- Spreading budget too thin across campaigns
|
- Spreading too thin across campaigns
|
||||||
- Making big budget changes (disrupts learning)
|
- Making big budget changes (disrupts learning)
|
||||||
- Not accounting for platform minimums
|
|
||||||
- Stopping campaigns during learning phase
|
- 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