
Performance Marketer
- 194 installs
- 37 repo stars
- Updated February 26, 2026
- ncklrs/startup-os-skills
performance-marketer is an agent skill that structures paid media, landing optimization, testing, and attribution for measurable customer acquisition.
About
performance-marketer is a structured growth playbook for solo and indie builders running paid channels on a limited budget. It organizes work into seven impact-ranked domains—paid advertising strategy, creative and copy, landing page optimization, testing and experimentation, analytics and attribution, budget and scaling, and retargeting—so you know what to fix first when CPL spikes or ROAS drifts. The attribution material stresses that wrong credit assignment wastes spend across Meta, Google, and downstream lifecycle campaigns. Use it when you are moving from organic-only traction to measurable paid tests, when you need a checklist for message match between ad and landing page, or when you are deciding how to cap frequency and sequence retargeting audiences. It fits small teams wearing marketing hats because it favors frameworks and prioritization over enterprise ad-ops tooling. Pair it with your analytics stack and creative iterations rather than treating ads as a set-and-forget channel.
- Seven CRITICAL-to-medium impact areas: paid strategy, creative, landing, testing, analytics, budget, retargeting
- Attribution modeling section with impact HIGH—model comparison and decision hygiene
- Platform-ready creative and copy guidance tied to campaign structure
- Landing page message match, CRO, and speed called out as CRITICAL
- Testing frameworks with statistical significance and prioritization for lean teams
Performance Marketer by the numbers
- 194 all-time installs (skills.sh)
- +6 installs in the week ending Jul 26, 2026 (Skillselion tracking)
- Ranked #980 of 1,879 Marketing & SEO skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Jul 31, 2026 (Skillselion catalog sync)
npx skills add https://github.com/ncklrs/startup-os-skills --skill performance-marketerAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 194 |
|---|---|
| repo stars | ★ 37 |
| Security audit | 3 / 3 scanners passed |
| Last updated | February 26, 2026 |
| Repository | ncklrs/startup-os-skills ↗ |
What it does
Structure paid acquisition, landing pages, tests, and attribution so a founder can scale ads without guessing which channel actually converts.
Who is it for?
Best when you're launching SaaS, ecommerce, or content products and need a full-funnel paid checklist without hiring a performance agency day one.
Skip if: Pure organic-only brands with zero paid budget, or enterprises with dedicated ad-ops and bespoke BI—this skill is framework-level, not a live ads API integration.
When should I use this skill?
Planning or optimizing paid acquisition, landing conversion, and marketing measurement for a startup offer.
What you get
You get a prioritized paid-growth operating map—campaign structure, creative rules, LPO checks, test queue, and attribution choices—so scaling decisions follow evidence.
- Campaign and creative brief aligned to skill sections
- Test backlog with prioritization
- Attribution and reporting recommendations
By the numbers
- 7 section organization areas from paid strategy through retargeting
- Attribution modeling tagged impact HIGH
Files
Performance Marketer
Expert performance marketing guidance for paid acquisition, conversion rate optimization, and data-driven growth — from ad creative to attribution modeling.
Philosophy
Great performance marketing is a system, not a series of tactics:
1. Measure what matters — Vanity metrics kill budgets 2. Test with intention — Random A/B tests waste time and traffic 3. Optimize the full funnel — A great ad to a bad landing page burns money 4. Compound learnings — Every test teaches something for the next
How This Skill Works
When invoked, apply the guidelines in rules/ organized by:
paid-*— Paid advertising strategy, creative, and copylanding-*— Landing page optimizationtesting-*— A/B testing and experimentation frameworksanalytics-*— Attribution, CAC/LTV, and conversion trackingbudget-*— Budget allocation and scaling
Core Frameworks
The Performance Marketing Loop
┌─────────────────────────────────────────────────────────┐
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ ADS │───▶│ LANDING │───▶│ CONVERT │ │
│ │ (Reach) │ │ (Hook) │ │ (Action) │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ ▲ │ │
│ │ ┌──────────┐ │ │
│ └──────────│ ANALYZE │◀─────────┘ │
│ │ (Learn) │ │
│ └──────────┘ │
│ │
└─────────────────────────────────────────────────────────┘The CAC/LTV Equation
| Metric | Formula | Target |
|---|---|---|
| CAC | Total Acquisition Cost / New Customers | Lower is better |
| LTV | Avg Revenue × Avg Lifespan | Higher is better |
| LTV:CAC | LTV / CAC | 3:1 or higher |
| Payback Period | CAC / Monthly Revenue | < 12 months |
Funnel Math
Impressions × CTR = Clicks
Clicks × CVR = Conversions
Conversions × Close Rate = Customers
Customers × ARPU = RevenueChannel Selection Matrix
| Channel | Best For | Typical CAC | Intent Level |
|---|---|---|---|
| Google Search | High-intent capture | $50-200 | High |
| Google Display | Retargeting, awareness | $20-80 | Low |
| Meta (FB/IG) | B2C, visual products | $30-100 | Medium |
| B2B, enterprise | $100-500 | Medium-High | |
| Twitter/X | Tech audiences, awareness | $40-150 | Low-Medium |
| TikTok | Gen Z, viral potential | $20-60 | Low |
Key Metrics by Stage
| Stage | Primary Metric | Secondary Metrics |
|---|---|---|
| Awareness | Impressions, CPM | Frequency, Reach |
| Interest | CTR, CPC | Time on site, Bounce rate |
| Consideration | Conversion rate | Micro-conversions, Scroll depth |
| Purchase | CPA, ROAS | AOV, Conversion value |
| Retention | LTV, Repeat rate | NPS, Churn rate |
Budget Allocation Framework
The 70-20-10 Rule
- 70% — Proven channels and campaigns (scale what works)
- 20% — Optimization tests (improve what's working)
- 10% — Experimentation (test new channels/approaches)
Scaling Checklist
Before scaling a campaign:
- [ ] LTV:CAC ratio ≥ 3:1
- [ ] Consistent performance over 2+ weeks
- [ ] Statistical significance on key metrics
- [ ] Landing page handles traffic spikes
- [ ] Tracking verified on all conversion events
Anti-Patterns
- Scaling too fast — Doubling budget overnight breaks algorithms
- Testing everything at once — Can't learn what caused the change
- Ignoring attribution — Last-click lies, multi-touch tells the truth
- Copy-paste ads — Same creative across channels fails
- Optimizing for clicks — Clicks don't pay bills, conversions do
- Set and forget — Ads fatigue, audiences shift, competition changes
- Vanity metrics — Impressions feel good, revenue feels better
1. Paid Advertising Strategy (paid)
Impact: CRITICAL Description: Channel selection, campaign structure, audience targeting, and overall paid media strategy.
2. Creative & Copy (creative)
Impact: CRITICAL Description: Ad creative best practices, copy formulas, visual guidelines, and platform-specific formats.
3. Landing Page Optimization (landing)
Impact: CRITICAL Description: Landing page structure, message match, conversion optimization, and page speed.
4. Testing & Experimentation (testing)
Impact: HIGH Description: A/B testing frameworks, statistical significance, test prioritization, and learning systems.
5. Analytics & Attribution (analytics)
Impact: HIGH Description: Attribution modeling, conversion tracking, CAC/LTV analysis, and reporting.
6. Budget & Scaling (budget)
Impact: MEDIUM-HIGH Description: Budget allocation, scaling strategies, bid optimization, and efficiency.
7. Retargeting (retargeting)
Impact: MEDIUM-HIGH Description: Retargeting strategy, audience segmentation, frequency capping, and sequential messaging.
Attribution Modeling
Impact: HIGH
Attribution determines which channels get credit for conversions. Wrong attribution leads to wrong decisions and wasted budget.
Attribution Models Overview
| Model | How It Works | Best For |
|---|---|---|
| Last Click | 100% credit to final touchpoint | Direct response, simple funnels |
| First Click | 100% credit to first touchpoint | Understanding awareness |
| Linear | Equal credit across all touchpoints | Multi-channel, long cycles |
| Time Decay | More credit to recent touchpoints | Consideration stage analysis |
| Position-Based | 40% first, 40% last, 20% middle | Balanced view |
| Data-Driven | ML-based, platform-specific | High volume, sophisticated |
Model Comparison Example
Customer journey: Google Ad → Blog Post → LinkedIn → Demo → Close
| Model | Blog | Demo | ||
|---|---|---|---|---|
| Last Click | 0% | 0% | 0% | 100% |
| First Click | 100% | 0% | 0% | 0% |
| Linear | 25% | 25% | 25% | 25% |
| Time Decay | 10% | 15% | 25% | 50% |
| Position-Based | 40% | 10% | 10% | 40% |
When to Use Each Model
| Situation | Recommended Model | Why |
|---|---|---|
| Short sales cycle (<7 days) | Last Click | Few touchpoints |
| Long sales cycle (30+ days) | Linear or Position-Based | Many touchpoints matter |
| Brand building focus | First Click | See what drives awareness |
| Retargeting heavy | Time Decay | Recent > distant |
| High volume, good data | Data-Driven | Let ML optimize |
| Just getting started | Position-Based | Balanced, forgiving |
Multi-Touch Attribution Setup
1. Define conversion events
└── Primary: Trial signup, demo request, purchase
└── Secondary: Pricing page, feature page, content DL
2. Identify touchpoints
└── Paid: Google, Meta, LinkedIn
└── Organic: SEO, direct, referral
└── Owned: Email, blog, social
3. Connect data sources
└── Ad platforms → Analytics → CRM
4. Set lookback window
└── B2C: 7-30 days
└── B2B: 30-90 days
5. Choose model
└── Start with position-based
└── Move to data-driven when matureTracking Implementation
| Layer | Tools | Purpose |
|---|---|---|
| Web Analytics | GA4, Mixpanel, Amplitude | User journey |
| Ad Tracking | Platform pixels, CAPI | Channel performance |
| CRM | HubSpot, Salesforce | Lead → Customer |
| Data Warehouse | BigQuery, Snowflake | Unified view |
| Attribution Tool | Segment, Triple Whale | Cross-channel model |
UTM Parameter Standards
utm_source = where traffic comes from (google, linkedin, email)
utm_medium = marketing medium (cpc, social, email)
utm_campaign = campaign name (spring-sale, product-launch)
utm_content = creative variation (blue-button, video-a)
utm_term = keyword (for paid search)UTM Best Practices
✓ Good UTM structure:
?utm_source=linkedin
&utm_medium=cpc
&utm_campaign=2024-q1-awareness
&utm_content=carousel-testimonials
✗ Bad UTM structure:
?utm_source=LinkedIn%20Ad%20Campaign%20March
(spaces, inconsistent naming, no other parameters)UTM Naming Convention
| Parameter | Convention | Example |
|---|---|---|
| Source | Lowercase, platform name | google, meta, linkedin |
| Medium | Lowercase, channel type | cpc, email, organic |
| Campaign | date-objective-audience | 2024q1-awareness-smb |
| Content | creative-variant | carousel-v2, video-demo |
| Term | keyword or targeting | secrets-management |
Attribution Challenges
| Challenge | Solution |
|---|---|
| Cross-device | Login-based tracking, probabilistic matching |
| iOS privacy | Server-side tracking, Conversions API |
| Ad blockers | First-party data, server-side pixels |
| Long sales cycles | Extended lookback windows |
| Offline conversions | CRM integration, import API |
| View-through | Platform-specific, usually overcounts |
Good Attribution Practices
✓ Compare multiple models
→ Last-click says cut SEO, position-based shows it drives awareness
✓ Segment by customer type
→ Enterprise has different journey than SMB
✓ Regular attribution audits
→ Check tracking is working, parameters are consistent
✓ Use control groups
→ Measure incrementality, not just attributionBad Attribution Practices
✗ Trusting only last-click
→ Overvalues bottom-funnel, undervalues awareness
✗ Platform-reported conversions only
→ Each platform takes credit, totals exceed actual conversions
✗ Ignoring assisted conversions
→ First/middle touches build the pipeline
✗ No offline conversion tracking
→ B2B especially needs CRM integration
✗ Set-and-forget tracking
→ UTM parameters drift, pixels breakView-Through vs Click-Through
| Type | What It Measures | Reliability |
|---|---|---|
| Click-Through | User clicked ad, then converted | High |
| View-Through | User saw ad, converted later | Low-Medium |
View-through guidance:
- Useful for awareness/brand campaigns
- Default windows often too long (reduce to 1-7 days)
- Easy to over-count (same user sees many ads)
- Better for display/video than search
Incrementality Testing
Attribution shows correlation. Incrementality shows causation.
| Method | How It Works | Accuracy |
|---|---|---|
| Holdout tests | Geographic or audience holdouts | High |
| Lift studies | Platform-provided (Meta, Google) | Medium-High |
| On/Off tests | Pause channel, measure impact | Medium |
| Matched markets | Compare similar regions | Medium |
Anti-Patterns
- Last-click worship — Ignores awareness and consideration
- Trusting platform numbers — Each platform overclaims
- No lookback window management — Default windows are too long
- Ignoring dark social — Not all traffic is trackable
- View-through over-reliance — Easy to inflate
- No holdout testing — Attribution ≠ causation
- Inconsistent UTMs — Garbage in, garbage out
CAC/LTV Analysis
Impact: HIGH
Unit economics determine if your growth is sustainable. Great CAC/LTV ratios are the foundation of scalable businesses.
Core Metrics
| Metric | Formula | What It Tells You |
|---|---|---|
| CAC | Total Acquisition Cost ÷ New Customers | Cost to acquire one customer |
| LTV | ARPU × Gross Margin × Customer Lifespan | Total value of a customer |
| LTV:CAC | LTV ÷ CAC | Return on acquisition spend |
| Payback | CAC ÷ Monthly Gross Profit | Months to recover CAC |
CAC Calculation Methods
Blended CAC
CAC = (Sales + Marketing Spend) ÷ New CustomersFully Loaded CAC
CAC = (Sales + Marketing + Salaries + Tools + Overhead) ÷ New CustomersChannel CAC
CAC = Channel Spend ÷ Customers from ChannelLTV Calculation Methods
Simple LTV
LTV = ARPU × Average Customer Lifespan (months)Gross Margin LTV
LTV = ARPU × Gross Margin % × Avg LifespanDCF LTV (Discounted)
LTV = Σ (Monthly Revenue × Margin) ÷ (1 + Discount Rate)^monthLTV:CAC Benchmarks
| Ratio | Assessment | Action |
|---|---|---|
| <1:1 | Losing money | Stop spending, fix fundamentals |
| 1:1 - 2:1 | Barely sustainable | Improve retention or reduce CAC |
| 2:1 - 3:1 | Acceptable | Optimize, could scale cautiously |
| 3:1 - 5:1 | Healthy | Scale spending |
| 5:1+ | Under-investing | Increase spend, capture market |
Payback Period Benchmarks
| Payback | Assessment | Context |
|---|---|---|
| <3 months | Excellent | SMB, self-serve |
| 3-6 months | Very good | PLG, mid-market |
| 6-12 months | Good | Most SaaS |
| 12-18 months | Acceptable | Enterprise |
| 18+ months | Risky | High churn concern |
CAC by Channel
| Channel | Typical CAC Range | Notes |
|---|---|---|
| Organic/SEO | $10-50 | Long to build, compounds |
| Referral | $20-100 | Best quality, limited scale |
| Content | $30-150 | Builds brand, takes time |
| Google Search | $50-300 | High intent, competitive |
| Meta Ads | $40-200 | Scale, mid-intent |
| LinkedIn Ads | $150-600 | B2B, expensive but targeted |
| Outbound Sales | $500-5000 | Enterprise, high ACV |
LTV Improvement Levers
| Lever | Impact | Tactics |
|---|---|---|
| Reduce churn | High | Better onboarding, support, product |
| Increase ARPU | High | Upsells, pricing, expansion revenue |
| Improve margins | Medium | Reduce COGS, operational efficiency |
| Cross-sell | Medium | Additional products, add-ons |
| Referrals | Medium | Referral program, advocacy |
CAC Reduction Levers
| Lever | Impact | Tactics |
|---|---|---|
| Improve conversion | High | CRO, landing pages, funnel optimization |
| Better targeting | High | Audience refinement, lookalikes |
| Organic growth | Medium-High | SEO, content, community |
| Sales efficiency | Medium | Automation, qualification, enablement |
| Channel mix | Medium | Shift budget to efficient channels |
Cohort Analysis Framework
Track cohorts to understand true LTV:
| Cohort | M0 | M1 | M2 | M3 | M6 | M12 |
|-----------|-----|-----|-----|-----|-----|-----|
| Jan 2024 | 100%| 85% | 78% | 72% | 60% | 45% |
| Feb 2024 | 100%| 82% | 75% | 70% | 58% | - |
| Mar 2024 | 100%| 88% | 80% | 74% | - | - |Good CAC/LTV Analysis
✓ Segment by acquisition channel
→ Google Search CAC: $150, LTV: $600 (4:1)
→ Meta Ads CAC: $80, LTV: $200 (2.5:1)
→ Action: Shift budget to Google Search
✓ Track cohorts over time
→ 2023 cohorts: 40% 12-month retention
→ 2024 cohorts: 55% 12-month retention
→ LTV improving due to product improvements
✓ Account for payback period
→ 8-month payback with 15-month avg lifespan
→ Healthy, can scaleBad CAC/LTV Analysis
✗ Blended CAC only
→ Hides that one channel is unprofitable
✗ LTV without gross margin
→ Overstates profitability
✗ Short-term LTV projections
→ Need 12+ months of data minimum
✗ Ignoring acquisition channel
→ Organic and paid customers behave differently
✗ Not updating regularly
→ Markets change, metrics driftReporting Dashboard Metrics
| Metric | Update Frequency | Trend Direction |
|---|---|---|
| CAC (blended) | Weekly | Lower is better |
| CAC (by channel) | Weekly | Lower is better |
| LTV | Monthly | Higher is better |
| LTV:CAC | Monthly | Higher is better |
| Payback (months) | Monthly | Shorter is better |
| Retention curve | Monthly | Flatter is better |
| ARPU | Monthly | Higher is better |
| Churn rate | Monthly | Lower is better |
Anti-Patterns
- Blended-only thinking — Hides channel inefficiencies
- Projecting LTV too early — Need cohort data, not projections
- Ignoring gross margin — Revenue ≠ profit
- Annual CAC, monthly LTV — Match time periods
- Not segmenting — SMB vs enterprise is different
- Ignoring payback — Cash flow matters
- One-time calculation — Metrics change, update regularly
Conversion Tracking
Impact: HIGH
Without accurate conversion tracking, you're flying blind. Every optimization decision depends on reliable data.
Tracking Architecture
┌─────────────────────────────────────────────────────────┐
│ USER BROWSER │
│ ┌───────────────────────────────────────────────────┐ │
│ │ Client-Side Tracking │ │
│ │ • Google Analytics (gtag.js) │ │
│ │ • Meta Pixel (fbq) │ │
│ │ • LinkedIn Insight Tag │ │
│ │ • GTM (Google Tag Manager) │ │
│ └───────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ YOUR SERVER │
│ ┌───────────────────────────────────────────────────┐ │
│ │ Server-Side Tracking (CAPI) │ │
│ │ • Meta Conversions API │ │
│ │ • Google Enhanced Conversions │ │
│ │ • LinkedIn Conversions API │ │
│ │ • Server-side GTM │ │
│ └───────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘Conversion Events Hierarchy
| Event Type | Examples | Priority |
|---|---|---|
| Primary | Purchase, Signup, Demo booked | Track first |
| Secondary | Add to cart, Lead form, Trial start | High value |
| Micro | Pricing page, Feature page, Video watch | Engagement |
| Engagement | Page view, Scroll, Time on site | Optimization |
Standard Events by Platform
| Event | Meta | ||
|---|---|---|---|
| Page view | page_view | PageView | page_view |
| Sign up | sign_up | CompleteRegistration | conversion |
| Lead | generate_lead | Lead | conversion |
| Purchase | purchase | Purchase | conversion |
| Add to cart | add_to_cart | AddToCart | - |
| Begin checkout | begin_checkout | InitiateCheckout | - |
| View content | view_item | ViewContent | - |
| Search | search | Search | - |
Event Parameters
Include with every conversion:
// Google Analytics 4
gtag('event', 'purchase', {
transaction_id: 'T12345',
value: 99.00,
currency: 'USD',
items: [{
item_id: 'SKU123',
item_name: 'Pro Plan Annual'
}]
});
// Meta Pixel
fbq('track', 'Purchase', {
value: 99.00,
currency: 'USD',
content_ids: ['SKU123'],
content_type: 'product'
});Conversion Value Assignment
| Conversion Type | Value Approach | Example |
|---|---|---|
| E-commerce | Transaction value | $99.00 |
| SaaS signup | Expected LTV or first-year value | $500 |
| Lead form | Lead value × close rate | $50 |
| Demo request | Pipeline value × close rate | $200 |
| Content download | Estimated lead value | $20 |
Tracking Verification Checklist
- [ ] Pixels loading on all pages
- [ ] Events firing correctly (test with extensions)
- [ ] Conversion values passing accurately
- [ ] Parameters populated (content_id, currency, etc.)
- [ ] Cross-domain tracking working
- [ ] Server-side tracking matching client-side
- [ ] Deduplication in place
- [ ] Test mode events showing in platforms
Debug Tools
| Platform | Tool |
|---|---|
| Google Tag Assistant, GA4 DebugView | |
| Meta | Meta Pixel Helper, Events Manager Test Events |
| Insight Tag Helper, Conversions Test | |
| General | Browser DevTools Network tab, GTM Preview |
Good Tracking Implementation
✓ Enhanced conversion matching
→ User email hashed and sent server-side
→ Recovers 15-25% of missed conversions
✓ Primary + secondary events
→ Purchase as primary optimization event
→ Add-to-cart for funnel visibility
✓ Conversion value with margin
→ Revenue × margin passed as value
→ Enables ROAS optimization
✓ Server-side + client-side
→ Redundancy for accuracy
→ Deduplication by event_idBad Tracking Implementation
✗ Thank you page only tracking
→ Misses users who close before page loads
✗ No conversion value
→ Algorithm can't optimize for ROAS
✗ Client-side only
→ Ad blockers hide 20-40% of conversions
✗ No test environment separation
→ Test conversions pollute real data
✗ Missing parameters
→ Can't analyze by content, product, etc.Server-Side Tracking (CAPI)
Why server-side matters:
- Ad blockers block client-side (20-40% traffic)
- iOS ATT reduces client-side accuracy
- Better data quality and consistency
- Required for some advanced features
| Platform | Implementation |
|---|---|
| Meta CAPI | Event deduplication via event_id, hashed user data |
| Google Enhanced | Conversion tagging with user-provided data |
| LinkedIn CAPI | Server events with click ID matching |
Deduplication
When using client-side + server-side, dedupe:
// Generate unique event ID
const event_id = crypto.randomUUID();
// Client-side (Meta)
fbq('track', 'Purchase', {value: 99}, {eventID: event_id});
// Server-side (send same event_id)
// Meta will deduplicate based on event_idCross-Domain Tracking
For sites spanning multiple domains:
| Platform | Method |
|---|---|
| GA4 | Cross-domain configuration in GTM/settings |
| Meta | Automatic with same pixel ID |
| GTM | Link domains in tags, enable linker |
Offline Conversions
For B2B or phone sales:
1. Capture click ID (gclid, fbclid, li_fat_id)
2. Store with lead record in CRM
3. When lead converts offline, upload to platform
4. Match via click ID or hashed emailPrivacy Compliance
| Requirement | Implementation |
|---|---|
| GDPR | Cookie consent before tracking |
| CCPA | Honor Do Not Sell signals |
| iOS ATT | Server-side tracking, consent prompts |
| Cookie deprecation | First-party data, server-side |
Consent Mode (Google)
// Default: denied
gtag('consent', 'default', {
'ad_storage': 'denied',
'analytics_storage': 'denied'
});
// After consent
gtag('consent', 'update', {
'ad_storage': 'granted',
'analytics_storage': 'granted'
});Tracking Audit Checklist
Monthly:
- [ ] Verify all pixels firing
- [ ] Check conversion counts match CRM
- [ ] Review server-side event delivery rate
- [ ] Audit UTM parameter consistency
- [ ] Test new pages and flows
- [ ] Check for tracking gaps in funnel
Anti-Patterns
- No server-side tracking — Missing 20-40% of conversions
- Duplicate conversions — Inflates numbers, breaks optimization
- Wrong conversion windows — 7-day vs 28-day changes attribution
- No value tracking — Can't optimize for ROAS
- Ignoring consent — Legal risk, compliance issues
- Set and forget — Site changes break tracking
- Test conversions in production — Pollutes data
Budget Allocation
Impact: MEDIUM-HIGH
Smart budget allocation maximizes return. Dumb allocation wastes money on channels that don't convert.
The 70-20-10 Rule
| Bucket | % of Budget | Purpose |
|---|---|---|
| Proven | 70% | Scale what's working |
| Optimization | 20% | Test variations of winners |
| Experimentation | 10% | Try new channels/approaches |
Budget Allocation by Funnel
| Stage | % of Budget | Goal |
|---|---|---|
| TOFU (Awareness) | 15-25% | Build audience, brand |
| MOFU (Consideration) | 25-35% | Generate leads, engagement |
| BOFU (Decision) | 40-60% | Convert to customers |
Channel Budget Framework
Allocate based on performance data:
Total Budget: $50,000/month
Channel Performance:
┌────────────────┬──────┬──────┬─────────┬───────────┐
│ Channel │ CAC │ LTV │ LTV:CAC │ Recommend │
├────────────────┼──────┼──────┼─────────┼───────────┤
│ Google Search │ $120 │ $600 │ 5:1 │ Scale ↑ │
│ Meta Ads │ $80 │ $240 │ 3:1 │ Maintain │
│ LinkedIn │ $350 │ $800 │ 2.3:1 │ Test more │
│ Content/SEO │ $40 │ $500 │ 12.5:1 │ Invest ↑ │
└────────────────┴──────┴──────┴─────────┴───────────┘
Allocation:
• Google Search: $20,000 (40%) — Best ROAS, scale
• Meta Ads: $15,000 (30%) — Profitable, maintain
• Content/SEO: $8,000 (16%) — Best LTV, invest
• LinkedIn: $5,000 (10%) — Testing, optimize
• Experiments: $2,000 (4%) — New channelsScaling Thresholds
| Metric | Threshold | Action |
|---|---|---|
| LTV:CAC > 3:1 | Profitable | Scale budget 20-30%/week |
| LTV:CAC 2-3:1 | Marginal | Optimize before scaling |
| LTV:CAC 1-2:1 | Risky | Pause, fix fundamentals |
| LTV:CAC < 1:1 | Unprofitable | Stop spending |
Scaling Strategy
Week 1: $1,000/day (baseline)
Week 2: $1,200/day (+20% if performance stable)
Week 3: $1,400/day (+17% if performance stable)
Week 4: $1,700/day (+21% if performance stable)
If CAC increases >15%: Hold and optimize
If CAC increases >30%: Reduce budget 20%Budget Pacing
| Model | When to Use | How It Works |
|---|---|---|
| Daily budget | Consistent spend | Same amount each day |
| Lifetime budget | Campaigns with end date | Platform optimizes delivery |
| Accelerated | Time-sensitive | Spend fast, exhaust budget |
| Standard | Default | Even distribution |
Good Budget Allocation
✓ Data-driven decisions
→ Shift budget based on CAC, not gut feel
✓ Regular rebalancing
→ Monthly review, quarterly strategy
✓ Seasonal adjustment
→ Increase for Q4, pull back in slow periods
✓ Test budget protected
→ 10% always for experimentation
✓ Runway consideration
→ Don't spend faster than you can affordBad Budget Allocation
✗ Equal split across channels
→ Ignores performance differences
✗ Set and forget
→ Markets change, performance drifts
✗ All-in on one channel
→ Concentration risk, algorithm dependency
✗ Cutting based on gut
→ Let data drive decisions
✗ Scaling too fast
→ Algorithms need time to optimizeDiminishing Returns
Every channel has a saturation point:
Conversions
│
│ ╭───────────────
│ ╱
│ ╱ ← Diminishing returns zone
│ ╱
│╱______________________
└────────────────────────▶
Spend
As spend increases:
• Audience exhaustion
• Higher CPM (auctions)
• Lower-quality placements
• Ad fatigueSigns You've Hit Diminishing Returns
- CAC increasing despite no changes
- CTR declining
- Frequency > 3 for same audience
- CPM rising significantly
- Conversion rate dropping
Budget Optimization Levers
| Lever | When to Pull |
|---|---|
| Increase budget | LTV:CAC > 3:1, stable 2+ weeks |
| Decrease budget | CAC rising, LTV:CAC < 2:1 |
| Shift channels | One channel outperforming |
| Pause channel | LTV:CAC < 1:1 after optimization |
| Add channel | Main channels at saturation |
Monthly Budget Review
| Question | Source | Action |
|---|---|---|
| Which channels have best LTV:CAC? | Analytics | Increase allocation |
| Which channels degraded? | Week-over-week | Investigate/optimize |
| Are we hitting spend goals? | Platform reports | Adjust pacing |
| What's our blended CAC trend? | Dashboard | Scale/contract overall |
| What experiments ran? | Test log | Decide: scale or kill |
Quarterly Budget Planning
1. Review performance by channel
└── CAC, LTV:CAC, conversion volume
2. Analyze trends
└── Improving, stable, or declining
3. Set targets
└── Volume, efficiency, new channels
4. Allocate budget
└── Based on LTV:CAC and goals
5. Plan experiments
└── New channels, audiences, creative
6. Document assumptions
└── CPM trends, seasonality, market changesAnti-Patterns
- Peanut buttering — Equal budget across all channels
- Chasing volume — More spend doesn't mean more profit
- Ignoring LTV:CAC — Revenue focus misses efficiency
- Scaling too fast — Algorithms need learning time
- No test budget — Growth channels come from experiments
- Reactive cuts — Week-over-week swings are normal
- Platform default budgets — Often too high for new campaigns
Ad Copy Best Practices
Impact: CRITICAL
Your ad copy has 1-3 seconds to stop the scroll. Every word must earn its place.
The Ad Copy Formula
Hook (Attention) → Value (Interest) → Proof (Trust) → CTA (Action)Platform-Specific Formats
| Platform | Primary Text | Headline | Description |
|---|---|---|---|
| Google Search | N/A | 30 chars × 3 | 90 chars × 2 |
| Meta | 125 chars visible | 27 chars | 27 chars |
| 150 chars visible | 70 chars | 100 chars | |
| Twitter/X | 280 chars total | N/A | N/A |
Hook Formulas That Work
| Formula | Example | Best For |
|---|---|---|
| Question | "Still using spreadsheets for [X]?" | Pain point awareness |
| Statistic | "87% of teams waste 5 hours/week on [X]" | Credibility-first |
| Contrarian | "Why most [X] advice is wrong" | Thought leadership |
| Result | "How we got 10k signups in 30 days" | Case study style |
| Direct | "The fastest way to [achieve goal]" | High-intent search |
| FOMO | "Join 5,000+ teams already using [X]" | Social proof |
Good Ad Copy
✓ Google Search Ad:
Headline 1: "Automate Your Secrets Management"
Headline 2: "Start Free, No Credit Card"
Headline 3: "SOC 2 Compliant"
Description: "Stop hardcoding API keys. Sync secrets across environments in minutes. Trusted by 10,000+ developers."
✓ Meta Ad (Primary Text):
"I used to spend 3 hours every Monday updating .env files across 12 repos.
Now it takes 30 seconds.
SecretStash syncs your secrets automatically. One source of truth. Zero copy-paste.
→ Free for teams under 5"
✓ LinkedIn Ad:
"Engineering leaders: Your developers are storing secrets in Slack.
We surveyed 500 teams. 73% had credentials in chat history.
Here's how to fix it without slowing down your team:
[Link]"Bad Ad Copy
✗ "We're excited to announce our revolutionary platform!"
→ Nobody cares about your excitement
✗ "Best-in-class solution for enterprise needs"
→ Empty jargon, no specifics
✗ "Click here to learn more"
→ Vague CTA, no value proposition
✗ "SecretStash | Secrets Management | API Keys | .env"
→ Keyword stuffing, not copywriting
✗ "Our award-winning team has developed..."
→ Talks about you, not themCTA Hierarchy (Commitment Level)
| CTA | Commitment | Best For |
|---|---|---|
| "Get the guide" | Low | TOFU, awareness |
| "Start free trial" | Medium | MOFU, consideration |
| "Book a demo" | Medium-High | BOFU, B2B |
| "Buy now" | High | BOFU, clear intent |
| "Join waitlist" | Low | Pre-launch |
Copy Testing Priority
Test these elements in order: 1. Hook/Opening line — Highest impact on CTR 2. Value proposition — What makes you different 3. CTA — What you want them to do 4. Social proof — Numbers, logos, testimonials 5. Offer — Free trial vs demo vs buy
Character Count Cheat Sheet
| Element | Recommendation | Why |
|---|---|---|
| Headlines | Under 30 chars | Displays fully on mobile |
| Primary text | Under 100 chars | Above "See more" fold |
| CTAs | 2-4 words | Clear and scannable |
| Numbers | Specific, not rounded | "847" beats "850+" |
Emotional Triggers
| Trigger | Example | When to Use |
|---|---|---|
| Fear | "Your secrets are exposed" | Security products |
| Curiosity | "The method 10x engineers use" | Educational content |
| Urgency | "Offer ends Friday" | Limited promotions |
| Belonging | "Join 50,000+ developers" | Community products |
| Achievement | "Ship 2x faster" | Productivity tools |
Anti-Patterns
- Feature-first copy — Lead with benefit, not feature
- We/us language — They care about themselves
- Multiple CTAs — One ad, one action
- Clever over clear — Wordplay that confuses
- Lying or exaggerating — Destroys trust permanently
- Ignoring platform norms — LinkedIn ≠ TikTok ≠ Search
Visual Creative Guidelines
Impact: CRITICAL
Visuals stop the scroll before copy can convert. Strong creative can improve performance 2-5x.
Platform Image Specifications
| Platform | Recommended Size | Aspect Ratio | Max File Size |
|---|---|---|---|
| Meta Feed | 1080 × 1080 | 1:1 | 30MB |
| Meta Stories | 1080 × 1920 | 9:16 | 30MB |
| LinkedIn Feed | 1200 × 627 | 1.91:1 | 5MB |
| LinkedIn Carousel | 1080 × 1080 | 1:1 | 10MB |
| Google Display | 1200 × 628, 300 × 250 | Various | 150KB |
| Twitter/X | 1200 × 675 | 16:9 | 5MB |
Video Specifications
| Platform | Recommended Length | Aspect Ratio | Notes |
|---|---|---|---|
| Meta Feed | 15-30 sec | 1:1 or 4:5 | Hook in first 3 sec |
| Meta Stories/Reels | 15 sec | 9:16 | Sound-on optimized |
| 30-90 sec | 1:1 or 16:9 | Captions required | |
| YouTube Ads | 15-30 sec (skippable) | 16:9 | Hook before skip |
| TikTok | 15-60 sec | 9:16 | Native, authentic feel |
Creative Principles
| Principle | Description | Example |
|---|---|---|
| Thumb-stopping | Interrupt the scroll pattern | Motion, contrast, faces |
| Message match | Creative matches ad copy | Same headline, same offer |
| Mobile-first | Designed for small screens | Large text, simple visuals |
| Platform-native | Feels like organic content | TikTok style for TikTok |
| Focused | One message per creative | Don't cram features |
Creative Types That Work
| Type | Best For | Example |
|---|---|---|
| UGC-style | Authenticity, social proof | Customer testimonial video |
| Product demo | Complex products, SaaS | Screen recording with narration |
| Before/After | Transformation products | Side-by-side comparison |
| Founder story | Trust building, B2B | Founder speaking to camera |
| Data visualization | Credibility, statistics | Animated chart, stat callout |
| Social proof | Trust, FOMO | Logos, customer count, reviews |
| Comparison | Differentiation | You vs competitors |
Good Creative Examples
✓ Static Image:
- Clear headline (4-7 words max)
- Product screenshot or illustration
- Brand colors, no clutter
- CTA button visible
✓ Video:
- Hook in first 2 seconds
- Problem statement by second 5
- Solution demo seconds 5-20
- CTA and social proof at end
- Captions/subtitles throughout
✓ Carousel:
- Slide 1: Hook + curiosity gap
- Slides 2-4: Value/benefit/proof
- Final slide: CTA + offerBad Creative Examples
✗ Wall of text on image
→ Unreadable on mobile, low engagement
✗ Generic stock photos
→ Blend in with organic content
✗ Slow video intro with logo
→ Lost audience before message
✗ Multiple CTAs in one creative
→ Confuses the action
✗ Tiny product screenshots
→ Can't see on mobile
✗ Off-brand creative
→ Damages brand recognitionText-on-Image Rules
| Platform | Text Recommendation |
|---|---|
| Meta | <20% of image is text (old rule, still good practice) |
| Minimal text, rely on post copy | |
| Google Display | Clear, legible, high contrast |
| Twitter/X | Optional, tweet carries message |
Creative Testing Framework
| Element | Test | Measure |
|---|---|---|
| Image type | Photo vs illustration vs product | CTR |
| Color scheme | Dark vs light, brand vs contrast | CTR, engagement |
| Headline position | Top vs bottom vs overlay | CTR |
| Face vs no face | People vs product only | CTR |
| Static vs motion | Image vs GIF vs video | CTR, CPM |
Mobile Optimization Checklist
- [ ] Text readable at 50% size
- [ ] Key message visible without full-screen
- [ ] CTAs fingertip-sized (min 44×44px)
- [ ] Loads fast (<3 seconds)
- [ ] Looks good in feed preview
- [ ] Sound-off friendly (captions for video)
Anti-Patterns
- Stock photo syndrome — Generic images blend into feed
- Logo-first design — Nobody cares about your logo
- Desktop-designed — 85%+ traffic is mobile
- Too much information — One message per creative
- Ignoring safe zones — Platform UI covers edges
- No variation — Same creative fatigues fast
Landing Page Optimization
Impact: CRITICAL
A great ad with a bad landing page is burning money. Your landing page must continue the conversation your ad started.
The Message Match Principle
| Ad Element | Landing Page Element | Match Type |
|---|---|---|
| Headline | H1 headline | Exact or semantic |
| Offer | Above-fold offer | Exact |
| Visual | Hero image/video | Similar style |
| CTA | Primary CTA | Same action |
| Audience | Content/tone | Appropriate |
Landing Page Anatomy
┌────────────────────────────────────────────────────┐
│ ABOVE THE FOLD │
│ ┌──────────────────────────────────────────────┐ │
│ │ Headline (Value Prop) │ │
│ │ Subhead (Clarify + Benefit) │ │
│ │ [CTA Button] [Secondary CTA] │ │
│ │ Social Proof (logos, numbers) │ │
│ └──────────────────────────────────────────────┘ │
├────────────────────────────────────────────────────┤
│ BELOW THE FOLD │
│ • Problem/Agitation │
│ • Solution/How it works │
│ • Features with benefits │
│ • Social proof (testimonials, case studies) │
│ • FAQ/Objection handling │
│ • Final CTA │
└────────────────────────────────────────────────────┘Above-the-Fold Checklist
- [ ] Clear value proposition (what do you do?)
- [ ] Specific benefit (why should I care?)
- [ ] Primary CTA visible without scrolling
- [ ] Social proof indicator (logos, numbers, ratings)
- [ ] Relevant hero image or video
- [ ] No navigation distractions
Page Speed Requirements
| Metric | Target | Impact |
|---|---|---|
| Load time | <3 seconds | 53% bounce if slower |
| First Contentful Paint | <1.8s | User perception |
| Largest Contentful Paint | <2.5s | Core Web Vitals |
| Time to Interactive | <3.8s | Form usability |
Conversion Rate Benchmarks
| Industry | Average CVR | Good | Excellent |
|---|---|---|---|
| SaaS | 3-5% | 7-10% | 15%+ |
| E-commerce | 1-2% | 3-5% | 8%+ |
| B2B Lead Gen | 2-5% | 8-12% | 20%+ |
| Finance | 5-10% | 12-18% | 25%+ |
Good Landing Page Elements
✓ Headline:
"Stop Hardcoding Secrets. Ship Faster."
→ Clear benefit, action-oriented
✓ Subhead:
"SecretStash syncs your API keys, tokens, and credentials across all environments in one click."
→ Explains the what, reinforces the benefit
✓ CTA:
"Start Free — No Credit Card Required"
→ Specific action + objection removed
✓ Social Proof:
"Trusted by 10,000+ developers at Stripe, Notion, and Vercel"
→ Specific number + recognizable logosBad Landing Page Elements
✗ Headline: "Welcome to SecretStash"
→ Says nothing about value
✗ Subhead: "A next-generation platform for modern teams"
→ Generic, could be any product
✗ CTA: "Learn More"
→ Vague, no value proposition
✗ No social proof visible
→ Missed trust opportunity
✗ Video autoplays with sound
→ Annoying, increases bounceForm Optimization
| Field Count | Conversion Impact | Use When |
|---|---|---|
| 1-2 fields | Baseline | High-volume lead gen |
| 3-4 fields | -15-25% | Qualified leads |
| 5-7 fields | -40-60% | Enterprise/high ACV |
| 8+ fields | -70%+ | Almost never |
Form Best Practices
- [ ] Only ask for what you need now
- [ ] Use single-column layout
- [ ] Show inline validation
- [ ] Use smart defaults
- [ ] Mobile keyboard optimization (email → email keyboard)
- [ ] Clear error messages
- [ ] Progress indicator for multi-step
CTA Button Optimization
| Element | Best Practice |
|---|---|
| Copy | Action verb + value: "Start Free Trial" |
| Color | Contrasting, stands out from page |
| Size | Large enough to tap (min 44px height) |
| Position | Above fold, repeated at bottom |
| Surround | Reduce friction nearby |
Friction Reducers
| Friction | Reducer |
|---|---|
| "What if it's not for me?" | Money-back guarantee, free trial |
| "Is my data safe?" | Security badges, SOC 2 logo |
| "What if I have questions?" | Chat widget, phone number |
| "Is this legitimate?" | Customer logos, testimonials |
| "How does it work?" | Demo video, product screenshots |
Mobile Optimization
- [ ] Thumb-friendly CTAs (44px minimum)
- [ ] Collapsible navigation or no nav
- [ ] Font size 16px+ for body text
- [ ] No horizontal scroll
- [ ] Sticky CTA button option
- [ ] Click-to-call phone numbers
- [ ] Auto-zoom disabled on form fields
Testing Priority (Impact Order)
1. Headline — Biggest impact on engagement 2. CTA copy — Direct impact on conversions 3. Hero image/video — First impression 4. Social proof placement — Trust building 5. Form length — Conversion friction 6. Page layout — Information hierarchy
Anti-Patterns
- Navigation links — Every link is an exit opportunity
- Multiple offers — One page, one goal
- Slow loading — Speed is a feature
- No mobile optimization — Majority of traffic is mobile
- Generic stock photos — Feel inauthentic
- Walls of text — Scannable beats readable
- Hidden CTA — Make the action obvious
- Missing social proof — Trust must be earned
Paid Ads Strategy
Impact: CRITICAL
Strategic paid advertising is about putting the right message in front of the right audience at the right time. Get this wrong, and no amount of optimization saves you.
Channel Selection Framework
| Channel | When to Use | When to Avoid |
|---|---|---|
| Google Search | High-intent keywords exist, ready-to-buy audience | Brand new category, no search volume |
| Google Display | Retargeting, broad awareness | Direct response without retargeting |
| Meta (FB/IG) | Visual products, B2C, precise demographics | Complex B2B, very niche audiences |
| B2B, job title targeting, enterprise | Low ACV products (<$1k), B2C | |
| Twitter/X | Tech audiences, real-time trends | Broad consumer products |
| TikTok | Gen Z/Millennials, viral potential | B2B enterprise, 45+ demographics |
| YouTube | Demos, tutorials, brand building | Quick direct response |
Campaign Structure
Account
├── Campaign (Objective + Budget)
│ ├── Ad Set/Group (Audience + Placement)
│ │ ├── Ad (Creative + Copy)
│ │ └── Ad (Variation)
│ └── Ad Set/Group (Different Audience)
└── Campaign (Different Objective)Audience Targeting Hierarchy
| Layer | Description | Example |
|---|---|---|
| Core | Demographics, interests, behaviors | "SaaS founders, 25-45" |
| Custom | Your data (site visitors, email lists) | "Visited pricing page" |
| Lookalike | Similar to your best customers | "1% lookalike of purchasers" |
| Retargeting | Re-engage known visitors | "Cart abandoners, 7 days" |
Good Campaign Strategy
✓ Start with bottom-of-funnel audiences
→ Highest intent, fastest learnings
✓ Use separate campaigns for prospecting vs retargeting
→ Different budgets, different optimization goals
✓ Match campaign objective to business goal
→ Conversions for sales, Reach for awareness
✓ Test one variable at a time
→ Audience OR creative, not both simultaneouslyBad Campaign Strategy
✗ Running all traffic to homepage
→ No message match, kills conversion rate
✗ Targeting "all ages, all interests"
→ Algorithm has nothing to optimize toward
✗ One campaign for everything
→ Can't allocate budget properly
✗ Copying competitor campaigns exactly
→ Their audience isn't your audience
✗ Starting with lookalikes before having seed data
→ Need 1,000+ conversions for quality lookalikesBudget Allocation by Funnel Stage
| Stage | % of Budget | Focus |
|---|---|---|
| TOFU (Awareness) | 20-30% | Reach, brand lift |
| MOFU (Consideration) | 30-40% | Engagement, leads |
| BOFU (Decision) | 30-50% | Conversions, sales |
Campaign Launch Checklist
- [ ] Clear objective defined (conversions, leads, awareness)
- [ ] Audience research completed
- [ ] Conversion tracking verified
- [ ] Landing page live and tested
- [ ] Creative assets prepared (multiple variations)
- [ ] Budget set with daily/lifetime caps
- [ ] Bid strategy selected (manual vs auto)
- [ ] Exclusions set (competitors, existing customers)
- [ ] UTM parameters configured
- [ ] Reporting dashboard ready
Anti-Patterns
- Premature scaling — Algorithm needs 50+ conversions/week to optimize
- Audience overlap — Campaigns competing against each other
- Wrong objective — Optimizing for clicks when you want purchases
- No exclusions — Paying to advertise to existing customers
- Platform default settings — Audience Network/Display placements drain budget
Retargeting Strategy
Impact: MEDIUM-HIGH
Retargeting converts warm audiences at 3-10x the rate of cold. It's your most efficient spend—when done right.
Retargeting Funnel
┌─────────────────────────────────────────────────────────┐
│ ALL VISITORS │
│ ┌───────────────────────────────────────────────────┐ │
│ │ Homepage Visitors (30 days) │ │
│ │ ┌─────────────────────────────────────────────┐ │ │
│ │ │ Feature Page Visitors (14 days) │ │ │
│ │ │ ┌───────────────────────────────────────┐ │ │ │
│ │ │ │ Pricing Page Visitors (7 days) │ │ │ │
│ │ │ │ ┌─────────────────────────────────┐ │ │ │ │
│ │ │ │ │ Cart Abandoners (3 days) │ │ │ │ │
│ │ │ │ │ ┌───────────────────────────┐ │ │ │ │ │
│ │ │ │ │ │ Trial Starters (7 days) │ │ │ │ │ │
│ │ │ │ │ └───────────────────────────┘ │ │ │ │ │
│ │ │ │ └─────────────────────────────────┘ │ │ │ │
│ │ │ └───────────────────────────────────────┘ │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ └───────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
Higher Intent = More Valuable = Bid HigherAudience Segments
| Segment | Window | Intent | Bid Modifier |
|---|---|---|---|
| Cart abandoners | 1-3 days | Very High | +50-100% |
| Pricing page | 1-7 days | High | +30-50% |
| Feature pages | 7-14 days | Medium-High | +20-30% |
| Blog readers | 14-30 days | Medium | Baseline |
| Homepage bounces | 7-14 days | Low | -20-30% |
| Past purchasers | 30-90 days | Upsell | +20-40% |
Recency Strategy
| Time Since Visit | Message | Urgency |
|---|---|---|
| 0-24 hours | Continue where you left off | High |
| 1-3 days | Still thinking about it? | Medium-High |
| 3-7 days | Don't miss out | Medium |
| 7-14 days | We've got something new | Low |
| 14-30 days | We miss you / What's new | Re-engagement |
| 30+ days | Major announcement / Offer | Win-back |
Sequential Messaging
Day 1-2: Reminder
"You left something behind"
→ Product/feature they viewed
Day 3-5: Social Proof
"Join 10,000+ teams using [Product]"
→ Testimonials, case studies
Day 6-10: Objection Handler
"Have questions? We've got answers"
→ FAQ, comparison, support
Day 11-14: Incentive
"Your exclusive offer expires soon"
→ Discount, extended trial, bonusPlatform-Specific Setup
| Platform | Audience Source | Minimum Size |
|---|---|---|
| Meta | Pixel, email list, video viewers | 100 |
| GA4, YouTube, customer match | 100-1,000 | |
| Insight Tag, email list, company list | 300 | |
| Twitter/X | Pixel, email list, followers | 500 |
Exclusion Strategy
Always exclude:
| Exclude | From | Why |
|---|---|---|
| Purchasers | Acquisition campaigns | Already converted |
| Recent converts | 7-14 days | Give them time |
| Unsubscribes | Email-based audiences | They opted out |
| Churned customers | Trial conversion campaigns | Different message needed |
| Employees | All campaigns | Wasted spend |
Frequency Capping
| Platform | Recommended Cap | Notes |
|---|---|---|
| Meta | 3-5 per week | Per ad set |
| Google Display | 5-7 per day | Per campaign |
| 3-5 per week | Per campaign | |
| General | Max 2x per day | User experience |
Good Retargeting
✓ Segmented by intent
→ Pricing page visitors get different message than blog readers
✓ Sequential messaging
→ Story evolves over time, not same ad repeatedly
✓ Frequency capped
→ 3-5 impressions per week max
✓ Exclusions in place
→ Customers excluded from acquisition
✓ Dynamic creative
→ Show products/features they viewedBad Retargeting
✗ Everyone in one audience
→ Cart abandoners need different message than homepage bouncers
✗ Same ad for 30 days
→ Ad fatigue, annoyance, brand damage
✗ No frequency cap
→ Stalker ads damage brand
✗ No recency windows
→ Showing ads 60 days later is wasted spend
✗ Retargeting customers with acquisition ads
→ "Sign up for free trial" to paying customersDynamic Retargeting
Show users the specific products/content they viewed:
| Element | Implementation |
|---|---|
| Product catalog | Upload to platform (Meta, Google) |
| Event tracking | View content, add to cart events |
| Template | Dynamic ad template with placeholders |
| Recommendation | Similar/complementary products |
Cross-Platform Retargeting
User visits website (Google Ads)
↓
Captured by all pixels (Meta, LinkedIn, Google)
↓
Sees retargeting on Meta (social browsing)
↓
Sees retargeting on YouTube (video content)
↓
Returns via Google Search ad
↓
ConvertsRetargeting Budget Split
| Segment | % of Retargeting Budget |
|---|---|
| Cart/form abandoners | 30-40% |
| Pricing page visitors | 20-30% |
| High-intent pages | 15-25% |
| General site visitors | 10-15% |
| Win-back campaigns | 5-10% |
Measurement
| Metric | Benchmark | Target |
|---|---|---|
| CTR | 0.5-1% | 1.5%+ |
| CVR | 2-5% | 8%+ |
| ROAS | 3x | 5x+ |
| Frequency | <3/week | <2/week |
| CPM | Varies | Track trend |
Anti-Patterns
- No segmentation — All visitors treated the same
- No frequency cap — Creepy, annoying, wasteful
- No exclusions — Advertising to customers
- Static creative — Same ad for weeks
- Too long windows — 60+ day audiences are cold again
- Ignoring iOS changes — Server-side tracking needed
- No sequential messaging — Miss opportunity to build story
- Retargeting only — Need cold traffic to retarget
A/B Testing Framework
Impact: HIGH
A/B testing without a framework is just guessing with data. Structured testing compounds learnings over time.
The Testing Hierarchy
Test in this order for maximum impact:
| Priority | Element | Typical Impact |
|---|---|---|
| 1 | Offer | 50-200% lift |
| 2 | Headline/Hook | 20-100% lift |
| 3 | CTA | 10-50% lift |
| 4 | Social proof | 5-30% lift |
| 5 | Layout/Design | 5-20% lift |
| 6 | Colors/Fonts | 1-10% lift |
Statistical Significance
| Sample Size | Minimum Duration | Confidence |
|---|---|---|
| <1,000 visitors | 2+ weeks | Low |
| 1,000-5,000 | 1-2 weeks | Medium |
| 5,000-20,000 | 5-7 days | Good |
| 20,000+ | 3-5 days | High |
Minimum Detectable Effect (MDE)
| Baseline CVR | Need to Detect | Sample Size/Variation |
|---|---|---|
| 2% | 20% relative lift | ~16,000 |
| 5% | 20% relative lift | ~6,200 |
| 10% | 20% relative lift | ~3,000 |
| 20% | 20% relative lift | ~1,400 |
Test Hypothesis Template
We believe [change] will [improve metric] because [rationale].
We will know this is true when [metric] increases by [X%] with [confidence]%.Good Test Hypotheses
✓ "We believe adding customer logos above the fold will increase
form submissions by 15% because social proof reduces uncertainty."
✓ "We believe changing the CTA from 'Learn More' to 'Start Free Trial'
will increase clicks by 25% because it's more specific and actionable."
✓ "We believe reducing form fields from 5 to 3 will increase
completions by 30% because it reduces friction."Bad Test Hypotheses
✗ "We want to test a new button color"
→ No expected outcome, no rationale
✗ "Let's see if this new design performs better"
→ Vague, unmeasurable
✗ "The CEO thinks we should try this"
→ Not data-informed, HiPPO decisionTesting Checklist (Pre-Launch)
- [ ] Hypothesis documented
- [ ] Single variable being tested
- [ ] Sample size calculated
- [ ] Test duration planned
- [ ] Primary metric defined
- [ ] Tracking verified
- [ ] QA on all variations
- [ ] Mobile/desktop checked
- [ ] Audience split randomized
Testing Checklist (During)
- [ ] Don't peek early (peeking inflates false positives)
- [ ] Monitor for technical issues only
- [ ] Don't stop at first significance
- [ ] Run for full business cycle (week minimum)
- [ ] Document any external factors
Testing Checklist (Post)
- [ ] Statistical significance confirmed
- [ ] Segment results analyzed
- [ ] Learnings documented
- [ ] Winner implemented
- [ ] Next test planned
Common Test Ideas
| Category | Tests |
|---|---|
| Headlines | Benefit vs feature, specific vs general, question vs statement |
| CTAs | Action verb, color, size, placement, copy |
| Social proof | Logos vs testimonials, numbers vs names |
| Forms | Field count, layout, labels, validation timing |
| Images | Product vs people, illustration vs photo |
| Pricing | Display format, anchoring, decoy options |
| Copy | Long vs short, formal vs casual, we vs you |
Segment Analysis
Don't just look at overall results. Check:
| Segment | Why It Matters |
|---|---|
| Device | Mobile vs desktop behavior differs |
| Traffic source | Paid vs organic intent differs |
| New vs returning | Familiarity changes behavior |
| Geography | Cultural differences |
| Time of day | Business hours vs evenings |
False Positive Prevention
| Risk | Mitigation |
|---|---|
| Peeking | Pre-commit to duration, use sequential testing |
| Multiple comparisons | Bonferroni correction, primary metric only |
| Novelty effect | Run tests longer, track over time |
| Sample ratio mismatch | Verify 50/50 split with chi-square |
| Selection bias | Randomize properly, check pre-period |
Documentation Template
## Test: [Name]
**Date:** [Start] - [End]
**Hypothesis:** [Statement]
**Primary Metric:** [Metric]
**Sample Size:** [N per variation]
### Variations
- Control: [Description]
- Treatment: [Description]
### Results
| Variation | Visitors | Conversions | CVR | Lift |
|-----------|----------|-------------|-----|------|
| Control | | | | - |
| Treatment | | | | |
**Statistical Significance:** [Yes/No, p-value]
**Confidence:** [%]
### Key Learnings
- [Learning 1]
- [Learning 2]
### Next Steps
- [Action item]Anti-Patterns
- Testing too many things — Can't isolate what caused change
- Stopping early — False positives from peeking
- Running too long — Novelty effect wears off
- Ignoring segments — Average hides important differences
- No documentation — Same mistakes repeated
- Copying others' tests — Context matters, test for your audience
- HiPPO decisions — Highest Paid Person's Opinion overrules data
- Winner-take-all thinking — Learn from losers too
Related skills
How it compares
Use as a structured marketing playbook in skill form, not as a replacement for your ad platform’s native reporting or an MCP analytics connector.
FAQ
Who is performance-marketer for?
Developers and startups who run or are about to run paid acquisition and need channel, creative, landing, and measurement guidance in one agent-invokable skill.
When should I use performance-marketer?
Use it at Launch when planning distribution and paid tests, during Validate when stress-testing pricing and offer-message fit on landing pages, and in Grow when optimizing CAC, retargeting, and budget scale.
Is performance-marketer safe to install?
It provides strategic and copy frameworks only; confirm repo trust and review the Security Audits panel on this Prism page before installing.