How I Structure Profitable Facebook Ad Campaigns (Client Got 140+ Leads)

By Keven Bermeo · · 18 min read

Most pressure washers launch one ad at $10/day, let it run for a week, get no jobs, and quit. Then they wonder why their business never grows.

I'm going to show you the exact campaign structure I use that generated 140+ leads for one client who spent around $1,600, with Campaign 1 alone getting 30 leads at $16 CPL.

The Campaign Structure Overview

Before we dive into the details, here's the big picture of how I structure campaigns:

  • 4 Total Campaigns (each testing a different offer)
  • 2 Adsets per Campaign (testing different ad copy)
  • 4 Ads per Adset (testing video + copy combinations)
  • 32 Total Ads across all campaigns

Why This Structure Works

You can't rely on just one ad. You need to split test everything:

  • Different offers
  • Different videos
  • Different ad copy
  • Different hooks

This is what separates me from other marketers. I don't launch 1 ad and "see how it goes." I launch 32 ads and flood your market with testing until we find winners.

Campaign Level: Testing Offers

What Each Campaign Tests

Each campaign represents a different offer. This is critical because you're testing what resonates with your market.

Example Campaign Offers:

  1. Campaign 1: $199 Housewash Special
  2. Campaign 2: $99 Driveway Wash Special
  3. Campaign 3: Free Roof Wash with Housewash Purchase
  4. Campaign 4: 50% Off First-Time Customer Special

Campaign Settings

  • Objective: Leads
  • Budget Type: Advanced Campaign Budget (CBO)
  • Total Daily Budget: $10/day ($5 per adset)
  • Optimization: Leads (not engagement)

Pro Tip: Use Advanced Campaign Budget (CBO) so Facebook spends more on the adset that's performing best.

Adset Level: Testing Ad Copy Variations

Adset Structure

Inside each campaign, you have 2 adsets. Here's why:

  • Adset 1: Tests Copy 1 & Copy 2 (with both videos)
  • Adset 2: Tests Copy 3 & Copy 4 (with both videos)

This keeps your testing organized and prevents too many ads in one adset (which makes data messy).

Adset Settings

Budget

  • $5/day per adset = $10/day total per campaign
  • Let it run for 3 days minimum ($30 total spend)
  • After 3 days, you have enough data to make decisions

Targeting

  • Location: Your city + 10-mile radius
  • Age: 30-65 years old
  • Detailed Targeting: Leave blank (let Facebook optimize)
  • Placements: Manual (feeds only, turn off Advantage+ Placements)

What NOT to Do

  • ❌ Don't use interest targeting unless you're in a major metro (NYC, LA, Miami)
  • ❌ Don't use Advantage+ Placements (removes Marketplace, Search, etc.)
  • ❌ Don't overcomplicate targeting. A 10-mile radius is enough

Ad Level: Testing Video + Copy Combinations

Inside Each Adset: 4 Ads

Here's how the 4 ads break down inside Adset 1:

Ad Name Video Ad Copy
Ad 1 Video 1 Copy 1
Ad 2 Video 1 Copy 2
Ad 3 Video 2 Copy 1
Ad 4 Video 2 Copy 2

Adset 2 follows the same pattern but uses Copy 3 & Copy 4 instead.

Why This Matters

By testing the same video with different copy (and vice versa), you can isolate what's working:

  • If Video 1 + Copy 1 performs great, but Video 1 + Copy 2 doesn't → Copy 1 is the winner
  • If Video 1 performs across all copy variations → Video 1 is the winner

Video Creative That Converts

The Format That Works

Your videos need to look like Instagram Reels or TikTok videos, not traditional ads.

Video Specs

  • Length: 30-45 seconds
  • Aspect Ratio: 9:16 (vertical) or 1:1 (square)
  • Resolution: 1080x1920 or 1080x1080
  • File Size: Under 4GB

Video Content Structure

  1. Hook (0-3 seconds): Stop the scroll with a bold statement
  2. Problem/Story (3-15 seconds): Explain the pain point
  3. Solution (15-30 seconds): Show your service in action
  4. Offer (30-40 seconds): State the special clearly
  5. CTA (40-45 seconds): "Fill out the form to get your free quote"

Using AI Voiceovers

I use my own voice in videos because it's been performing well, but you can use AI:

  • ElevenLabs: Most natural-sounding AI voices
  • Descript: Good for quick voiceovers
  • CapCut: Built-in AI voiceover (decent quality)

