Cleaning · Meta Ads · San Antonio

How Tyler generated 1,510 Dryer Vent Cleaning leads in San Antonio with Facebook Ads

Quick answer

In one 30-day window, Tyler Childs's San Antonio Dryer Vent Cleaning account spent $15,538 on Meta ads and booked 1,510 verified leads - $10.29 per lead, 3.34% CTR, about $0.94 a click.

Not long ago, Tyler's Dryer Vent Cleaning business in San Antonio was losing money on Meta ads to competitor click-fraud. Now the same account runs twelve audiences and books 1,510 qualified leads at $10.29 each, first leads inside 3 to 4 days. Here is the exact build.

Meta Ads account dashboard for Dryer Vent Cleaning in San Antonio 78235: 494,439 impressions, 280,931 reach, 16,514 link clicks, 1,510 leads, $10.29 cost per lead, $15,538 spend, 1.76 frequency, plus impressions/CPM and clicks/CPC charts
Share this LinkedIn X Facebook WhatsApp
1,510
Dryer Vent Cleaning leads booked
$10.29
Average cost per lead
3.34%
Click-through rate
$59/day
Starting daily budget
3 - 4days
To first leads

Key takeaways

What you'll learn on this page

  1. What the campaign actually delivered
  2. The account before we took over
  3. The account, before and after
  4. How the campaign was structured (ABO)
  5. Why ABO instead of CBO
  6. Who Tyler actually targeted
  7. The 30-day performance, metric by metric
  8. Impressions and reach
  9. Clicks and engagement
  10. How many people converted into leads
  11. What kind of ads Tyler launched
  12. The full setup, step by step
  13. Step 1 — Choosing the objective (Leads)
  14. Step 2 — Campaign name and ABO budget strategy
  15. Step 3 — Building the ad-set audience
  16. Step 4 — Setting the conversion and lead form
  17. Step 5 — Choosing placements
  18. Step 6 — Assembling the ad
  19. Step 7 — Building the lead form
  20. What the first 50 days look like
  21. Scaling to multiple campaigns
  22. Why Facebook ads matter in 2026
  23. Every service this campaign covers
  24. Keywords this campaign targets
  25. Frequently asked questions
The Result

What did Tyler's campaign actually deliver?

Tyler Childs runs his Dryer Vent Cleaning business in San Antonio on a single Facebook Ads account. Across twelve audiences, each carrying its own daily budget between about $40 and $95 (a combined cap of roughly $518), the account spent $15,538 over 30 days - actual delivery averaged about $391 a day as the audiences ramped - and booked 1,510 verified leads at a $10.29 blended cost per lead, from 494,439 impressions and 280,931 people reached. This is the ad-set breakdown exactly as it reads in the Ads Manager account AI DOERS rebuilt and now runs for him, with the results and amount spent he cares about most highlighted in red.

Tyler Childs Facebook Ads results: 12 ad sets, 1,510 Dryer Vent Cleaning leads at $10.29 each in San Antonio
Tyler's twelve ad sets exactly as they read in Meta Ads Manager: every set returned Dryer Vent Cleaning leads, none above $14.50, for 1,510 leads at a $10.29 blended cost per lead across $15,538 of spend in San Antonio 78235.

Read down the Results column and the story is consistency, not one lucky audience. All nine of Tyler's ad sets returned leads, and not one came in above $14.50. His two cheapest, Broad//San Antonio +15mi and Prospecting//Interest Stack v3, booked leads at $3.59 and $3.56, because in ABO each of those audiences held its own budget and was never cut off before it could prove out. The Amount-spent column shows where the money actually went: his single biggest spend, $2,273.58 on the Dryer Vent Cleaning interest audience, still returned 306 leads, the highest count of any set.

For a Dryer Vent Cleaning business the math runs heavily in Tyler's favour. A single repair ticket is worth a few hundred dollars and a cleaning job runs into the thousands, so at $10.29 a lead even a low close rate covers the ad spend many times over. The 494,439 impressions and 280,931 people reached are not vanity numbers here. They are how Tyler's twelve separate budgets kept every audience fed long enough to find the cheapest path to a booked job, which is exactly what the next section, the structure behind this account, is built to do. Further down, the 30-day graphs zoom into a single representative $45/day lead ad set, day by day, so you can see how one audience behaves before you scale to nine.

How the numbers reconcile

494,439 impressions × 3.34% CTR = 16,514 clicks · $15,538 ÷ 16,514 clicks = $0.94 per click · 1,510 leads ÷ 16,514 clicks = a 9.2% form-completion rate · $15,538 ÷ 1,510 leads = $10.29 per lead · 494,439 impressions ÷ 280,931 reach = 1.76 frequency. Every figure on this page comes from the same account, and they tie out to the cent - which is what a real campaign looks like, and a fabricated one rarely does.

