Not a promise, a playbook. Here's exactly how a roofing company runs Facebook ads with RingSteady — and the part most people skip: giving it time to optimize.
A roofing company gives us $233 a day. We build and run Facebook ads to their zip code. Every homeowner who's interested — a replacement, a repair, a free inspection — fills in their name and number, and that lead lands on the roofer's phone as a text, the moment it happens.
Then the roofer does the one thing no software can do: calls them back fast and books a time and date. That's the whole machine. Ads bring the people; the roofer puts them on the calendar.
Here's what every roofer should know before the first dollar is spent: Meta needs time to figure out who to show your ads to. When a campaign launches, it enters what Meta calls the learning phase. The system is testing different people, placements, and times to find who actually books.
While it's learning, your cost per lead swings around — sometimes up, sometimes down. That's normal. It is not a sign the ads are broken.
Meta explores. Leads are inconsistent. Don't touch it — every pause or big edit resets the clock. We watch it so you don't have to.
Once the campaign hits roughly 50 conversions, Meta locks in what's working. Cost per lead steadies and starts to drop.
We swap the weaker creative, push budget to the winning audience, and the cost per booked estimate keeps coming down.
Now it's repeatable. We raise spend when your close rate proves it's worth it.
The number is real math, not magic — and it's honest about what it depends on. Here's the breakdown at $233/day, assuming the roofer answers fast and books the estimate:
At the low end of every one of those numbers, that's a couple roofs a month. At the realistic middle, it's 3–5 roofs — and at the top end, roughly $66,000 in booked jobs from a single month's ~$7,000 spend.
These aren't tire-kickers filling out a form for a brochure. The ad asks people to pick a service and a time — a replacement quote, a repair, a free inspection. So when the lead texts in, it already looks like an appointment:
New lead: "Mike — (555) 201-8834. Needs a quote on a full re-roof. Available Thursday after 4pm."
The roofer (or the office) replies in minutes: "Thursday 4:30 works — see you then." Booked. The whole job is turning that text into a time and a date on the calendar.
A lead called back in 5 minutes is dramatically more likely to book than one called back in 5 hours. That's why every lead is texted to your phone the second it lands — no dashboard to check, no email to miss.
Tell us your trade and we'll show you exactly what $233/day looks like in your zip code — and the timeline to the first booked estimates.
Start with your zip code →Or call (360) 732-1354