From metaflow-marketing-skills
Builds a systematic creative testing, production, and rotation pipeline for Meta Ads to prevent fatigue, scale winners, and maintain performance.
How this skill is triggered — by the user, by Claude, or both
Slash command
/metaflow-marketing-skills:meta-ads-creative-engineThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
1. **Audit current creative state** — Performance by concept, format, fatigue signals
Layer 1: Concept Testing (Big Ideas)
Layer 2: Variation Testing (Refinement)
Rule: Concept test first. Once direction validated, shift to variation testing for refinement. Don't test 10 variations of a concept you haven't validated works.
Critical: Isolate ONE variable per test. Changing multiple variables = unusable signal.
| Test Type | What Changes | What Stays Same |
|---|---|---|
| Copy test | Primary text, headline | Image, format, CTA, audience |
| Visual test | Image or video | Copy, format, CTA, audience |
| Format test | Static vs video vs carousel | Core message, audience |
| Hook test | First 3 seconds of video | Rest of video, copy, audience |
| CTA test | Button text / placement | Everything else |
| Offer test | Discount, bundle, free trial | Creative style, audience |
| Parameter | Value |
|---|---|
| Minimum test budget per variant | Enough for 50-100 conversions (statistical significance) |
| Minimum test duration | 7 days |
| Maximum test duration | 14 days (avoid fatigue affecting results) |
| Minimum conversions to declare winner | 50 per variant; 100+ preferred |
| Budget split | Equal across variants within a test ad set |
Warning: Don't declare winners on <50 conversions per variant. Early leaders often lose over full sample.
Split testing budget into two buckets:
| Bucket | Budget | Purpose | Expected Outcome |
|---|---|---|---|
| 10% incremental | 10% of testing budget | Optimize what already works (variation tests) | 10-30% incremental improvements |
| 10x bets | 10% of testing budget | Test fundamentally new offers, hooks, approaches | Most fail; rare wins 2-10x performance |
Why both? Incremental tests keep current performance stable. 10x bets find the next step-change. Teams that only run incremental tests stagnate. Teams that only run 10x bets lose predictability.
| Signal | Threshold | Severity |
|---|---|---|
| Creative frequency | >4 | Action required (Meta: 45% conversion drop at 4+ exposures) |
| CTR decline | >20% below 7-day rolling average | Confirmed fatigue |
| CPC increase | Rising alongside CTR decline | Confirmed fatigue |
| CPA spike | >30% above baseline | Confirmed fatigue |
| Thumbstop ratio decline | 3-second viewer % dropping | Early fatigue signal for video |
CRITICAL: Measure frequency at the CREATIVE level, not ad level or ad set level. Meta's own research confirms fatigue happens at the creative level regardless of which ad/campaign serves it.
Meta's own data: Adding new creative into fatigued ad sets improves conversion rate by average 8% for high-fatigue cases, with dose-dependent improvement.
| Audience Size | Rotation Frequency | Notes |
|---|---|---|
| Small retargeting (<10K) | Every 5-7 days | Saturates fastest |
| Medium retargeting (10-100K) | Every 7-10 days | |
| Broad prospecting (1M+) | Every 14-21 days | Can tolerate longer cycles |
| ASC / Advantage+ broad | Ongoing weekly refresh | Maintain 15-30 active variants |
| Approach | How |
|---|---|
| Gradual introduction | Add 2-3 new variants, don't pause old immediately. Let algorithm shift spend to new winners |
| Maintain baseline | Keep 4-8 active creative variants per ad set at all times |
| Stagger refreshes | Don't replace all creative at once. Reset too much = learning phase reset |
| Winner preservation | Pause fatigued winners but keep them in a "rest" bucket to reintroduce later (audience refreshes) |
Think of creatives as modules that can be combined and swapped independently:
| Module | Variants | Test Independently |
|---|---|---|
| Hook (first 3 sec) | 5-10 options | Yes |
| Visual / b-roll | 5-10 options | Yes |
| Copy / voiceover | 5-10 options | Yes |
| CTA card / endcard | 3-5 options | Yes |
| Music / sound design | 3-5 options | Yes |
Why modular? From 5 hooks × 5 visuals × 5 copies, you get 125 possible combinations. You can rapidly produce variants by remixing modules without filming new content.
Storyboard approach: Build structured ad storyboards for each concept showing the modular components. Creative team produces modules; media team tests combinations.
| Format | Aspect Ratio | Length/Limit | Best For |
|---|---|---|---|
| Feed image | 4:5 vertical (best) or 1:1 square | 1080x1350 or 1080x1080 | Static stories, product shots |
| Stories/Reels image | 9:16 vertical | 1080x1920 | Mobile-first, ephemeral |
| Feed video | 4:5 vertical | 15-30 sec optimal | Primary video placement |
| Reels video | 9:16 full vertical | 15-60 sec | Reels-native engagement |
| Stories video | 9:16 full vertical | Up to 60 sec | Sequential storytelling |
| Carousel | 1:1 or 4:5 | Up to 10 cards | Multi-product, step-by-step |
| Collection | Cover + catalog | N/A | Ecommerce discovery |
Key performance data:
| Element | Limit | Best Practice |
|---|---|---|
| Primary text | 125 char visible before truncation | Hook → benefit → CTA |
| Headline | 40 char | Clear value prop or offer |
| Description | 30 char | Supporting detail |
| CTA button | Preset options | Match objective |
| Element | Guideline |
|---|---|
| Length | 15-30 seconds optimal for performance |
| Hook | First 3 seconds — attention-grabbing, front-loaded value |
| Captions | Bold, high-contrast, large. Mandatory for silent autoplay |
| Brand reveal | Within first 5 seconds (don't bury the brand) |
| CTA | End-card or persistent CTA, graphic > text-only |
Tag every creative to enable pattern analysis:
| Tag | Values | Purpose |
|---|---|---|
| Concept | emotional, rational, problem/solution, testimonial, demo, lifestyle | Identify winning concept themes |
| Format | static, video, carousel, collection, Reels | Format performance comparison |
| Hook type | question, stat, shock, testimonial, demo, story | Hook performance analysis |
| Visual style | UGC, studio, animation, screen recording, lifestyle | Style preferences by audience |
| Creator | internal, freelancer, influencer [name] | Source performance tracking |
| CTA | Shop Now, Learn More, Sign Up, Get Offer | CTA optimization |
| Length | 0-15s, 15-30s, 30-60s | Duration impact |
Tools like Motion help you identify which creative elements (hook, visual, CTA) drive results at scale. For accounts running many creatives, this is faster than manual analysis.
| Metric | Indicator Of | When It Matters |
|---|---|---|
| Thumbstop ratio | Hook effectiveness (% who stop scrolling) | Top-funnel video tests |
| Hold rate (25%, 50%, 75%, 95%) | Retention through video | Video optimization |
| CTR (link) | Click-through interest | All creatives |
| CPM | Reach efficiency | Budget planning |
| CPA / ROAS | Ultimate performance | Winner declaration |
| Frequency | Fatigue leading indicator | Rotation decisions |
| Method | Cost | Quality | Scale |
|---|---|---|---|
| In-house employees | Low | Variable | Low |
| Existing customers | Low-Medium | High authenticity | Low-Medium |
| Freelance creators (UGC platforms) | Medium | Variable | High |
| Micro-influencers ($100-1000/post) | Medium-High | Medium-High | Medium |
| Creative agencies | High | High polish | High (if budget) |
UGC vs Studio: UGC often outperforms polished studio content for DTC brands — feels native to Feed/Reels. Test both for your audience.
| Section | Content |
|---|---|
| Product/brand overview | What, who it's for, why it's different |
| Target audience | Demographics, pain points, desires |
| Campaign goal | Sales, leads, awareness |
| Required elements | Key claims, legal disclaimers, specific product shots |
| Creative freedom | What the creator CAN do their way |
| Deliverables | Format specs, aspect ratios, lengths, count |
| Do/Don't list | Messaging guardrails |
Rule: Be specific on constraints (legal, claims, brand voice) but leave creative execution to the creator. Over-briefing kills authenticity.
## Meta Creative Plan
### Current State
- Active creatives: [count]
- Fatigue signals: [list creatives with freq >4, declining CTR]
- Format mix: [% static / video / carousel / Reels]
- Winning concepts (recent): [list]
### Testing Plan
| Test | Variables Isolated | Budget | Duration | Success Criteria |
|------|-------------------|--------|----------|-----------------|
| [name] | [what changes] | $[X] | [days] | [metric + threshold] |
### Production Needs
| Format | Count | Specs | Source |
|--------|-------|-------|--------|
| 9:16 video | 5 | 15-30 sec, captions | [freelancer/in-house] |
### Rotation Schedule
| Week | Action |
|------|--------|
| Week 1 | Pause [X], launch [Y] |
### Tagging Plan
[How creatives will be tagged for pattern analysis]
Input: "I run DTC skincare ads on Meta. $10K/month budget. I've been running the same 5 creatives for 6 weeks. ROAS dropped from 3.8 to 2.2. Frequency is 6.4. How do I fix this and build a better creative system?"
Output:
| Format | Count | Specs | Source | Timeline |
|---|---|---|---|---|
| UGC video (9:16) | 3 | 15-30 sec, captions, testimonial-style | Freelance UGC creators | Week 1 |
| Product demo video | 2 | 15 sec, application technique | In-house or freelancer | Week 1 |
| Static lifestyle (4:5) | 3 | Product in real setting, clean copy | Existing brand photos | Day 1-2 |
| Carousel (4:5) | 1 | 5-card "routine" walkthrough | Studio or curated | Week 1 |
| Before/after static (4:5) | 2 | Real customer results (with consent + disclaimers) | Customer submissions | Week 1-2 |
Total: 11 new creatives to add to pool (plus keep 3 existing = 14 active)
Concept tests (10x bets):
| Test | Hypothesis | Success Criteria |
|---|---|---|
| UGC vs studio | UGC feels native to Feed/Reels and outperforms polished | UGC ROAS 20%+ above studio over 14 days |
| Problem-first vs benefit-first | Problem hooks create stronger stop rate | 30%+ higher thumbstop for problem-first |
| Single-product vs routine bundle | Routine upsell drives higher AOV | Bundle AOV 40%+ above single |
Variation tests (10% incremental):
| Test | Variable | Success Criteria |
|---|---|---|
| Hook test | First 3 sec of top video | 15%+ higher thumbstop ratio |
| CTA test | Shop Now vs Learn More | 10%+ higher CTR for winner |
| Copy length test | 50 char vs 100 char primary | Measurable CTR difference |
| Week | Action |
|---|---|
| Week 1 | Pause 2 fatigued creatives, launch 6 new variants (UGC + static) |
| Week 2 | Launch 5 more variants (video + carousel). Begin concept tests |
| Week 3 | Review Week 1-2 performance. Scale winners, pause losers |
| Week 4 | Introduce variation tests on winning concepts |
| Ongoing | Add 4-6 new creatives per week. Retire anything at frequency >5 |
Tag every new creative with: concept, format, hook type, visual style, creator, CTA, length. After 30 days, run pattern analysis:
npx claudepluginhub narayan-metaflow/metaflow-marketing-skills --plugin metaflow-marketing-skillsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.