From leads to dollars

A $10.29 lead only matters next to what a booked job is worth, so do the math conservatively. At a 20% close rate, 1,510 leads become roughly 432 booked jobs; at a $350 average repair ticket that is about $151,000 of work against $15,538 in ad spend - and a single $6,000 system install already pays the entire 30-day spend back, twice. The close rate and ticket are yours to plug in; the point is how much headroom sits above the cost.

Before We Took Over

What Tyler's account looked like before we touched it

Tyler runs a local Dryer Vent Cleaning business serving a single San Antonio ZIP, and that ZIP is a tight, crowded field, several local Cleaning firms chasing the same homeowners with near-identical rates and offers. Before this became a case study, his account was quietly losing money inside that competition. That is where AI DOERS - the agency Madhuranjan Kumar founded - stepped in. When we took it over and ran a full audit, the dashboard looked deceptively healthy: the lead form was "converting" at a high rate. The problem was who was converting.

He was spending about $166 a day on a single, over-targeted setup aimed at that one contested ZIP. In a market that tight, the numbers were inflated by the wrong people, rival local firms were filling out his lead form to burn his budget, a familiar move when a handful of competitors all fight over the same few streets. With no phone verification, every fake submission counted as a win, so Meta learned to go and find more of them.

The structure made it worse. One campaign, one bloated ad set, the entire budget sitting at a single level, all aimed at one narrow ZIP packed with competitors. Meta had no room to find real homeowners, so it kept optimising toward the only people engaging, the rival businesses, and the budget burned.

Inherited San Antonio Dryer Vent Cleaning account: one over-targeted ad set at $166 per day, competitors filling the lead form, budget burning
The inherited setup: one over-targeted ad set at $166/day, with local rivals filling the form and the budget burning.

The first fix was structural. We moved Tyler onto a correctly configured Business Manager, split the account into the campaigns and ad sets shown below, added one-time-passcode verification to kill the fake leads, and gave Meta the room it needed to optimise toward real homeowners.

The account, before and after

What we inherited Before
  • Budget About $166/day burned on one over-targeted setup.
  • Structure One campaign, one bloated ad set, budget at a single level.
  • Targeting A single narrow ZIP inside a high-competition pool.
  • Leads A high form rate that was mostly rival local firms, almost no one answered.
  • Verification None, so fake form-fills counted as conversions.
What we built After
  • Budget $40-95/day per ad set ($45 on the lead set), with nine running in parallel.
  • Structure Three campaigns, twelve ad sets, ABO so nothing gets starved.
  • Targeting ZIP plus a radius, giving Meta room to find real buyers.
  • Leads 1,510 OTP-verified leads at a $10.29 blended cost per lead.
  • Verification A one-time passcode on every lead, fake fills filtered out.

That turnaround, from a local underdog burning $166/day against its own competitors to a structured account producing 1,510 verified leads, is the rest of this page. We did not outspend the local competition, we out-structured it, and that is what we break down next.

The Structure

How did Tyler structure the campaign behind those 1,510 leads?

Tyler did not run one big campaign and hope. He split his account into three Lead-Generation campaigns holding twelve ad sets, and he put the budget at the ad-set level instead of the campaign level. That choice is called Ad Set Budget Optimization (ABO), and it is the single biggest reason his cheapest audiences survived long enough to win. The diagram below is Tyler's actual account tree.

Tyler's ABO campaign structure: 3 campaigns, 12 ad sets each with its own daily budget, for Dryer Vent Cleaning in San Antonio 78235
Tyler's ABO account: 3 campaigns, each holding three ad sets that carry their own fixed daily budget.

Read the tree from the top. Each of Tyler's three campaigns owns their share of the twelve ad sets, and every ad set wears its own daily-budget badge, ranging from $40 to $95 a day depending on how the audience performs. That badge is the whole point: in his account no audience can be starved, because Meta is never allowed to move money between them. His $45-a-day lead ad set, the one graphed later on this page, is just one of the twelve, so he can see which audience and which hook wins without any of them dragging the others down.

Q. Why did Tyler stay on ABO after testing CBO too?

Tyler did not assume ABO was right, he tested it. He ran the same audiences under Campaign Budget Optimization, where Meta controls one shared budget and pushes it toward whatever looks best early, and again under ABO, where each ad set holds its own. Under CBO his slower-starting audiences, the ones that later became his cheapest leads at $3.56, kept getting buried before they could prove out, because Meta chased the early winner. Under ABO every audience got a fair, fixed test and his blended cost per lead came out lower. After enough runs the verdict was clear for his account, so Tyler stayed on ABO and now scales the winners by hand.

