
GoHighLevel Database Reactivation: Re-Engaging Cold Leads with Workflows (2026)
GoHighLevel Database Reactivation: Re-Engaging Cold Leads with Workflows (2026)
Most Australian businesses are sitting on a quiet asset they have already paid for: a database of leads who once raised their hand, took a call, asked for a quote, or even bought once and then drifted off. They got busy, the timing was wrong, the follow-up stopped, and the contact went cold. Yet the cost of acquiring those people is a sunk cost. Compared with the relentless spend of fresh paid traffic, reaching back out to a dormant list is the cheapest revenue most owners completely ignore. I have run dozens of these campaigns inside GoHighLevel for local service businesses, clinics, trades and agencies, and the pattern repeats: there is almost always money sitting in the CRM that nobody has spoken to in six, twelve or eighteen months.
The catch is that "blast the whole list" is both the lazy approach and the dangerous one. Done carelessly, a reactivation campaign torches your sender reputation, breaches the Spam Act, and annoys people who never consented to hear from you. Done properly, it is a measured, segmented, compliant sequence that wakes the right contacts, lets Conversation AI sift the replies, and routes genuinely interested people into a pipeline where a human can close. This article walks through exactly how I build database reactivation (DBR) campaigns in GHL the way I would set one up in a client account today.
What database reactivation actually is (and the ROI case)
Database reactivation is the deliberate re-engagement of contacts already in your CRM who have gone quiet. It is not lead generation. You are not buying new attention; you are recovering attention you already earned. Because there is no media cost to reach these people, the economics are unusually friendly. If you have a list of 2,000 dormant contacts and a reactivation sequence books even 1.5 to 3 per cent into a call, that is 30 to 60 conversations from assets gathering dust. At a typical Australian service ticket, a single campaign frequently pays for a quarter of marketing on its own.
The reason GoHighLevel is well suited to this is that everything lives in one place: the contact records, the consent and tag data, the SMS and email channels via LeadConnector/Twilio and Mailgun, the Workflows engine, Conversation AI, and the pipeline. You are not stitching tools together, which means the data you need to message responsibly and measure honestly is already at hand.
Why "cheapest revenue" is not the same as "easy revenue"
Cheap does not mean reckless. The single biggest determinant of whether a DBR campaign succeeds or blows up is the work you do before a single message sends: segmenting the list and confirming you have a lawful basis to contact each person. Skip that and you are not running a reactivation campaign, you are running a complaint generator.
Segmenting and tagging the list with smart lists
Before you write a word of copy, you need to know who you are actually talking to. In GHL I use smart lists with filters to slice the database into meaningful segments rather than treating "cold" as one undifferentiated blob. The filters I lean on most are date of last activity, source, pipeline history, tags, and whether the contact has a valid mobile number and email.
Typical segments I build:
- Dormant enquiries — people who enquired but never booked, last activity 6 to 18 months ago.
- Past customers — bought once, no repeat purchase, ripe for a returning-customer offer.
- Stalled opportunities — contacts who reached a pipeline stage then went silent.
- Quote-no-decision — received a proposal, never said yes or no.
Each segment gets its own reactivation tag (for example dbr-2026-dormant-enquiry) so the Workflow can target precisely and so you can report cleanly afterwards. A disciplined tagging convention is the backbone of any campaign that you want to repeat or hand to a team. If you have not standardised yours, it is worth getting your GoHighLevel tag strategy and structure sorted before you launch, because messy tags make segmentation, suppression and measurement painful later.
Consent and ACMA / Spam Act compliance (read this twice)
This is the section people want to skip and absolutely must not. In Australia, commercial electronic messages — SMS and email — are governed by the Spam Act 2003 and enforced by the ACMA. Three obligations matter for reactivation: you must have consent, you must identify yourself, and you must provide a functional way to unsubscribe and honour it promptly.
Consent can be express or, in limited circumstances, inferred from an existing relationship. A past customer or a recent genuine enquirer usually gives you a reasonable basis. A scraped list, a purchased list, or a contact who ticked nothing and last engaged years ago does not. My rule of thumb: if you cannot point to a moment where this person reasonably expected to hear from your business, do not message them. The cost of getting it wrong — ACMA penalties, carrier filtering, reputational damage — dwarfs any short-term revenue.
Practical compliance steps inside GHL
- Filter your smart list to exclude anyone with a
dndflag, an existing opt-out, or no demonstrable consent. - Confirm your A2P/10DLC or local sender registration is complete so messages route reliably and lawfully through Twilio/LeadConnector.
- Include clear sender identification in every SMS and an unsubscribe path. GHL processes
STOPreplies automatically and sets the contact to DND — make sure your Workflow respects that and never re-enrols opted-out contacts. - For email, send through your authenticated Mailgun domain (SPF, DKIM, DMARC) with a visible unsubscribe link.
Build opt-out handling into the Workflow itself: an inbound message containing a stop keyword should immediately remove the reactivation tag, mark DND, and exit the contact from the sequence. Treat the unsubscribe as sacred, not as a leak to plug.
Building the reactivation Workflow step by step
With segments defined and consent confirmed, the Workflow is the engine. Here is the structure I use for a standard dormant-enquiry sequence.
1. Trigger
The cleanest trigger is a tag added — when dbr-2026-dormant-enquiry is applied (either by your smart-list bulk action or a contact import), the contact enters the Workflow. Set Workflow re-entry to off so nobody gets double-enrolled.
2. Opening SMS
The first message decides everything. Keep it short, human, and curiosity-driven rather than salesy. A pattern that works well is a simple, casual one-liner that reads like a person typing, not a broadcast. For example: "Hi {{contact.first_name}}, it's Priya from [Business]. We spoke a while back about [thing] — are you still after a hand with that? Happy to help if so." No links in the first SMS; links suppress deliverability and feel like spam. The goal of message one is a reply, nothing more.
3. Wait step and branching
Add a wait step — typically two to three days — then branch on whether the contact has replied. If they have replied, route them out of the broadcast track and into Conversation AI handling (below). If they have not, send a gentle second touch, then a final value-led message a few days later. Three to four touches over roughly a week is plenty; beyond that you are nagging, and nagging cold contacts is how complaints start.
4. Email as the supporting channel
Interleave one or two emails via Mailgun for contacts with valid addresses, carrying a little more context and a soft call to action. SMS drives the reply rate; email does the explaining. This blended cadence is essentially a focused version of a broader nurture approach, and the same principles I apply to GoHighLevel drip campaigns and nurture sequences carry straight over: respect attention, lead with relevance, and earn the next message.
Using Conversation AI to handle replies
Reactivation campaigns succeed or fail on what happens after someone replies. Most replies are not a clean "yes, book me" — they are questions, half-interest, "remind me what you do", or "not right now". You cannot let those sit. I deploy GHL's Conversation AI in a constrained, well-briefed mode to triage replies in real time: it answers basic questions, confirms interest, and nudges toward booking, while clearly handing off anything ambiguous to a human.
The key is tight prompting and guardrails — give the AI your offer, your tone, your booking link logic, and explicit instructions to stop and tag for human review when it is unsure. Conversation AI is excellent at the first 80 per cent of a two-way conversation; it should never be left to wing the high-value 20 per cent. If you want the deeper mechanics of managing inbound at scale, my notes on running GoHighLevel two-way SMS conversations cover the handover patterns in detail.
Routing interested leads into a pipeline
When a contact signals genuine interest — asks about pricing, availability, or books — the Workflow should create an opportunity in a dedicated Reactivation pipeline and apply a hot tag. I keep the stages simple: Replied → Engaged → Call Booked → Won/Lost. Routing into a pipeline does two things: it puts the lead in front of a human at the right moment, and it gives you clean attribution so you can prove the campaign's revenue later. Pair the opportunity creation with an internal notification so your team responds while the contact is still warm.
Throttling and deliverability
If you dump 2,000 SMS into the carriers in ten minutes from a single number, you will get filtered, flagged, and possibly blocked — and your day-to-day messaging suffers for weeks afterwards. Reactivation is where sender reputation goes to die if you are careless. I throttle sends: batch the list, send in waves of a few hundred per day, and spread enrolment over several days rather than enrolling everyone at once. GHL lets you stagger this with batched tag application or scheduled enrolment.
Other deliverability protections: warm the number if it is new, keep message content varied enough to avoid looking like a template blast, monitor opt-out and complaint rates as you go, and pause if either spikes. On email, watch your Mailgun bounce and spam-complaint rates and suppress hard bounces immediately. Protecting the asset matters more than squeezing the campaign.
Measuring results
Measure the metrics that map to money, not vanity numbers. The chain I report on is: delivered → reply rate → positive-reply rate → calls booked → calls attended → revenue. Reply rate tells you if the copy and segment are right. Booking rate tells you if Conversation AI and the offer are converting interest. Revenue per thousand contacts messaged is the number the owner actually cares about. Tag every stage so the numbers come straight out of GHL rather than a guess.
| Day / Step | Channel | Message intent | Goal |
|---|---|---|---|
| Day 0 — Step 1 | SMS (LeadConnector) | Casual, personal "are you still after a hand?" — no link | Trigger a reply |
| Day 1 — Step 2 | Email (Mailgun) | Reintroduce the business and the value on offer | Add context, soft CTA |
| Day 3 — Step 3 | SMS | Light second touch with a relevant reason to act now | Re-prompt non-responders |
| Day 5 — Step 4 | Specific offer or limited window, clear booking path | Convert warm interest | |
| Day 7 — Step 5 | SMS | Polite final touch, "shall I close your file?" | Last reply or graceful exit |
| On reply | Conversation AI → Pipeline | Triage, answer, book; route hot replies to a human | Book the call, log the opportunity |
Common mistakes to avoid
- Messaging non-consented contacts. Blasting a purchased or ancient list is the fastest way to breach the Spam Act and draw ACMA attention. If you cannot justify the relationship, do not send.
- Over-sending and ignoring throttling. Firing the whole list at once gets you carrier-filtered and wrecks your sender reputation for legitimate messaging. Send in measured waves.
- No working opt-out — or not honouring it. Every message needs an unsubscribe path, and STOP replies must immediately set DND and exit the Workflow. Re-enrolling opted-out contacts is both unlawful and reputational poison.
- Generic, broadcast-sounding copy. "Dear valued customer, check out our latest offer" gets ignored. The opening SMS should read like one person genuinely reaching out to another.
- Leading with links or a hard pitch. A link in message one tanks deliverability and trust. Earn the reply first, then guide to a booking.
- No segmentation and no measurement. Treating "cold" as one blob and not tagging each stage means you cannot tailor copy, suppress the wrong people, or prove what the campaign earned.
If you want a compliant, done-for-you database reactivation campaign built and launched in your GoHighLevel account, book a strategy call with the HL Growth Partner team.
Frequently asked questions
How old is too old for a dormant contact to reactivate?
There is no hard cutoff, but the further back the last genuine engagement, the weaker your claim to consent and the lower your reply rate. I am comfortable reaching out to enquiries and customers from the last 12 to 18 months, sometimes 24 for clear past customers. Beyond that, you need to be confident the relationship still reasonably justifies contact under the Spam Act, and you should expect diminishing returns.
Do I need express consent, or is an existing relationship enough?
For many reactivation contacts — recent enquirers and past customers — consent can reasonably be inferred from the existing relationship, provided the message relates to what they originally engaged you about. Cold, purchased or scraped lists do not qualify. When in doubt, err on the side of not sending, and always include identification and a working unsubscribe regardless of the consent basis.
Can Conversation AI handle replies on its own, or do I still need a human?
Conversation AI handles the opening exchanges very well — answering common questions, confirming interest, and steering toward a booking. But you should always have it hand off ambiguous, high-value or sensitive replies to a human, and route every genuinely interested contact into a pipeline for a person to close. Treat the AI as a triage layer, not a replacement for your sales conversation.
How many messages should a reactivation sequence include?
For a cold database I keep it to roughly three to five touches across about a week, blending SMS and email. That is enough to catch people at different moments without tipping into nagging. Pushing far beyond that on contacts who have not responded raises complaint rates and risks your deliverability, which costs you more than the marginal reply you might gain.
How do I protect my sender reputation while messaging a large list?
Throttle everything. Send in waves of a few hundred per day rather than thousands at once, stagger enrolment over several days, keep your A2P/sender registration current, vary your copy, and monitor opt-out and complaint rates as you go. On email, suppress hard bounces immediately and watch your Mailgun reputation. If complaints spike, pause and review before continuing.