Example Voiceover Script

"Why doesn't anyone talk about what winter actually does to your home? The cold, the rain, the moisture. It all settles into your siding and roof. That's why we're offering a $199 housewash special this month only. Fill out the form below to claim your spot before we're booked."

Ad Copy Structure That Converts

The 4-Part Formula

Every winning ad copy follows this structure:

1. Strong Hook (First 2 Lines)

This shows before the "See More" button, so it MUST stop the scroll.

Example: "Time for a housewash? Here's why waiting could cost you thousands."

2. Pain Points or Storytelling

Explain the problem or tell a customer story.

Example:

  • "That green algae on your siding? It's eating into your home's surface."
  • "One of our customers waited too long and ended up paying $8K for siding replacement."
  • "Most homeowners don't realize how much damage mold can do in just one winter."

3. Customer Testimonials (Social Proof)

Include 1-2 five-star reviews with names:

⭐⭐⭐⭐⭐ "Best pressure washing company in Lancaster! Our house looks brand new." - Sarah M.

4. Urgent Call to Action

Add both urgency and scarcity:

  • Urgency: "This offer ends September 20th"
  • Scarcity: "Only 5 spots left this week"
  • CTA: "Fill out the form below to claim your free quote"

4 Copy Variations Per Campaign

Here's how to create 4 different ad copies for the same offer:

  1. Copy 1: Pain point focused (algae damage angle)
  2. Copy 2: Benefit focused (curb appeal and property value)
  3. Copy 3: Storytelling (customer testimonial format)
  4. Copy 4: Urgency focused (limited spots, seasonal offer)

The Staggered Launch Schedule

Don't Launch All 4 Campaigns at Once

Build all 32 ads before launching Campaign 1, then stagger the launches:

Campaign Launch Day Offer
Campaign 1 Day 0 (Today) $199 Housewash
Campaign 2 Day 3 $99 Driveway Wash
Campaign 3 Day 6 Free Roof Wash
Campaign 4 Day 9 50% Off Special

Why Stagger?

  • Always have fresh ads cycling through your market
  • If Campaign 1 flops, you have 3 more ready to test
  • Gives you time to analyze and optimize before next launch
  • Prevents ad fatigue by rotating creative

How to Schedule in Ads Manager

  1. Go to Adset Level
  2. Scroll to Budget & Schedule
  3. Click Set a start date
  4. Set the date for 3/6/9 days out
  5. Save and publish

Managing Your Ads: The 3-Day Rule

After 3 Days of Spend ($30 Total)

At $10/day per campaign, after 3 days you've spent $30, which is enough data to make decisions.

Ads to Cut Immediately

  • Cost per lead over $30 → Cut the ad
  • $20+ spent with 0 leads → Cut the ad
  • Frequency over 3.5 → Ad fatigue, cut it

Ads to Keep Running

  • CPL under $20 → Keep running, monitor closely
  • CPL under $15 → Winner! Consider scaling budget
  • CPL under $10 → Massive winner, scale aggressively