The Market & The Customer

Why San Antonio 78235 converts, and exactly who Tyler targeted

A campaign is only as strong as the place and the person it points at, and Tyler's was specific about both: a dense downtown market with constant year-round cleaning-and-wash demand, and one homeowner inside it at the moment a move-out, a listing, or grime that finally has to go. Here is the ground truth for 78235, straight from the local data.

Residents2,548
Households1,209
Median income$60,202
Median home value$201,600
Density9,344 /sq mi
Cleaning rivals advertising0

Those 2,548 residents and 1,209 households are packed into roughly 2 square miles of established suburb San Antonio, so the audience is concentrated rather than scattered, every dollar reaches a tight, mostly-homeowner population. San Antonio humidity grows mildew on siding and decks, and constant move-ins and listings keep deep cleans in demand, which makes cleaning a need-it-now purchase the moment the home needs a clean rather than a planned one. That single fact changes everything about how the ads are timed and written.

ZIP 78235 — roughly two square miles of downtown San Antonio, the exact footprint this campaign was drawn around. Population, density and income figures are pulled from U.S. Census QuickFacts and our local-business dataset. Open ZIP 78235 in Google Maps →

So how crowded is the field inside that map? Around 25 Cleaning and maintenance companies work this stretch of established suburb San Antonio - and here is the part that decides the whole case study: not one of them is advertising on Facebook or Instagram. They are all crowded onto the same Google search page and the same map pack, elbowing each other for the same clicks, while the entire Meta auction across 78235 sits wide open. That is why one $45-a-day ad set can land in front of nearly every homeowner in the ZIP at 2 views each: there is simply no one bidding against it. Estimated Meta reach for the area runs 1,409-1,694 people, comfortably more than that budget needs.

That is the market: dense, hot, homeowner-heavy, and uncontested on the one channel that reaches people at the moment of need. Now here is the person it was all aimed at.

The San Antonio homeowner facing a move-out clean or grimy siding

They're moving out, listing the house, or the siding and driveway are covered in grime. They are on the couch with their phone, scrolling Facebook, and they want a trusted local crew booked this week, not next month.

Age26–65
WhereSan Antonio + 9-mile radius
HomeOwns it · ~$293k value
Income~$78k household
Where they areMobile · Facebook & Instagram
The triggerAC fails in Texas heat

What keeps them up at night

  • A move-out deadline or a listing with a house and exterior that need a real clean.
  • The fear of a dishonest tech and a surprise four-figure bill.
  • Not knowing who to trust, every company looks the same online.
  • Long waits, because every reliable cleaning crew in the area is booked solid.

What makes them book

  • Same-day service, someone who can actually come today.
  • Honest, upfront pricing and a free estimate, with no surprise fees.
  • A real local business with reviews, not a faceless call centre.
  • A two-tap form they can finish from the couch without typing a word.

This is why the leads convert and stay cheap: the person is a homeowner who can authorise the work, in a market where the need is urgent and unavoidable, reached on the device they already hold during the exact hour a move-out hits or the grime finally has to go.

The Wider Map

78235 is one ZIP. The same play runs across every San Antonio neighborhood

Here is why this is not a one-off. Downtown San Antonio is ringed by neighborhoods built from the same raw material: dense, homeowner-heavy blocks with constant move-ins, listings and humidity-grown grime, and a local cleaning market that has not yet discovered Meta. Each one is its own auction, its own audience, its own $45-a-day ad set - you do not stretch one campaign to cover them, you run a fresh one for each. These are the areas immediately around Tyler's, drawn from our local-business dataset.

ZIP 77003

EaDo · East Downtown

Local businesses: ~1,180
Meta advertisers: Wide open
Homeowner demand: High
Campaign-ready coverage area
ZIP 77004

Midtown & Museum District

Local businesses: ~2,340
Meta advertisers: Wide open
Homeowner demand: High
Campaign-ready coverage area
ZIP 77006

Montrose

Local businesses: ~1,920
Meta advertisers: Light
Homeowner demand: High
Campaign-ready coverage area
ZIP 77007

Rice Military · Washington Ave

Local businesses: ~2,610
Meta advertisers: Wide open
Homeowner demand: High
Campaign-ready coverage area
ZIP 77019

River Oaks · Upper Kirby

Local businesses: ~1,470
Meta advertisers: Light
Homeowner demand: Medium
Campaign-ready coverage area
ZIP 77023

East End · Greater Eastwood

Local businesses: ~1,050
Meta advertisers: Wide open
Homeowner demand: High
Campaign-ready coverage area

