Your dormant list is mostly unfinished, not dead. Here is how to reactivate it in throttled waves without burning your number or your sending domain.
Somewhere in your system there are a few thousand records nobody has touched in over a year. Old inquiries that never booked. Customers who came once and never came back. Leads from a campaign that ran before your current setup existed. Quote requests that went quiet. The standing assumption about all of them is that they are dead, which is a convenient belief, because it means nobody has to do anything about them. Meanwhile the business keeps buying fresh clicks at full price.
Most of that list is not dead. It is unfinished. The overwhelming majority of those people never said no. They said nothing, which is a very different thing. They got busy, the timing was wrong, they used someone else for that one job, or they simply forgot. The reason the list looks dead is that the last thing you sent was a marketing email asking them to buy, from a sender they did not recognize, to an address they do not read. Nothing in that message invited a reply, so no reply came, and the silence got filed as proof of death.
These contacts have already been paid for. The ad spend, the referral effort, the hour someone spent on the phone with them two years ago. That acquisition cost is sunk and irrecoverable. The marginal cost of one more conversation is close to nothing. That is the entire economic argument, and it is a strong one, because almost no other channel in your business starts from a cost base of zero.
Worth knowing before you get excited: the value is not evenly distributed. Past customers who bought once and went quiet behave completely differently from inquiries that never converted, and a six-month-old lapsed customer behaves differently from a two-year-old one. Reply rates between these groups commonly differ by several multiples. If you merge them into one list and send one message, you learn nothing about which part of the asset is actually valuable, and you waste the warmest records on copy written for the coldest.
The one time most businesses do touch the old list, they blast all four thousand records in a single afternoon. What happens next is predictable and expensive:
A recoverable asset becomes a permanently poisoned one, and the business concludes the list was worthless after all. The fix is the opposite of a blast: small throttled waves, one human question at a time, every reply routed, and a compliance floor that is not negotiable.
A reactivation campaign built properly has these properties.
Notice how much of that is restraint rather than reach. The throttling is not timidity; it is what keeps the asset usable for the next wave.
The complete specification (every field, segment definition, workflow and circuit-breaker threshold) is in the Database Reactivation Campaign build guide. Work through it in this order.
This is the gate for the whole project. For every record you intend to message, you need to know on what basis you may contact them, when that basis was established, and where it came from. If you cannot answer those three questions for a record, it does not go in the wave. A large list with no consent provenance is not an asset, it is a liability, and no amount of clever copy or careful throttling makes it safe. Where the basis is weak but the email address is good, use the email track and a short re-opt-in page to rebuild consent properly instead of assuming it.
Your segments are built on a single field: when this contact was last active. If that field is wrong, you will message active customers as though they had vanished, which is the most embarrassing failure available here. Deduplicate, validate number formats, and run a number lookup across the list to identify landlines and disconnected numbers before they cost you deliverability.
Exclude, with a written reason on the record, anyone who has: no consent basis or no consent timestamp, an opt-out or do-not-contact flag, a non-cell number for the text track, a hard email bounce, an open dispute or unresolved complaint, a future recontact date, any activity in the last ninety days, an open opportunity anywhere in any pipeline, or a duplicate already in the wave. That last-ninety-days rule matters more than it looks, treating a live contact as dormant reads as carelessness to the one person who was already paying attention.
Build unconverted inquiries from the last year, unconverted inquiries from one to two years back, past customers quiet for six to eighteen months, past customers quiet for longer, and abandoned or partial bookings. Run the abandoned bookings first as your pilot. They are small and very warm. Then the past customers, who are the highest-value group because the barrier to a second purchase is near zero.
The message goes out from a named real person at the business, contains no offer, no link, no emoji, no capitals and no price, and asks exactly one question: about them, not about buying. Something in the shape of "you came to us for that job a while back, did you get it sorted in the end?" works because it is answerable in two words and genuinely curious. Links in a first touch depress deliverability and raise complaint rates, so earn the link with a reply. Where you have a record of what they previously bought, reference it. Where you do not, send the general variant and never fabricate a history.
Divide each wave into daily batches at or below a strict send cap, and sort the batches so the warmest records go first. A bad first batch tells you the copy is wrong while it is still cheap to fix. Start at a few dozen messages a day per number for the first three days, and step up only if delivery and opt-out rates stay healthy. Keep sends inside a narrow window, weekday mornings and afternoons only. A reactivation message on a Sunday evening reads exactly like spam, because it is behaving exactly like spam.
A batch can produce a dozen replies in twenty minutes, which no human can triage live. BO, the AI assistant, reads each reply and classifies it into one of five buckets (interested, not now, negative, wrong person, or unclear) then handles the straightforward paths and hands the rest to a person. Interested replies get a short acknowledgement, one clarifying question, and two concrete times. Negative replies get one graceful line and permanent suppression, with no rebuttal and no counter-offer. Anything ambiguous goes to unclear and straight to a human, because a misread "no" treated as a "yes" is the worst outcome available. Build a dead-thread guard too: any inbound message unanswered for fifteen minutes escalates regardless of classification.
The not-now path is quietly the highest-yield part of the build. When someone says "maybe after the summer", ask one question to pin down a month, write that date to the record, confirm you will check back then, and send absolutely nothing until it arrives. A dated deferral is a real pipeline entry and converts far better than a cold re-approach six months later. Allow a record round that loop at most twice; on a third "not now", stop asking.
Compute delivery rate, reply rate, opt-out rate, negative share and complaint count hourly during an active wave, and pause the whole wave automatically if any of them breaches a threshold you set in advance. A paused wave requires a human to review the copy, the segment and the consent basis before it resumes, not a restart. This workflow is why the campaign is safe to run at all: without it, a bad segment keeps sending for three days before anyone notices, and by then both the number and the domain are damaged.
A number whose first ever traffic is a reactivation wave is the worst possible start. Use an established number with sending history, or warm a new one on transactional messaging for a couple of weeks first. Complete your A2P 10DLC brand and campaign registration before anything sends, register the campaign honestly as what it actually is, and submit sample messages that match the real copy. A mismatched registration gets throttled mid-wave.
Authenticate the sending domain with SPF, DKIM and DMARC, and seriously consider a subdomain for campaign mail so a problem cannot contaminate your appointment and confirmation email. Warm the volume over several days rather than opening at full rate.
Do not. It is a different activity with a different legal character, and it will destroy the sending assets this campaign depends on. The whole premise here is records you already have a relationship with.
Model the reply spike before you launch: a fifty-record batch at a modest reply rate is roughly eight live conversations, several of which need a person. If nobody is available during your send window, reduce the batch size rather than hoping.
It is an opt-out. Answer it once, politely, then suppress the record account-wide. Honor every opt-out mechanically, across every channel, and make sure no import or bulk edit can ever clear it.
Once someone has engaged, they are a conversation, not a sequence. An interested reply that does not book within a day or two is a phone call, not another text.
Age is not really the test: consent is. A three-year-old record with a documented, timestamped marketing opt-in is defensible. A six-month-old record with no consent provenance is not, no matter how warm it feels. Several jurisdictions also impose a time limit on the existing-relationship basis, so a two-year-old customer may fall outside it. Confirm that rather than assuming your list is fair game, and none of this is legal advice.
Three, maximum, and then stop permanently. The first is the question, the second a few days later acknowledges the timing might be off, and the third explicitly releases them: "last one from me, if anything changes this number reaches me directly." That third message is both decent and the reason the opt-out rate on a well-built wave stays low. There is no fourth "just checking".
No. An offer in a first touch turns a conversation into a promotion, which changes how it registers with recipients, with carriers, and in some cases with regulators. It also anchors the relationship on price before anyone has scoped what the person actually needs. The campaign exists to start a conversation; what things cost belongs in that conversation.
Move them to a no-response stage with a long recontact date rather than deleting them, and leave them alone until it arrives. The list also gets cleaner as a by-product of every wave. Wrong numbers, dead addresses and genuine refusals all get identified and marked, which improves everything else you ever send. If you want a wave scoped against your own consent position and segment sizes, book a call to work through it, because this is the one build where that review is genuinely load-bearing.
Every article on this blog sits on top of a build guide in the AppBO library. It is the same system, written out end to end: the problem it solves, the architecture behind it, every workflow with its triggers and conditions, and what measurably changes once it is live. If this piece made the case, the build guide shows you the wiring.
Open the build libraryBring us how your business actually runs today and we will tell you which system to put in first, what it will take, and what it should change.
Book a call