Facebook Ads Creative Tester
SKILL.md
HOW_TO_USE.md
sample_input.json
expected_output.json
skillsfacebook-adsSKILL.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
# Facebook Ads Creative Tester
Stop guessing. Start learning.
## Core Philosophy
**Most creative "tests" aren't testsβthey're random acts of content.**
Running 5 different ads isn't a test. It's hope dressed up as strategy. A real test:
- Changes ONE variable at a time
- Has a clear hypothesis
- Runs long enough to reach significance
- Produces learnings you can apply
**The goal isn't to find a winner. The goal is to learn something you can use forever.**
When you discover that "social proof in the first 3 seconds increases hook rate by 40%"βthat learning compounds across every future ad. When you discover that "pain-point hooks outperform benefit hooks for your audience"βyou've unlocked a pattern.
**Creative testing is the highest-leverage activity in paid social.** A 20% improvement in CTR or conversion rate is worth more than any audience tweak or bid strategy change.
---
## Required Context
### Must Have
1. **Test Objective**
- What are you trying to learn?
- What problem are you trying to solve?
- What hypothesis do you want to test?
2. **Current Performance Baseline**
- Current CTR
- Current conversion rate (or hook rate for video)
- Current CPA or ROAS
- How long has current creative been running?
3. **Creative Assets**
- What creative do you have to test?
- What variations are you considering?
- What format (static, video, carousel)?
### Strongly Recommended
4. **Budget & Volume**
- Daily budget available for testing
- Historical conversions per day
- How quickly do you need results?
5. **Past Test Results**
- What have you tested before?
- What won? What lost?
- Any patterns you've noticed?
### Nice to Have
6. **Creative Resources**
- Can you produce new creative quickly?
- Video production capability?
- UGC sources available?
---
## Creative Testing Framework
### Phase 1: Hypothesis Formation
**A good hypothesis has three parts:**
1. **Variable** - What you're changing
2. **Prediction** - What you expect to happen
3. **Reasoning** - Why you believe this
**Hypothesis Template:**
> "If we [change variable], then [metric] will [improve/decrease] because [reasoning]."
**Examples:**
| Weak Hypothesis | Strong Hypothesis |
|-----------------|-------------------|
| "New creative will perform better" | "If we lead with a customer testimonial, then hook rate will increase by 15% because social proof reduces skepticism" |
| "Let's test some videos" | "If we switch from static to video, then CTR will increase by 30% because motion captures attention in-feed" |
| "Try different headlines" | "If we use a question hook instead of a statement, then CTR will increase because questions create curiosity loops" |
---
### Phase 2: Variable Isolation
**The One-Variable Rule:**
Only change ONE element between test variants. Otherwise, you won't know what caused the difference.
**Creative Variables by Type:**
**For Video Ads:**
| Variable | Examples | Priority |
|----------|----------|----------|
| Hook (first 3 sec) | Question vs. statement vs. pattern interrupt | π΄ Critical |
| Hook talent | Founder vs. customer vs. influencer | π΄ Critical |
| Hook visual | Product vs. person vs. text on screen | π‘ High |
| Body structure | ProblemβSolution vs. FeaturesβBenefits | π‘ High |
| CTA style | Soft vs. hard vs. urgency | π’ Medium |
| Video length | 15s vs. 30s vs. 60s | π’ Medium |
| Music/sound | Upbeat vs. calm vs. no music | π’ Medium |
| Captions | On vs. off vs. style | π’ Medium |
**For Static Ads:**
| Variable | Examples | Priority |
|----------|----------|----------|
| Primary image | Product vs. lifestyle vs. UGC | π΄ Critical |
| Headline angle | Benefit vs. pain point vs. social proof | π΄ Critical |
| Visual style | Clean vs. busy vs. native/organic | π‘ High |
| Text overlay | Yes vs. no vs. amount | π‘ High |
| Color scheme | Brand colors vs. contrast vs. muted | π’ Medium |
| CTA button | Learn More vs. Shop Now vs. Get Offer | π’ Medium |
**For Copy (Primary Text):**
| Variable | Examples | Priority |
|----------|----------|----------|
| Opening line | Question vs. bold claim vs. story | π΄ Critical |
| Length | Short (1-2 lines) vs. medium vs. long | π‘ High |
| Angle | Benefit-led vs. pain-led vs. curiosity | π‘ High |
| Social proof | With vs. without vs. type | π’ Medium |
| CTA copy | Direct vs. soft vs. urgency | π’ Medium |
| Emoji usage | None vs. moderate vs. heavy | π’ Medium |
---
### Phase 3: Test Structure Options
**Option A: A/B Test (2 variants)**
- Best for: Isolating single variable impact
- Budget: Lower threshold
- Learning: Very clear, one variable
- Recommended for: Most tests
**Option B: A/B/C Test (3 variants)**
- Best for: Testing a spectrum (short/medium/long)
- Budget: Higher threshold
- Learning: Good, but more budget needed
- Recommended for: When 3 options are natural
**Option C: Multivariate (4+ variants)**
- Best for: Finding a winner among concepts
- Budget: Highest threshold
- Learning: Limited (don't know WHY winner won)
- Recommended for: Creative exploration, not learning
**Recommendation:** Default to A/B tests. Learn one thing well before testing the next variable.
---
### Phase 4: Statistical Requirements
**Minimum Sample Sizes for Significance:**
For conversion-based tests (Purchase, Lead):
| Baseline Rate | Detectable Lift | Conversions Needed (per variant) |
|---------------|-----------------|----------------------------------|
| 1% | 20% relative lift | ~3,800 clicks |
| 2% | 20% relative lift | ~1,900 clicks |
| 5% | 20% relative lift | ~760 clicks |
| 1% | 50% relative lift | ~610 clicks |
| 2% | 50% relative lift | ~305 clicks |
For CTR-based tests:
| Baseline CTR | Detectable Lift | Impressions Needed (per variant) |
|--------------|-----------------|----------------------------------|
| 0.5% | 20% relative lift | ~150,000 |
| 1.0% | 20% relative lift | ~75,000 |
| 2.0% | 20% relative lift | ~37,500 |
| 1.0% | 50% relative lift | ~12,000 |
**Simplified Rule of Thumb:**
- Minimum 50 conversions per variant for conversion tests
- Minimum 100 clicks per variant for CTR tests
- Minimum 7 days regardless of volume (capture weekly patterns)
---
### Phase 5: Test Duration Calculation
**Formula:**
```
Test Duration = MAX(
7 days (minimum for weekly patterns),
Days to reach statistical significance
)
```
**Duration Estimate Table:**
| Daily Budget per Variant | Target CPA | Daily Conversions | Days to 50 Conv |
|--------------------------|------------|-------------------|-----------------|
| $50 | $25 | 2 | 25 days |
| $50 | $10 | 5 | 10 days |
| $100 | $25 | 4 | 13 days |
| $100 | $10 | 10 | 5 days β 7 days min |
| $200 | $25 | 8 | 7 days (minimum) |
**Practical Minimum:** 7-14 days for most tests
---
### Phase 6: Success Criteria Definition
**Primary Metrics by Test Type:**
| Test Type | Primary Metric | Secondary Metrics |
|-----------|----------------|-------------------|
| Hook test (video) | 3-second video views / impressions | ThruPlay rate, CTR |
| Thumbnail/Image test | CTR | CPC, CPM |
| Copy test | CTR | Conversion rate, CPA |
| Full creative test | CPA or ROAS | CTR, conversion rate |
| Landing page test | Conversion rate | CPA, bounce rate |
**Defining a Winner:**
| Scenario | Winner Criteria |
|----------|-----------------|
| Clear winner | 95% statistical significance, 15%+ improvement |
| Marginal winner | 90% significance, 10-15% improvement |
| No winner | <90% significance or <10% improvement |
| Loser identified | Variant significantly worse (use to exclude) |
**What to do with results:**
| Result | Action |
|--------|--------|
| Clear winner | Scale winner, apply learning to future creative |
| Marginal winner | Continue testing, might need more data |
| No winner | Either variable doesn't matter, or test needs more time |
| Both variants bad | Kill test, new hypothesis needed |
---
### Phase 7: Test Setup Best Practices
**Campaign Structure for Testing:**
```
π [Test] Hook Test - Pain vs. Benefit
βββ π Ad Set: Test Audience (proven audience)
βββ π Ad A: Pain-focused hook
βββ π Ad B: Benefit-focused hook
```
**Key Settings:**
| Setting | Recommendation | Why |
|---------|----------------|-----|
| Campaign objective | Match your goal (Conversions) | Optimize for what you care about |
| Budget level | Ad set level (not CBO) | Equal distribution between variants |
| Audience | Use proven, stable audience | Isolate creative as the variable |
| Placement | Automatic or proven placements | Don't add placement as a variable |
| Optimization event | Your primary conversion | Match your success criteria |
**Equal Budget Distribution:**
- Use ad set budget, NOT CBO (Campaign Budget Optimization)
- CBO will favor one variant early and starve the other
- Split budget equally between variants
---
## Output Format
```
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
FACEBOOK ADS CREATIVE TEST PLAN
Test Name: [Descriptive Name]
Created: [Date]
Status: Ready for Launch
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π― TEST OVERVIEW
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
**Objective:** [What you're trying to learn]
**Hypothesis:**
If we [change variable], then [metric] will [improve/decrease] by [estimated %] because [reasoning].
**Variable Being Tested:** [Specific variable]
**Test Type:** [A/B / A/B/C / Multivariate]
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π¬ TEST VARIANTS
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
### Variant A: Control
**Description:** [Current/baseline creative]
**Key Element:** [The specific element being tested]
### Variant B: Challenger
**Description:** [New variation]
**Key Element:** [How it differs from control]
[Add Variant C if applicable]
**Isolation Check:** β
Only [variable] differs between variants
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π STATISTICAL REQUIREMENTS
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Metric | Requirement |
|--------|-------------|
| Primary success metric | [Metric name] |
| Current baseline | [Current performance] |
| Minimum detectable effect | [X]% relative improvement |
| Required sample size | [X] [conversions/clicks] per variant |
| Statistical confidence | 95% |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π
TEST TIMELINE
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Phase | Duration | Details |
|-------|----------|---------|
| Setup | Day 0 | Create ads, configure ad set |
| Learning | Days 1-3 | Let algorithm stabilize, no changes |
| Data collection | Days 4-[X] | Monitor, don't intervene |
| Analysis | Day [X+1] | Evaluate results |
**Minimum test duration:** [X] days
**Expected test duration:** [X-Y] days
**Maximum test duration:** [X] days (stop if no signal)
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π° BUDGET REQUIREMENTS
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Item | Amount |
|------|--------|
| Budget per variant | $[X]/day |
| Number of variants | [X] |
| Total daily budget | $[X]/day |
| Estimated test duration | [X] days |
| **Total test budget** | **$[X]** |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βοΈ CAMPAIGN SETUP
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
**Campaign Settings:**
- Campaign name: [Test] [Test Name]
- Objective: [Conversions/Traffic/etc.]
- Budget type: Ad Set Budget (NOT CBO)
**Ad Set Settings:**
- Audience: [Specify proven audience to use]
- Placements: [Automatic / Specific placements]
- Optimization: [Your conversion event]
- Budget: $[X]/day per ad set
**Ad Settings:**
- Each variant in same ad set OR separate ad sets with equal budget
- Same primary text (unless testing copy)
- Same landing page (unless testing LP)
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
SUCCESS CRITERIA
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
**Primary Metric:** [Metric]
**Winner Threshold:** [X]% improvement with 95% confidence
| Outcome | Criteria | Action |
|---------|----------|--------|
| Clear winner | >[X]% improvement, p<0.05 | Scale winner, apply learning |
| Marginal winner | [X-Y]% improvement, p<0.10 | Extend test or cautiously scale |
| No winner | <[X]% improvement | Variable doesn't matter, test next |
| Clear loser | >[X]% worse, p<0.05 | Kill variant, document learning |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π DOCUMENTATION TEMPLATE
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
**Fill out after test completes:**
Test completed: [Date]
Duration: [X] days
Total spend: $[X]
**Results:**
| Variant | [Metric] | Conversions | Confidence |
|---------|----------|-------------|------------|
| A (Control) | [X] | [X] | - |
| B (Challenger) | [X] | [X] | [X]% |
**Winner:** [Variant A/B/None]
**Lift:** [X]% [improvement/decline]
**Confidence:** [X]%
**Learning:**
[What did we learn that we can apply to future creative?]
**Next Test:**
[What should we test next based on this learning?]
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β οΈ RULES DURING TEST
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π« DO NOT:
- Change budgets mid-test
- Pause/restart variants
- Edit ads after launch
- Add new variants mid-test
- Change audience targeting
- Judge results before minimum duration
β
DO:
- Monitor daily but don't intervene
- Document any external factors (holidays, news, etc.)
- Wait for statistical significance
- Apply learnings to next test
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
```
---
## Common Scenarios
### Scenario 1: "I want to test 10 different creatives"
**Problem:** Too many variants, insufficient budget, no learnings
**Solution:** Group creatives by the variable they test. Run 2-3 A/B tests sequentially.
**Verdict:** Test one variable at a time. 10 creatives = 5 sequential A/B tests.
### Scenario 2: "My test has been running 3 days and one ad is winning"
**Problem:** Too early, not statistically significant
**Solution:** Wait minimum 7 days and 50+ conversions per variant.
**Verdict:** Don't call winners early. The algorithm and weekly patterns need time.
### Scenario 3: "Both variants perform the same"
**Interpretation Options:**
1. Variable doesn't matter for your audience
2. Test didn't run long enough
3. Difference exists but is smaller than detectable effect
**Verdict:** Move on and test a different variable. This one likely doesn't drive significant impact.
### Scenario 4: "My winning ad stops working after I scale it"
**Problem:** Test conditions different from scale conditions
**Solution:** Test at scale-relevant budgets. A $50/day test winner might not hold at $500/day.
**Verdict:** Test at meaningful budget levels or expect some degradation at scale.
### Scenario 5: "I don't have enough budget to test properly"
**Problem:** Insufficient conversions for significance
**Solutions:**
1. Test upper-funnel metrics (CTR, hook rate) instead of conversions
2. Accept higher variance in results
3. Run longer tests at lower budget
4. Test less frequently but more thoroughly
**Verdict:** Test what you can afford to learn. CTR tests are cheaper than conversion tests.
---
## Limitations
1. **Cannot guarantee statistical significance** - Depends on volume and test duration
2. **Cannot predict winning variant** - The point is to discover, not confirm
3. **Results are audience-specific** - Winners may not transfer to different audiences
4. **External factors affect results** - Holidays, news, competitors impact performance
5. **Meta's algorithm adds variance** - Delivery optimization isn't perfectly even
6. **Small improvements may not be detectable** - Need large samples for small lifts
---
## Quality Checklist
Before launching test:
- [ ] Hypothesis is specific and falsifiable
- [ ] Only ONE variable differs between variants
- [ ] Budget is sufficient for statistical significance
- [ ] Duration planned for minimum 7 days
- [ ] Using proven audience (not testing audience AND creative)
- [ ] Using ad set budget, NOT CBO
- [ ] Success criteria defined before launch
- [ ] Documentation template ready for results
ReadyFacebook Ads Creative Tester
MarkdownUTF-8Verified