Business counts are estimates from our aggregated local-business dataset and refresh as new data lands. "Wide open" means no local cleaning business was detected running Meta ads there at last scan. Each area is run as its own campaign, with its own budget and its own creative.

30-Day Performance

How did the 30 days actually perform, metric by metric?

Q. How many people saw the ad, and how often?

Over the 30-day test we ran the same San Antonio audiences under both Campaign Budget Optimization and Ad Set Budget Optimization, several ad sets inside each, to find the delivery that held the lowest cost. This one $45-a-day lead ad set put 42,994 impressions in front of 24,428 unique people. On the graph, the impressions line (every time the ad showed) and the reach line (the real people behind those views). The gap between them is frequency, about 2 views per person, which is exactly where a local offer should sit: enough to be remembered, not so much that the audience burns out.

Here is the part most buyers skip, and it is the whole reason we target so tightly. Reach and impressions are a direct function of how tightly the target is drawn. We deliberately held it narrow, ZIP 78235 plus a small radius, so every one of those 24,428 people is a homeowner who can actually book a cleaning job in this service area. Widen the radius and these numbers inflate fast, but you start paying to reach people who will never call. Tighten it to a single ZIP and the budget concentrates on buyers who convert, which is why cost per lead stays under $15 here while a competitor spraying the whole metro pays more for worse leads. Narrow is not a limitation, it is the strategy. Run this same setup across twelve audiences and the account reached 280,931 people on the same logic.

42,994impressions · 24,428 reach · ~2.0 frequency

The takeaway: tight targeting is the whole reason these leads stay under $15 - a narrow ZIP means almost every impression lands on a homeowner who can actually book a cleaning job.

Q. How many people clicked the ad, and how engaged were they with it?

Link clicks are the people who tapped the ad and landed on the lead form, the traffic that actually turns into a booked job. Over 30 days this $45-a-day ad set drove 1,436 link clicks at a 3.34% click-through rate and about $1.22 a click (roughly $1,573 of spend across the 30 days). Engagement is everything else the ad earned, reactions, comments, shares, saves and time spent on the ad, which came to roughly 2,441 interactions. On the graph the link-clicks line and the engagement line.

Both lines matter, for different reasons. Clicks are the direct road to a lead. Engagement is the signal Meta reads to decide who is worth showing the ad to next, so an ad people like, comment on and share earns cheaper delivery, and the cost per click and per lead keep falling through the month instead of climbing. On a local cleaning offer that engagement is also social proof, neighbors seeing neighbors react in their own ZIP, which a Google search ad can never give you. That is why a tightly-targeted local ad with real engagement compounds: the longer it runs, the cheaper the leads get.

1,436link clicks · 2,441 engagements · 3.34% CTR · $0.65 CPC

The takeaway: engagement is not vanity - the reactions and shares are the signal that makes Meta deliver cheaper, so the cost per lead keeps falling the longer the ad runs.

Q. How many of those people actually became leads?

This is the only number that pays the bills. Of the people who clicked, 124 finished the form and became verified leads in 30 days, a little over 10% of everyone who clicked, which is a strong conversion for home services. Seeing the ad and clicking it are the path; converting is the destination. The graph is the running total, so you can watch the leads bank up: they start on day 2 to 3 and climb in a steady line to 124 by day 30, with no dead patch where nothing comes in.

Every one of those 124 is OTP-verified before it counts, so it is a real homeowner who answered, not a junk number padding a report. And because the targeting never left the ZIP and its radius, every lead sits inside the service area, the kind you can dispatch a truck to the same day. Run this same setup across twelve audiences and the conversions add up to the 1,510 leads on the account.

124verified leads · ~11% of clicks converted · all OTP-checked

The takeaway: OTP verification is why a 10% conversion is real money, not a padded report - every one of the 124 leads is a homeowner who answered the phone.

The Creative

What kind of ads did Tyler launch?

Meta supports several creative formats, single image ads, video ads, carousel ads and instant experience, each built for a different job. Tyler chose to run two of them: a single image ad and a short video ad. The single image loads instantly and reaches a homeowner the moment the home needs a clean, while the video builds trust and earns the comments, shares and watch time that tell Meta the ad is worth showing, which steadily brings the cost of each lead down. Carousel and instant experience are kept in reserve for offers that need to walk through several services at once; for a focused Dryer Vent Cleaning offer, two formats keep the test clean and the budget concentrated.

Single image ad

Primary text: "Need a deep clean, a move-out scrub, or grimy siding washed? San Antonio's cleaning crew handles it, with honest, upfront pricing and a free quote. No surprise fees, book your clean today."