How to Cut Ads

  1. Go to the Ad Level
  2. Select the checkbox next to the losing ad
  3. Click Toggle Off (don't delete, you want the data)

How to Scale Winners

When you find a winning ad (CPL under $15), scale gradually:

  • Day 3: Increase budget by 20% ($10 → $12/day)
  • Day 6: If still performing, increase by 20% again ($12 → $14.40/day)
  • Day 9: If still performing, increase by 20% again ($14.40 → $17.28/day)

Never increase budget by more than 20-30% at once, or you'll reset Facebook's algorithm.

Real Client Results Breakdown

Campaign 1: $199 Housewash Special

  • Leads Generated: 30 leads
  • Cost Per Lead: $16
  • Total Spend: $480
  • Videos Used: 2 (with AI voiceover)
  • Ad Copies: 4 variations

Overall Campaign Performance

  • Total Leads: 140+
  • Total Spend: ~$1,600
  • Average CPL: ~$11.43
  • Revenue Generated: $5,000+ (minimum)
  • ROI: 3.1x minimum

Time Investment: Building 32 Ads

Realistic Timeline

Building all 32 ads will take 4-6 hours if you're efficient:

  • Hour 1: Create 4 offers and outline campaigns
  • Hour 2: Write 16 ad copy variations (4 per campaign)
  • Hours 3-5: Record and edit 8 videos (2 per campaign)
  • Hour 6: Build campaigns, adsets, and ads in Ads Manager

Tools to Speed Things Up

  • ChatGPT/Gemini: Generate ad copy variations (15 min)
  • CapCut: Edit videos with AI voiceover (2-3 hours)
  • Canva: Create any graphics if needed (30 min)

Common Mistakes to Avoid

1. Not Building All 32 Ads First

If you only build Campaign 1 and it flops, you have nothing else ready to test. Build everything upfront.

2. Using Photo Ads Instead of Video

Photo ads don't perform anymore. You need short-form video content that looks like social media posts.

3. Weak Offers

15% off doesn't grab attention. Use aggressive offers: 50% off, $99 specials, free add-ons.

4. Sending Traffic to Your Website

Use instant forms instead. Higher conversion rates and easier for customers.

5. Quitting Too Early

Some of my best campaigns didn't perform until week 2. Give each campaign at least 3 days and $30 spent.

6. Not Splitting Adsets

Putting all 8 ads in one adset makes data messy. Split into 2 adsets (4 ads each) for cleaner analysis.

Your Action Plan This Week

Day 1: Planning & Research

  1. Go to Facebook Ads Library and analyze competitors
  2. Create 4 different offer concepts
  3. Outline your campaign structure

Day 2: Content Creation

  1. Write 16 ad copy variations (4 per campaign)
  2. Record pressure washing footage (30 seconds per video)
  3. Write 8 video scripts (2 per campaign)

Day 3-4: Video Editing

  1. Edit 8 videos in CapCut (30-45 seconds each)
  2. Add AI voiceovers or use your own voice
  3. Add text overlays and captions

Day 5: Campaign Build

  1. Create Campaign 1 in Ads Manager
  2. Set up 2 adsets at $5/day each
  3. Upload 4 ads per adset (8 total)
  4. Repeat for Campaigns 2-4
  5. Schedule launches: Day 0, Day 3, Day 6, Day 9

Day 6: Launch

  1. Launch Campaign 1
  2. Set calendar reminders to check results on Day 3

Final Thoughts

This campaign structure isn't complicated. It just requires upfront work. Most pressure washers aren't willing to build 32 ads, which is exactly why this works so well.

Your competition is launching 1 before/after photo ad at $10/day and hoping for the best. You'll be running 32 professionally-structured ads with video content, proven offers, and strategic testing.

One client generated 140+ leads for $1,600 using this exact structure. If you follow it, there's no reason you can't do the same.

Now stop reading and start building those 32 ads. Your first lead is waiting.

Frequently asked questions

What campaign structure generated 140+ leads for $1,600 spend?

The structure used 4 campaigns with 8 ads each (32 total), staggered launch schedule, and systematic testing of copy variations with consistent creative. Campaign 1 alone generated 30 leads at $16 CPL, proving the testing methodology works.

How should I organize my ad sets for best results?

Run 4-5 ad sets at $5-10 each within one campaign. Each ad set tests different copy with same targeting and creative to isolate variables. Use clear naming: 'Ad Copy 1', 'Ad Copy 2', etc. so you know exactly what's being tested.

What's the staggered launch schedule for multiple campaigns?

Day 1: Launch Campaign 1 (8 ads). Day 3-4: Review data, launch Campaign 2. Day 6-7: Launch Campaign 3. Day 9-10: Launch Campaign 4. This prevents algorithm overwhelm and gives you comparison data before deploying all ads.

How long should I let Facebook ads run before judging performance?

Give each ad 48 hours minimum. If CPL is under $20, continue monitoring. If over $25, cut immediately. If $20-25, give it 72 hours. Professional advertisers cut losers fast and scale winners. Don't waste budget hoping underperformers improve.

What's more important: testing copy or testing images?

Test copy first with same creative across all ads. Once you find winning copy (2-3 variations), then test different images/videos. Testing too many variables simultaneously makes it impossible to know what's working. One variable at a time.

How do I scale a campaign that's generating $11-16 cost per lead?

Increase budget 20-30% weekly for winning ad sets. Create duplicate campaigns with 2x budget for top performers. Continue testing new variations in parallel so you're not dependent on one winner. LeadCatch tracks performance and recommends scaling automatically.