Built an auto-quote system for FB lead ads that quotes, texts, emails, and tags every lead in seconds, and keeps working the ones who don’t book. Here’s how it works.
Been running Facebook lead ads for pet waste removal and kept losing leads to the oldest problem in the business: the lead comes in at 9pm, I see it at 7am, and they’ve already booked someone else. So I built a system that handles the whole front end automatically, and it’s honestly one of the cooler things I’ve put together. Here’s what happens from the moment someone submits the form.
1. The lead form fires an instant trigger.
The moment someone submits, the system pulls the full lead details straight from Meta. No polling, no waiting for a CSV.
2. It builds the quote on the spot.
The form asks for number of dogs and service frequency. From that, it calculates the price using a grid: base rate by plan, plus a per-dog add-on that changes depending on frequency. It also works out the version with my optional haul-away add-on. The form data comes in messy (frequency options arrive as text strings, dog counts as text), so there’s a layer that normalizes all of it before any math happens.
3. It texts the quote and emails it, from my business line.
The customer gets a text with their exact price and the add-on option, plus an email with the same quote. Before any text goes out, it checks that the number is a valid US number in the right format, because sending to a bad number just burns money and hurts your sender reputation. Every text includes the opt-out line, since you’re running real texting compliance whether you like it or not.
4. It logs them in my custom software.
The lead is created or updated in my CRM with a pile of tags: lead source, the price quoted, dog count, frequency, zip, which ad they came from, and the Facebook lead ID. That means I can see later which ad produced which customer at which price.
5. It reports the real outcome back to Meta.
When someone becomes a paying customer, that gets sent back to Meta as an actual conversion event. This is what makes the ad algorithm find more people like my real customers, not just people who fill out forms.
6. Then I built the reply handler, which is where it gets fun.
The quote text says “Reply YES to get started, or YES TAKEAWAY to include the haul-away add-on.” A second automation listens to my phone line for incoming texts. It only acts when:
- the message is an incoming text that starts with YES (not “yesterday,” not “yes I’m still waiting on my other quote,” that kind of thing)
- the sender matches a lead I actually quoted
- they haven’t already accepted
If all of that checks out, it tags them as accepted, tags the add-on if they asked for it, texts back asking for their service address and preferred start day, and emails me everything: name, phone, what they said, their tags, and the price I quoted. All of that happens in a couple of seconds.
7. And if they don’t book? They don’t disappear.
Most leads don’t say yes to the first text. That’s normal, and it’s where most people drop the ball. Anyone who doesn’t book gets entered into a year-long drip sequence in my custom software, so they keep hearing from me over time instead of getting one text and a shrug. People’s situations change. A lead who wasn’t ready in October might be sick of the yard in April, and when that happens I’m already in their phone and inbox instead of starting from zero. THIS is the machine that builds customers exponentially!
What took the longest:
Honestly, the edge cases. Phone formats, duplicate replies, existing customers texting “yes” about something unrelated, ads and forms changing, name parsing for people with weird or multi-part names, error handling so one failed step doesn’t kill the whole run, and keeping the quote logic in one place so I can change pricing without rebuilding anything. And once you add a long-running sequence, you have to make sure the right people are in it, the wrong people are out of it, and nobody who already booked gets a “still looking for service?” text. The happy path took an evening. Making it not embarrass me took a lot longer.
The result is that a lead goes from “clicked an ad” to “has a price in their hand and a one-word way to book” before I’ve even seen the notification. If they book, I get an email. If they don’t, they stay in the pipeline for a year.
Not going to name every tool or hand out the full setup, but I’m happy to answer general questions in the comments. If you want something like this built for your pet waste business and don’t want to spend weeks debugging it, DM me and we can talk about it.