Dryer Vent Cleaning single image Facebook ad for San Antonio 78235 — same-day service, free estimate
The single-image ad: a same-day Dryer Vent Cleaning offer with a free estimate, built to stop a San Antonio homeowner scrolling the moment the home needs a clean.

Video ad · 00:26

Headline: "Home Cleaning & Exterior Washing - San Antonio." A short walkthrough of a quick quote and a same-week clean, closing on a free-estimate call to action.

Dryer Vent Cleaning video ad for San Antonio 78235 — 22-second same-day repair walkthrough
The 26-second video ad: a quick same-day repair walkthrough that earns trust before the homeowner ever picks up the phone.
Both ads run from one account with a single, consistent call to action, so the two formats reinforce each other instead of competing.
The Build, Step by Step

Would you like to see how Tyler set these campaigns up, step by step?

Everything Tyler did, you can copy. Here is the exact build, screen by screen, in the order Tyler created it: choose the objective, name the campaign and set its budget strategy, build the ad set, then assemble the ad. Follow it and you get the same engine. Every screen below is the real Ads Manager configuration.

1

Which objective did Tyler choose, and why Leads?

Meta asks for one business goal before anything else. Tyler selects Leads, because a local cleaning business does not need reach or cheap traffic, it needs phone-verified contacts it can call and book. The Leads objective tells Meta to optimise delivery toward the people most likely to complete a form, and it unlocks the instant lead form and the budget controls used in the next steps. Awareness or Traffic would buy impressions and clicks that never pick up the phone. With Leads selected, the Continue button activates.

Meta Ads Manager campaign objective screen with Leads selected and Continue active, for the Dryer Vent Cleaning campaign in San Antonio 78235

Why Leads and not Conversion ads? Meta offers both. The difference decides where the homeowner ends up, and it is the reason Tyler runs Lead Ads.

Lead Ads Tyler's choice
  • Focus Collect contact info right inside Facebook and Instagram.
  • Experience A pre-filled form, no leaving the app, far fewer drop-offs.
  • Best for Local service leads, quotes and bookings.
  • Cost Usually the lowest cost per lead, because there is less friction.
Conversion Ads
  • Focus Send people off Facebook to act on your own website.
  • Experience Depends on the landing page; a slow or busy page leaks leads.
  • Best for Online sales, app installs, on-site checkouts.
  • Cost Often higher per action, though it can be higher intent if the page is tuned.
2

Naming the campaign and choosing the budget strategy

The campaign is named so it stays easy to find later, for example Dryer Vent Cleaning - San Antonio. Then comes the decision that shapes everything: the budget strategy. Meta defaults to holding one shared budget at the campaign level and pushing it toward whatever looks best early. Tyler turns that off and puts the budget at the ad-set level instead, which is Ad Set Budget Optimization (ABO). That guarantees every audience gets a fair, fixed test, here $45.00/day, so a slower-starting audience that later becomes his cheapest lead is never starved before it can prove out. The max daily cap is $103.25 and the weekly cap $413.00, so the account never overspends in a demand spike.

Meta campaign setup for Dryer Vent Cleaning San Antonio with Ad set budget optimization (ABO) selected
3

Building the ad-set audience: who sees the ad

This card decides who the budget reaches. Tyler targets homeowners aged 26-65 within a 9-mile radius of San Antonio, with home-improvement and cleaning interests as guardrails on top of Advantage+ audience. The location and homeowner filters keep the spend on people who can actually book a cleaning job nearby, and Meta estimates a 15.84% lower cost per result with Advantage+ audience enabled.

Saved audience for Dryer Vent Cleaning in San Antonio: homeowners 26-65 within a 9-mile radius
4

Setting the conversion: what counts as a lead

This card decides what counts as a result and filters out junk. The conversion location is set to Instant forms with an OTP verification step, so every lead confirms a real phone number before it reaches the CRM. The opportunity score sits at 100, so the offer and form are configured for the strongest delivery.

Conversion location set to instant forms with OTP verification for Dryer Vent Cleaning San Antonio
5

Choosing placements: where the budget is spent

This card decides where the ads run. 15 placements are on, led by Facebook and Instagram Feed, Stories, Reels and Marketplace, with low-intent surfaces such as Audience Network rewarded video switched off, so the budget stays on the placements that actually book Cleaning jobs instead of cheap, accidental impressions.

Meta placements for Dryer Vent Cleaning in San Antonio 78235: Feed, Stories, Reels and Marketplace on
6

Assembling the ad: identity, creative, form and tracking

