Campaign Launch Playbook
A step-by-step playbook for launching a paid campaign with landing pages, email sequences, checkout, ads, and organic posts. Built from lessons learned during The Build: Find, Prove, Close launch (April 2026).
Goal: Complete, QC'd campaign in one day instead of a week.
Retro reference: campaigns/the-build/wip/retro-the-build-launch.md
Phase 0: Inputs (30 min)
Before building anything, read everything.
Reference material — read these first:
- [ ]
business-aos/reference/core/voice.md— brand voice - [ ]
business-aos/reference/core/audience.md— who we're talking to - [ ]
business-aos/reference/brand/copy-qc.md— 11 AI pattern checks - [ ] Inspiration emails in
business-aos/inspiration/— Taki Moore's workshop emails, Steve Cunningham's patterns - [ ] Golden examples for each asset type in
advisory-os-vault/content/frameworks/ - [ ] Relevant kits: kit-opt-in-page, kit-thank-you-page, kit-delivery-page, kit-homepage, kit-email-sequence
Offer brief — confirm before building:
- [ ] What's being sold (product name, format, dates)
- [ ] Price (and any discount/coupon pricing)
- [ ] Funnel flow: Ad → Opt-in → Thank-you → Nurture → Sales page → Checkout → Post-purchase
- [ ] All URLs and slugs confirmed with Convertri
- [ ] External accounts ready: MailerLite, ThriveCart, Meta Ads Manager, Convertri
Terminology rules:
- Paid traffic: NO LLM brand names (no Claude, ChatGPT, Gemini). Use "AI skill" or "AI tool of choice"
- Organic: LLM brand names OK
- Never use "AI assistant" — use "AI tool of choice" and list options
- Customer-facing pages: brand-neutral
- Product delivery files (skill files, quick-start): Claude-specific OK
Phase 1: Pages (2-3 hours)
Build from kits. Not from scratch. Every page follows its kit's golden example.
Pages to build:
| Page | Kit | Slug | noindex? |
|---|---|---|---|
| Homepage | kit-homepage | / | No |
| Opt-in | kit-opt-in-page | /cib | No |
| Post opt-in thank-you | kit-thank-you-page | /cib-thank-you | Yes |
| Sales page | (custom) | /the-build | No |
| Post-purchase thank-you | kit-thank-you-page | /build-thank-you | Yes |
| Lead magnet delivery | kit-delivery-page | /cib-delivery | Yes |
| Product delivery | kit-delivery-page | /practice-brain-delivery | Yes |
| Quick-start guide | kit-delivery-page | /practice-brain-quick-start | Yes |
| Terms of use | (custom) | /terms | Yes |
Per-page checklist (every page, no exceptions):
- [ ] Built from kit golden example
- [ ] Meta Pixel embedded in
(pixel ID: confirm before building) - [ ] Correct pixel events: PageView on all, Lead on opt-in thank-you, Purchase on post-purchase thank-you
- [ ] Footer: Meta compliance disclaimers, correct entity name, Terms link to
/terms, no Substack - [ ] All links correct — every product/asset mention is a clickable link
- [ ] URLs match Convertri slugs exactly
- [ ] Mobile responsive — use CLASS selectors for grid stacking, NOT attribute selectors (Facebook in-app browser breaks on
div[style*="..."]) - [ ] Mobile form placement — on any page with a form, the form must be visible within ONE scroll on mobile. Use CSS
order: -1to move the form above content on mobile. Hide supporting details (bullets, credentials) on mobile if they push the form below the fold. - [ ] Header stacks centered on mobile (968px breakpoint)
- [ ] CYP brand: Fraunces + Montserrat, deep teal/cream/gold, inline styles
- [ ] No
var()CSS - [ ] noindex/nofollow set where indicated
- [ ] Run website-eval-skill before committing
- [ ] Visual check: desktop AND mobile (test in Facebook in-app browser)
- [ ] Terminology sweep: grep for "AI assistant", "Claude" (in paid context), old pricing, old URLs
Phase 2: Email Sequences (1-2 hours)
Before writing: read reference emails. Taki Moore's sell sequence, Steve Cunningham's patterns. Read them. Then write.
Email types needed:
| Trigger | File | |
|---|---|---|
| CIB delivery | Immediate on opt-in | delivery-email-cib.md |
| Nurture 1-3 | Automation, relative timing | nurture-sequence-cib.md |
| Nurture 4-5 | Scheduled campaigns, fixed dates | nurture-sequence-cib.md |
| Build delivery | Immediate on purchase (ThriveCart webhook) | delivery-email-build.md |
| Buyer 1-2 | Scheduled campaigns, fixed dates | buyer-sequence-the-build.md |
| Buyer 3-4 | Scheduled campaigns, fixed dates | buyer-sequence-the-build.md |
Per-email checklist (every email, no exceptions):
- [ ] Subject line
- [ ] Preview text / preheader (REQUIRED — no exceptions)
- [ ] Body copy
- [ ] Every mention of the lead magnet links to the delivery page
- [ ] Every mention of the product links to the sales page
- [ ] No price in nurture emails — drive to sales page, let the page handle pricing
- [ ] No URL in email body if there's a button/link for it
- [ ] Terminology: "AI tool of choice (Claude, ChatGPT, Gemini)" not "AI assistant"
- [ ] Run copy-qc.md (11 pattern checks) on every email
- [ ] Run email sequence kit QC checklist
Structural rules:
- Delivery emails are SEPARATE from sequences — delivery fires immediately, sequence starts after
- No duplicate content between delivery email and first sequence email
- Nurture emails for time-bound events: emails 1-3 as automation (relative timing), emails 4-5 as scheduled campaigns (fixed dates) — prevents urgency emails landing after event starts
- Buyer emails for time-bound events: ALL scheduled campaigns on fixed dates (only delivery email is automation)
- Exclude buyers from nurture campaigns
- Story-driven, not feature-driven (Taki pattern: story → proof → Q&A → personal story → last call)
- Short. If it reads like a brochure, rewrite it.
Phase 3: ThriveCart + MailerLite (1 hour)
ThriveCart setup:
- [ ] Product created with correct name, price
- [ ] Coupon code for discount offer (if applicable)
- [ ] Success URL: post-purchase thank-you page
- [ ] URL expiration: Never
- [ ] Support email
- [ ] Terms link on checkout page
- [ ] FB Pixel ID entered in Tracking section
- [ ] Checkout page content: description, bullets, FAQs, guarantee
- [ ] Hex codes applied to checkout design
- [ ] MailerLite integration: on purchase → add to buyer group
MailerLite setup:
- [ ] Double opt-in OFF at account level (Settings → Subscriber settings)
- [ ] Double opt-in OFF at form level (edit the form → settings → double opt-in toggle)
- [ ] Verify both — these are independent settings. One does not override the other.
- [ ] Groups created: lead magnet subscribers, product buyers
- [ ] Groups created: lead magnet subscribers, product buyers
- [ ] Lead magnet automation: form submission → delivery email → nurture sequence
- [ ] Buyer group: ThriveCart webhook → delivery email → buyer sequence
- [ ] Scheduled campaigns created for fixed-date emails
- [ ] Exclusion rules: buyer group excluded from nurture campaigns
- [ ] Calendar add links in delivery email (Google Calendar + Outlook, recurring for multi-day events)
Phase 4: Ad Creative (1-2 hours)
Ad copy:
- [ ] Run copy-qc.md on every ad
- [ ] No LLM brand names in paid ads
- [ ] No URL in primary text body (URL is in Destination field)
- [ ] No "AI assistant" — use "AI skill" or "AI tool"
- [ ] 6-lens VIP compliance: FTC, Meta Policy, Substantiation, Copy Quality, Visual Standards, Voice Authenticity
Ad images — file creation:
Every ad needs THREE images:
- Square (1080x1080) —
adX-name.html - Vertical (1080x1920) —
adX-name-vertical.html - IG version (1080x1350) —
adX-name-ig.html(for organic cross-posting)
All images are standalone HTML files at native resolution. One file = one image = one screenshot.
Screenshot process:
- Open HTML file in Chrome
- Ctrl+Shift+I → Ctrl+Shift+P → type "screenshot" → "Capture full size screenshot"
- On 2x display, output will be 2160x2160 / 2160x3840 / 2160x2700 — all exceed Meta minimums
Organic post images:
Same process. FB gets 1080x1080. IG gets 1080x1350 (4:5). Every post gets both sizes created upfront.
Phase 5: Meta Ads Manager (1 hour)
Reference: campaigns/the-build/wip/meta-campaign-setup-guide.md has the full step-by-step with exact field values.
Campaign level:
- Objective: Leads
- Budget: $20/day (adjust per campaign)
- Campaign name: descriptive
Ad set level:
- Conversion: Website → Lead event
- Schedule: start date through event date
- Audience Controls: location, minimum age
- Audience Suggestions: age range, interests (select as INTERESTS, not job titles)
- Placements: leave Advantage+ on. DO NOT touch account-level placement controls.
Ad level — per-ad cleanup (EVERY ad):
- [ ] Multi-advertiser ads: UNCHECK
- [ ] Crop and expand AI: UNCHECK
- [ ] Advantage+ creative text generation: OFF (both primary text and headline sections)
- [ ] Translate text: OFF
- [ ] Media enhancements: OFF
- [ ] Essential enhancements: OFF (optional but recommended)
- [ ] AI image generation: can't uncheck but won't generate if no source images
- [ ] CTA: Learn More
- [ ] Destination URL correct
- [ ] Display link correct
Ignore all Meta "recommendations" to:
- Increase budget
- Turn on Advantage+ placements
- Turn on Advantage+ creative
- Include all placements for "+X points"
After publishing:
- Verify date range in Ads Manager matches campaign dates
- Check in 4-6 hours for initial impressions
- Don't change anything during learning phase (48-72 hours)
- Pause ads with high spend and zero clicks after 24 hours
Phase 6: Organic Posts + Profile (30 min)
Facebook page refresh:
- [ ] Cover photo uploaded (820x312, screenshot from HTML)
- [ ] Short description updated
- [ ] Website URL updated
- [ ] Action button: Learn More → opt-in page URL
- [ ] Category set
Instagram profile:
- [ ] Bio updated (150 chars)
- [ ] Link in bio → opt-in page URL
- [ ] Profile photo current
Organic posts:
- [ ] FB images: 1080x1080
- [ ] IG images: 1080x1350 (4:5)
- [ ] Post copy QC'd against copy-qc.md and voice.md
- [ ] No AI-generated closing lines
- [ ] Claude/brand names OK in organic
- [ ] At least 1 post live before ads launch (page needs fresh content)
- [ ] Remaining posts scheduled
Phase 7: Pre-Launch Test (30 min)
Pre-test checks:
- [ ] MailerLite double opt-in OFF at account level AND form level (both must be off)
- [ ] Test with a NEW email address (not one already in MailerLite) — existing subscribers skip double opt-in so you won't catch the problem
Full funnel test — click every step:
| Step | Test | URL |
|---|---|---|
| 1 | Submit opt-in form | /cib |
| 2 | Lands on thank-you page | /cib-thank-you |
| 3 | Discount offer link works | /cib-thank-you → ThriveCart with coupon |
| 4 | Delivery email arrives | Check inbox |
| 5 | Delivery email links work | /cib-delivery |
| 6 | Sales page CTAs go to checkout | /the-build → ThriveCart |
| 7 | Checkout processes payment | ThriveCart |
| 8 | Redirects to post-purchase page | /build-thank-you |
| 9 | Buyer delivery email arrives | Check inbox |
| 10 | Product delivery page works | /practice-brain-delivery |
| 11 | Quick-start page works | /practice-brain-quick-start |
| 12 | Terms page loads | /terms |
Pixel verification (Meta Pixel Helper extension):
| Page | Expected Events |
|---|---|
| All pages | PageView ✓ |
| Post opt-in thank-you | PageView + Lead |
| Post-purchase thank-you | PageView + Purchase ($X) |
Mobile test:
- [ ] Opt-in page in Facebook in-app browser (this is where ad traffic lands)
- [ ] Form visible within one scroll on mobile — if you have to scroll more than once to see the form, it's buried and won't convert
- [ ] Homepage on mobile
- [ ] Sales page on mobile
Phase 8: Launch + Monitor
Launch day:
- [ ] Publish ads (they go into review, can take up to 24 hours)
- [ ] Verify date range in Ads Manager shows today's date
- [ ] First organic post is live
- [ ] Profile is refreshed
First 24 hours:
| Metric | Good | Action if bad |
|---|---|---|
| Impressions | 500+ | Zero = still in review or rejected |
| CTR (link clicks) | Above 1% | Below 0.5% = hook isn't landing |
| CPL (cost per lead) | $3-8 | Above $15 = landing page issue |
| Ad rejections | None | Read reason, fix, resubmit |
48-72 hours:
- One ad will get most budget — that's Meta picking the winner
- Pause ads with high spend and zero/low clicks
- Don't edit winning ads — edits restart learning
- If ALL ads are above $15 CPL — the problem is the landing page, not the ads
Dormant account note: Accounts that haven't run ads in years behave like new accounts. Expect high CPMs and slow delivery for the first 48-72 hours. This is the pixel warming up. Don't panic. Don't change targeting. Let it learn.
QC Gates
These run automatically before every commit of a customer-facing file:
- Terminology sweep: grep for "AI assistant", LLM brand names in paid context, old pricing, old URLs
- Link check: every product/asset mention is a clickable link, all URLs match Convertri slugs
- Pixel check: every page has pixel in
, correct events on thank-you pages - Footer check: Meta compliance, Terms link, no Substack, correct entity name
- Mobile check: no CSS attribute selectors on inline styles, class selectors only for responsive grids
- Email check: every email has preview text, no price in nurture, delivery email separate from sequence
- Copy QC: run copy-qc.md 11-pattern check on all customer-facing copy
- Visual check: render page, check desktop + mobile before committing
File Locations
| Asset | Location |
|---|---|
| Brand voice | business-aos/reference/core/voice.md |
| Audience | business-aos/reference/core/audience.md |
| Copy QC | business-aos/reference/brand/copy-qc.md |
| Website eval skill | advisory-os-vault/content/business/marketing/skills/website-eval-skill.md |
| Inspiration emails | business-aos/inspiration/ |
| Page kits | advisory-os-vault/content/frameworks/kit-*/ |
| Email sequence kit | advisory-os-vault/content/frameworks/kit-email-sequence/ |
| Ad images (screenshot) | advisory-os-vault/content/business/marketing/campaigns/[campaign]/wip/ad-images/ |
| Meta setup guide | advisory-os-vault/content/business/marketing/campaigns/[campaign]/wip/meta-campaign-setup-guide.md |
| Campaign retro | advisory-os-vault/content/business/marketing/campaigns/[campaign]/wip/retro-*.md |
Built from the retro of The Build: Find, Prove, Close launch — April 2026 This playbook is a living document. Update it after every campaign.