The best upsell campaign I have ever been part of had to be shut off because the company ran out of product. That is the BRD Pest Solutions mosquito campaign, and the numbers are public: about 30,000 existing customers texted, roughly 28,000 conversations started, 786 deals closed entirely over text, more than $650,000 in new revenue. Then a pause, because there were not enough chemicals or technicians to service what had been sold. You can read the whole thing on the case study page.
This post is not the story. It is the how-to. I ran inside sales at BRD across seven offices before I started Plaibook, and what follows is what I would tell a friend who runs a pest company and wants to do the same thing for mosquito this spring, or for termite inspections, with or without us. The example messages use made-up names.
Why text, and why existing customers
Most pest companies have a mosquito service that a small fraction of customers buy, and most of the rest don't know it exists. Email blasts about it get opened by a few and clicked by fewer. Outbound calling works but doesn't scale: five reps at 80 dials a day take months to get through 30,000 accounts, and the season is half over by then.
Text is different because it starts a conversation instead of broadcasting an offer. A customer who already pays you for quarterly service will answer a text from your company at a rate no cold list ever will. At BRD, texting about 30,000 customers started roughly 28,000 conversations. That is the whole edge: you are not generating demand from strangers, you are asking people who already trust you a question.
Who to text
Not everyone. Build the list out of FieldRoutes with three filters.
- By service. Active recurring customers who do not already have the add-on. Skip anyone who cancelled mosquito in the last two seasons; they told you no already and a text will annoy them.
- By season and geography. Mosquito pressure starts at different times in Houston and in Salt Lake. Group accounts by branch and text each branch on its own clock. A message about mosquitoes in a week of snow reads as a mass blast, which it is.
- By capacity. This is the one BRD learned the hard way. Before you text 30,000 people, know how many mosquito starts each branch can service in the next six weeks, and text in batches that match it. Selling a job you fulfill in August to a customer who wanted it in May is how an upsell turns into a cancellation.
Also filter out anyone with an open billing dispute or a service complaint in the last 30 days. They are going to reply, and not about mosquitoes.
When to send
Two to three weeks before the season starts in that market. Early enough that you can schedule the first treatment before the bites begin, late enough that the customer can picture the problem. BRD ran its campaign in July, which is late for most markets, and it still worked. Earlier works better, and it gives your techs a runway.
Send on a weekday, mid-morning to early afternoon, and not on the day your billing runs. Stagger the sends over several days per branch so the replies arrive at a pace your people, or your software, can handle. Ten thousand replies in one afternoon is a problem even if every one of them is a yes.
The opening message
Short. From a named person. One question. No link. Here is the shape that worked best for us, with the names changed:
Hi Maria, this is Jake with Ridgeline Pest. We take care of your quarterly service on Elm St. Mosquito season is a couple weeks out and we're adding yard treatments for current customers first. Want me to send over what it'd cost for your yard?
What the message does: it proves it is really you (the address, the service they already have), it says why now, it gives a reason the offer is for them (current customers first), and it asks a question that costs nothing to answer. What it does not do: it does not name a price, it does not include a link, and it does not say "limited time."
We tested tone at BRD. An aggressive version with a discount deadline got more replies and more opt-outs and made people we had known for years feel like a list. A soft version got fewer replies. The middle one above, which sounds like a rep with a schedule to fill and not a marketing department, closed the most.
Conversation shapes that close
After the first message, most conversations that end in a sale follow one of five shapes. Whoever is answering, a rep or an AI, should know all five.
Plain interest
Maria: Sure, how much? Jake: For a yard your size it's $79 a month April through October, and we'd add it to your existing account so it's one bill. First treatment could be this Thursday or next Tuesday, which is better?
Answer the price and ask for the appointment in the same message. Don't wait for permission to close. The customer asked the buying question.
Price pushback
Maria: That's more than I expected. Jake: Totally fair. Most people compare it to the $30 cans from the hardware store, and those last about two weeks. This covers the whole yard every 3 weeks all season and it's guaranteed, so if you see mosquitoes between visits we come back free. Want to try one month and see?
Don't drop the price in the first reply. Reframe what it covers and offer a smaller commitment. The trial-month offer closed a lot of these for us.
"What does it cover?"
Maria: What does it actually do? Jake: We treat the shrubs, tree lines and shady spots where mosquitoes rest during the day, every 3 weeks. Most customers see a big drop within a day or two of the first visit. It's safe for kids and pets once it dries, about 30 minutes. Do you have a specific area that's bad, like a patio or play set?
Two sentences of answer, then a question that gets them picturing their own yard. The pets line matters; if your product has a real restriction, say it plainly here, because a wrong answer about chemicals is the one thing a text campaign can't take back.
Spouse check
Maria: Let me ask my husband. Jake: Of course. I'll hold a spot Thursday afternoon for you either way, no commitment. I'll check back tomorrow if I haven't heard from you, sound ok?
Agree, give them something concrete to bring to the conversation, and get permission to follow up. Then follow up, once, the next day. A second check-in three days later is fine. A fourth is not.
Straight to scheduling
Maria: Yes please, when can you come? Jake: Thursday 4/17 between 1 and 3, or Tuesday 4/22 in the morning. Nobody needs to be home. Which one? Maria: Thursday. Jake: Done, you're on for Thursday. I added it to your account so it'll show on your regular statement. Thanks Maria!
Give two times, not an open question. Confirm in one line. The appointment goes on the right route in FieldRoutes and the customer record gets the add-on, without a rep typing anything.
Termite is a different message
Mosquito is a product. You are selling a season of treatments and the customer can picture the result. Termite is not a product at the first step. It is an inspection, and the sale, if there is one, comes after a person has been in the crawlspace. So the text is an inspection offer, and it should not try to sell the treatment.
Hi Dev, this is Priya with Ridgeline Pest. We service your home on Cedar Ct. Spring is termite swarm season here and we're doing free inspections for current customers before it starts. Takes about 30 minutes, no obligation. Want me to find a time?
Three things are different. The ask is a time, not a price. The reason is risk, not comfort, so keep it factual: swarm season, your area, free look. And the conversation ends at a booked inspection, not a booked treatment. If the customer asks what treatment costs, the honest answer is that it depends on what the inspector finds, and you can give a range if you have one. My experience is that quoting termite treatment over text books fewer inspections, not more, because the number scares people off before anyone has looked.
Timing is also different. Send termite offers four to six weeks before swarm season in your market, because inspections take longer to schedule and the treatment, when needed, takes longer to fulfill. And if a customer replies that they have already seen swarmers or mud tubes, that is not an upsell conversation anymore. Route it to a person the same day.
Replies that need a human
Whether reps or an AI are answering, some replies should stop the script and go to a named person, with the whole thread attached.
- Complaints about existing service. "Sure, but your tech skipped us last month." The mosquito offer waits until the complaint is handled, by a manager, today.
- Cancellation threats. "Actually I've been meaning to cancel." This is a save call now. It goes to whoever does saves, and the save attempt should be tracked like any other.
- Anything about health, pets, or chemical safety beyond the standard answer. A customer with a beekeeping hobby or a pregnant spouse deserves a person who knows the label.
- Pricing disputes about their current plan. If a customer replies with "why did my bill go up," the answer lives in FieldRoutes and a human should look.
- Anyone who asks for a human. Immediately, no "let me help with that first."
The handoff should be fast and visible. A Slack alert with the thread and the FieldRoutes account link, and a manager who owns the queue that day. The campaign will surface service problems you did not know about. That is a feature, if someone is there to catch them.
Compliance for existing-customer campaigns
You are texting people who have an existing business relationship with you and who gave you their mobile number as part of it. That is the right side of the line, and it is not a license to do anything. Check that your service agreement or intake actually covers text contact; most modern FieldRoutes signups do, older paper accounts may not. Honor opt-outs instantly and permanently, and make the system enforce it, because a rep will forget. Include a way to opt out in the first message if your counsel says so. Don't text before 8am or after 9pm local. Don't use the list for a third-party offer. I'm not a lawyer. The rules differ by state, and the penalties are per message, so ask one before you send 30,000 of anything.
The metrics to track
Four numbers, per branch and per week.
| Metric | How to compute it | What it tells you |
|---|---|---|
| Reply rate | Customers who replied with anything, divided by messages delivered | Whether the list and the opening message are right. Low reply rate is a targeting or tone problem, not a sales problem. |
| Conversation-to-close | Booked add-ons in FieldRoutes, divided by conversations with at least one reply | How good the conversation is. Compare across reps, or between the AI and your reps, on the same list. |
| Revenue per text | Contract value of closed add-ons, divided by opening messages sent | The number to compare against every other marketing channel. It is usually not close. |
| Opt-out rate | Stop replies divided by messages delivered | The cost of the campaign to the relationship. If this climbs, the tone is off or the list is wrong. Stop and fix it before the next batch. |
Count closes in FieldRoutes, not in the texting tool. A conversation that ends with "yes, book me" and never becomes an appointment on a route is not a sale. That gap between texting-tool closes and FieldRoutes closes is why the appointment has to be written to the FSM by the same system that had the conversation.
Doing it with reps, or with software
Everything above works with a team of reps and a shared texting inbox, at a scale of a few hundred customers a week. Past that, the threads pile up, reps lose track of who wanted a callback Tuesday, and the conversation-to-close number starts falling for reasons that have nothing to do with the offer.
BRD used Plaibook for this, which is why the numbers are public. You describe the offer, the tone and the handoff rules in plain English. Plaibook sends the opening message to the list you built from FieldRoutes, carries every reply through the five shapes above, hands the flagged ones to a person in Slack, and books the appointment on the right route. Co-pilot mode lets a manager approve every message until they trust it. The reply rate, conversation-to-close and revenue per text come out of the same system, so you don't reconcile a spreadsheet. Details are on the AI text follow-up page.
With or without us, do the capacity math first. The one thing I would change about the BRD campaign is not the messages. It is that we sold faster than we could spray, and a customer who says yes in July and gets a first treatment in September remembers the September.