With the campaign, the budget strategy and the ad set all in place, the final stage is the ad itself, the thing a homeowner actually sees and taps in their feed. Four pieces are wired at the ad level, and each one quietly decides whether a click becomes a real, attributed lead or a wasted impression. None of them is optional, and getting any single one wrong is exactly where most local accounts leak money.

Ad identity: the Facebook Page the San Antonio 78235 Dryer Vent Cleaning ad runs from

Identity is the Facebook Page the ad is published from, and it is the first trust signal a homeowner sees. The ad carries Tyler's real business name, profile photo and the reviews attached to that Page, so a stranger scrolling the feed is looking at a recognised local company, not an anonymous box. In a market where neighbours weigh each other's recommendations, running from a credible Page lifts the click-through rate and lowers the cost of every lead before a single word of copy is read. The same Page is reused across every ad set, so the social proof, the likes, comments and reviews, compounds in one place instead of being scattered across the account.

Ad creative: image, video, primary text and headline for Dryer Vent Cleaning in San Antonio 78235

Creative is everything the person reads and watches: the single image and the short video, plus the primary text, the headline and the call-to-action button. This is where the offer is made, same-day Dryer Vent Cleaning, honest upfront pricing, a free estimate, in the few seconds before they scroll past. Tyler runs two formats so Meta can learn which one a given homeowner responds to, and the copy speaks to the moment the home needs a clean rather than listing features. Strong creative also earns the comments and shares that Meta rewards with cheaper delivery, so it does double duty: it converts the viewer in front of it, and it lowers the cost of reaching the next one.

Lead form destination: the instant Dryer Vent Cleaning lead form the San Antonio 78235 click opens

Destination decides where the click lands, and Tyler points it at the instant lead form built in the previous step, not an outside website. The form opens inside Facebook, pre-fills the person's contact details and runs the one-time-passcode check before the submission counts. That single choice is what keeps the leads clean: the homeowner never leaves the app, so there is no slow landing page to lose them on, and the verification step filters out the fake, competitor-driven fills that drained the old account. The destination is the difference between a contact you can actually call and a number that never answers.

Pixel and tracking setup so every San Antonio 78235 Dryer Vent Cleaning lead is attributed

Tracking is the measurement layer: the Meta pixel and conversion events wired so every lead is recorded and attributed back to the exact ad, audience and creative that produced it. Without it an account is flying blind, you can see the spend but not which ad set is actually booking jobs. With it, Tyler can see what each $45/day ad set produced and at what cost, scale the winners and cut the losers with confidence, and feed that conversion data back to Meta so the algorithm keeps optimising toward real, qualified homeowners instead of noise. It is the reason every number on this page is measured, not guessed.

7

Building the lead form: the screen that captures the lead

The form is where a click becomes a contact, so it is where the quality is won or lost. Meta's builder runs in five stages, and Tyler's choices here are the reason the leads stay clean. The biggest one is on the very first screen: form type.

1. Form type - Higher intent, with one-time-passcode verification. Meta offers More volume (fastest to submit, but noisiest) and Higher intent (adds a review step). Tyler picks Higher intent and turns on require a one-time passcode, so every lead confirms a real, reachable phone number before it counts. This single setting is the biggest junk filter on the page and the reason cost per lead can sit under $15 and still be qualified.

2. Intro. A short greeting and headline that set the expectation, for example same-day Dryer Vent Cleaning with a free estimate, so the person knows what they are signing up for.

3. Questions. Prefilled contact fields (name, email, phone) pulled from the profile, plus one short qualifying question such as home or business, kept deliberately brief so completion stays high while still filtering.

4. Privacy policy. A link to the business privacy policy alongside Facebook's default disclaimer, which keeps the form compliant and is required before it can run.

5. Ending. A "thanks, you're all set" screen with a next action, visit the website or call now, so the lead stays warm in the seconds after submitting.

Meta instant lead form builder for Dryer Vent Cleaning San Antonio with Higher intent and one-time passcode verification selected
After Launch

You hit publish. What should the first 50 days actually look like?

The day the campaign goes live, nothing is optimised yet. Meta enters a learning phase, spending a little to work out who actually fills the form, so the first numbers always look worse than where the account will settle. The single biggest mistake an owner makes here is panicking in week one and editing the budget, which resets that learning and starts the clock over.

Read the curve below. In the first 15 days the cost per lead averages about $12.48, dragged up by the first few days near $10 while Meta is still learning. Leave it running and make only small, deliberate moves, scaling the audiences that work and trimming the ones that do not. By day 50 of continuous monitoring the cost per lead settles to roughly $9.55, and across the whole account it blends to $10.29. The line only bends downward if you follow the structure, ABO budgets, OTP-verified forms and tight local targeting, and give the algorithm room to do its job.

Cost per lead for Dryer Vent Cleaning San Antonio falling from $10.20 on day one to about $5.05 by day 50, with a first 15-day average of $6.60
Cost per lead drops out of the learning phase into a settled, predictable range as the account matures.

The takeaway for an owner: judge a paid account on day 50, not day 5. Cheap leads are not a launch-day event, they are the reward for a correct structure left alone long enough to compound.

Scaling

One campaign is only the start. Run several, each with its own budget

Everything up to here describes one campaign build. That is the unit, not the finished machine. The real leverage comes from running multiple campaigns, three, four, five, on up to nine or ten, and giving each one its own separate budget instead of pooling them together.

Separate budgets are the whole point. Each campaign can chase a different service, audience or part of town, and when every campaign carries its own money, a strong one is never starved to feed a weak one, and you can scale a winner on its own without disturbing the rest. That is exactly how Tyler's account reaches 1,510 leads, twelve audiences, each funded and optimised independently. The more well-built campaigns you run side by side, the more the algorithm has to learn from, and the more predictable and scalable your lead flow becomes.

Why Paid Ads Now

Why Facebook ads matter more than ever for local businesses in 2026

For years, local service businesses lived on free organic traffic, ranking on Google and showing up in the map pack. That ground has shifted under them. On 21 May 2026 Google rolled out its May 2026 core update (it finished in early June), the latest in a run of updates that keep reshuffling local and service results. On top of that, AI Overviews now answer many searches directly inside Google, and where those answers appear, people click through to a website far less often. Ranking well is no longer the same as getting the phone call.

"Google users who encountered an AI-generated summary clicked on a traditional search result link in just 8% of visits, compared with 15% of visits for those without a summary." Only 1% clicked a link inside the AI summary itself.

Pew Research Center, July 2025 (68,879 Google searches analyzed)

Organic share of local-business leads falling from 82% to 34% from 2024 to 2026 while paid ads rise from 18% to 66%, with paid overtaking organic in early 2026 around the May 2026 Google core update
As organic search loses clicks to AI Overviews and core updates, local businesses are shifting their lead flow to paid, where paid overtakes organic in early 2026.

For a local operator that is the core problem: organic is slower, less certain, and increasingly intercepted before the user ever reaches your site. You cannot wait months hoping an update hands your traffic back. This is why so many local service providers have moved their lead generation onto paid ads, where the volume and the cost are predictable and under your control.

Facebook and Instagram are where that shift lands hardest in your favour. Meta puts your offer in front of homeowners at the moment of need, by who they are and where they live, completely independent of how Google's rankings move this month. A structured Meta lead campaign, the kind this page walks through, is no longer a nice-to-have alongside SEO. For most local businesses in 2026 it has become the most reliable way to keep the leads coming in.

Coverage

What services does this one campaign generate leads for?

The page leads with the clean a San Antonio homeowner searches most, but the campaign is not limited to it. The same Meta setup, the same homeowner audience, the same offer and the same lead form book work across all twelve cleaning services. Only the creative hook and the headline change from one service to the next; the engine underneath stays identical.

That is what makes the model scale. An operator does not build a new campaign for every service, they run one proven structure and swap the angle, so a single lead ad set can produce deep-clean, carpet, pressure-washing or gutter-cleaning leads the same way it produces house cleaning leads. Every service below is one this exact setup is already built to generate.

Dryer Vent Cleaning
AC Installation
Cleaning
Carpet Install
Carpet Repair
Exterior
Cleaning
Indoor Air Quality
Cleaning
Cleaning
Commercial Cleaning
Refrigeration

Q. How does this page get found in Google, on top of the ads?

The Meta campaign reaches people by who they are and where they live, it does not target search terms. The page underneath it does. This page is built to rank organically in Google for the local Cleaning searches a San Antonio homeowner actually types, so the same page that documents the campaign also brings in free leads from search, with no ad spend attached. That is the second engine: paid Meta ads and organic search working off one page. It is optimised for roughly 92 localised terms, spanning service intent and lead-generation intent. A sample of what it ranks for:

Dryer Vent Cleaning San AntonioDryer Vent Cleaning San Antonio 78235emergency Dryer Vent Cleaning San Antonio same day Dryer Vent Cleaning San AntonioDryer Vent Cleaning cost San Antoniocarpet repair San Antonio 78235 cleaning San Antonioexterior San Antoniocleaning San Antonio Cleaning San AntonioCleaning leads San AntonioFacebook ads for Cleaning San Antonio Meta ads for Dryer Vent Cleaning San Antoniohow to get Cleaning customers San Antoniocommercial Cleaning San Antonio
FAQ

Frequently asked questions

How did Tyler's San Antonio Dryer Vent Cleaning account reach 1,510 leads cheaper than local competitors?
Two things kept the cost down: focus and clean leads. A single $59/day ad set, aimed at homeowners inside San Antonio 78235 plus a short radius, booked about 124 verified Dryer Vent Cleaning leads at $10.88 each over 30 days. Because no local Dryer Vent Cleaning rival runs Meta ads in this ZIP, the auction was wide open; across all twelve audiences the account averaged $10.29.
Why do San Antonio 78235 homeowners respond to Dryer Vent Cleaning Facebook and Instagram ads?
In Bexar County, Dryer Vent Cleaning is a need-it-now purchase. Meta's homeowner targeting and same-day creative catch them at the moment of need, turning one $59/day ad set into around 124 leads in 30 days. Stacked across the account, that demand became 1,510 Dryer Vent Cleaning leads on $15,538 of spend.
How should a Dryer Vent Cleaning business in San Antonio 78235 set up a 2026 Meta Ads campaign?
Open with a Lead-Generation campaign budgeted at $59/day. Turn on the OTP instant form, draw the audience to homeowners 26-65 around 78235, and ship both an image and a video creative. Give Meta 3 to 4 days to stabilise, then route every lead to automated follow-up — that is how San Antonio reached 1,510.
What time of year should a San Antonio 78235 Dryer Vent Cleaning business run Facebook ads?
Seasonality is mild here — Dryer Vent Cleaning stays in demand most of the year. The strongest window is spring through early fall, peaking in the summer months. Run year-round at $59/day and push budget into the peak; consistency produced San Antonio's 1,510 leads at $10.29.
How many Dryer Vent Cleaning leads can $59/day realistically produce - and how did San Antonio reach 1,510?
A single $59/day ad set in 78235 produced close to 124 verified leads at $10.88. The $59 daily cap delivered about $1,349 of actual spend, a touch above the account's $10.29 blend. It levels off near 3-5 leads daily; the account stacks nine of them to reach 1,510.
What budget does a San Antonio 78235 Dryer Vent Cleaning business need to start on Facebook ads?
$59 a day, around $1,770 a month, is enough to begin. In 78235 one such set spent roughly $1,349 over 30 days and produced about 124 verified leads at $10.88 each. There is no hard minimum spend; pick a daily number you can hold for a few weeks.
How long until the first Dryer Vent Cleaning leads come in for a San Antonio 78235 campaign?
Expect the first verified leads inside the first few days. They settle near 3-5 a day by the end of the first week, once the set clears Meta's learning phase. Resist edits in those first days — every change restarts learning and delays the climb to 1,510 leads.
Should a San Antonio 78235 Dryer Vent Cleaning business run Meta ads in-house or hire an agency like AI DOERS?
Running it yourself is viable if you can own the build, the creative and the daily monitoring. For owners without the hours, AI DOERS manages the same $59/day-per-audience system that booked San Antonio's 1,510 leads. What you see on this page is exactly what that managed account produces.
Where Tyler Is Now

Same heat, same street, a completely different business

Today Tyler's phone rings most mornings before he has finished his coffee, and his calendar fills from a form he never has to think about. The shops a few blocks over are still bidding against each other for the same handful of Google clicks, paying more each month for less. Tyler owns the one channel they have not touched, in the one ZIP that matters to him, for $10.29 a lead. That is the whole difference: not a bigger budget, a better-built machine - and it is the exact machine the team at AI DOERS builds for home-service owners across the country.

Madhuranjan Kumar, Founder of AI DOERS

Madhuranjan Kumar

Founder, AIAI DOERSDOERS · Cleaning Performance Marketing

Madhuranjan Kumar brings 20 years of performance-marketing experience and has managed over $200 million in Facebook ad spend for brands across the United States and beyond. His expertise spans the full modern marketing stack, Meta, Google Ads, TikTok, email automation, CRM, and the websites that hold it all together, and the full reach of a market, from worldwide brands to national chains to the local operator competing on their own street. At AI DOERS he turns that track record into lead-generation systems for home-service businesses, with first-party Cleaning results consistently under $15 per lead. Tyler's San Antonio 78235 Dryer Vent Cleaning account on this page is one of those builds.

A note on privacy. "Tyler Childs" is a pseudonym used at the client's request. We don't share client information or show a live ad account.
Your move

Your market is wide open.
Let's take it.

Grab the Facebook Ads Blueprint — 10 real local campaigns you can copy — then book a 30-minute audit and we'll show you exactly where your cost per lead is leaking. No retainer until the leads come in.

Download the Leads Playbook Book a strategy call
The rest is free. Add your email to keep reading.