
GoHighLevel Database Reactivation: Revive Old Leads (2026)
GoHighLevel Database Reactivation: Revive Old Leads (2026)
By Dr Priya Jaganathan, GoHighLevel Certified Admin · HL Growth Partner, Australia · Updated 5 August 2026 · 10 min read
A GoHighLevel database reactivation (DBR) campaign is a short, conversational SMS and email sequence sent to contacts who went quiet months ago, built inside a GHL Workflow with an if/else split that routes replies to a booking calendar. Run properly on a cleaned Australian list, it typically produces a 2–8% reply rate and turns a dormant database into booked appointments within 7–14 days — at a cost of a few hundred dollars, not thousands in ad spend.
On this page: What a DBR campaign is · Why dormant lists are cheap revenue · Clean and segment first · Messaging that gets replies · Build the Workflow · 7-day sequence plan · Measuring results and ROI · Common mistakes · FAQ · Related articles
A GoHighLevel database reactivation campaign is the fastest revenue project I run for Australian clients, and it is usually the first thing I build in a new sub-account. Every business sitting on 1,000+ old contacts — past enquiries, lapsed customers, no-shows, stale quotes — has money parked in that list. The contacts already know the business. They just stopped hearing from it.
This post is the full recipe I use as a GoHighLevel Certified Admin: clean and segment the dormant list, stay on the right side of the ACMA and the Spam Act, write reopeners that get replies, build the Workflow properly, and measure the result in dollars rather than vanity opens. Realistic numbers throughout.
What is a GoHighLevel database reactivation campaign?
A database reactivation (DBR) campaign is a short sequence — usually SMS-led, email-supported — sent to contacts who have had no meaningful activity for 90 days or more. The goal is not to sell in the message. The goal is a reply. Once someone replies, a human or Conversation AI takes over, qualifies them in two or three exchanges, and pushes them to a booking link.
In GHL terms, a DBR is: a smart list or tag defining the dormant segment, a Workflow that drips 3–5 messages over about a week, an if/else condition that pulls anyone who replies out of the sequence, and a handoff to a calendar plus a pipeline stage so nothing falls through. SMS goes out through LeadConnector (GHL’s native Twilio-backed phone system), email through Mailgun or your dedicated sending domain. HighLevel database reactivation campaigns work because the platform keeps the whole loop — send, reply, conversation, booking, opportunity — in one place.
Why dormant lists are the cheapest revenue an Australian business has
Cold traffic in Australia is expensive — a qualified Meta or Google lead runs $15 to $150+ depending on the niche, and that lead has never heard of you. A dormant contact costs roughly eight cents to message and already has context: they enquired, bought once, or got a quote. The trust deficit is smaller, so the conversion maths are dramatically better.
There is a hygiene bonus too: running a DBR forces you to validate, prune and re-tag the database, so even non-repliers end up in a cleaner CRM that performs better on every future send.
Clean and segment the list before you send anything
Build the dormant segment with smart lists, tags and custom fields
Do not blast “All Contacts”. In Contacts, build a smart list filtered on something like: created more than 90 days ago, no appointment in the last 6 months, not tagged customer-active, not DND. Save it as DBR – Dormant 90+. Then split it further with tags: dbr-past-customer, dbr-old-enquiry, dbr-no-show, dbr-stale-quote. Each segment gets slightly different copy — a lapsed customer needs a “we miss you” angle, a stale quote needs a “still on the fence?” angle.
I also add a custom field, last_reactivation_date, stamped by the Workflow on entry — your safety rail against hitting anyone with two DBRs in six months. If your intake data is messy, tighten your GoHighLevel forms and surveys for lead capture at the same time, so the next dormant cohort arrives with usable fields.
Validate, prune, and check consent
Run email validation (GHL’s built-in verification, or NeverBounce with results imported as tags) and remove hard bounces before the first send. Emailing a five-year-old list raw will torch your Mailgun domain reputation in an afternoon.
Australian compliance: the Spam Act, ACMA and A2P
This is the section Australian readers cannot skip. Under the Spam Act 2003, every commercial SMS or email needs three things: consent (express, or inferred from an existing business relationship), sender identification (your business name in the message), and a functional opt-out (“Reply STOP to opt out” on SMS, an unsubscribe link on email). The ACMA actively enforces this — Australian companies have copped multi-million-dollar fines for messaging people who had unsubscribed. Read the ACMA’s guidance on avoiding sending spam before your first send.
A contact who enquired 18 months ago and never opted out generally sits within inferred consent for a relevant message; a scraped list never does. On the carrier side, LeadConnector numbers route via Twilio — A2P 10DLC registration applies to +1 numbers, while Australian senders should use an Australian long code or registered alphanumeric sender ID and keep volumes sane. Which brings us to batching.
Batch 50–100 sends per day
Whatever your list size, drip the entries: stagger smart-list additions so only 50–100 contacts enter the Workflow per day. This protects SMS deliverability, keeps your email domain warm, and means replies arrive at a rate your team or Conversation AI can actually handle.
Messaging that gets replies
The 9-word email reopener
The classic Dean Jackson “9-word email” is still the highest-reply format I’ve tested: plain text, first-name subject line, one question, no images, no signature block. Example: “Hi {{contact.first_name}} — are you still looking at getting the bathroom renovated?” It reads like a human checking in, because that’s exactly what it should feel like.
SMS-first sequences
In Australia, SMS open rates still sit north of 90%, so I lead with SMS and use email as the echo. Same principle: short, named, question-led, identified, opt-out included. Example: “Hi Sarah, it’s Priya from Coastal Physio. We’ve opened a few spots this month — still dealing with that shoulder? Reply YES and I’ll sort a time. Reply STOP to opt out.” Never put a link in message one — links suppress replies and trip carrier filters.
Build the Workflow step by step
Here is the build, using real GHL components. If Workflows are new to you, my guide to GoHighLevel Workflows, triggers and actions covers the mechanics in depth.
- Trigger: Contact Tag Added →
dbr-batch-1(you control entry by applying the tag to today’s 50–100 contacts from the smart list). Stamplast_reactivation_datewith an Update Contact Field action. - Message 1 (Day 1): SMS reopener. Set the Workflow’s time window to 9am–7pm local so nothing fires at 2am.
- Wait step: Wait 1 day, with the condition “until contact replies” — a reply resumes the flow immediately.
- If/Else on reply: Condition: Contact Replied is true. Yes branch: remove from all further sends, add tag
dbr-replied, create an Opportunity, notify the team. No branch: continue the sequence. - Messages 2–5: 9-word email (Day 2), second SMS angle (Day 4), value email (Day 6), break-up SMS (Day 7). Wait + if/else between each.
- Booking handoff: in the Yes branch, once qualified, send a dedicated “Reactivation” calendar link with tight availability. My walkthrough of GoHighLevel calendars and booking with round robin shows how to spread these across a team.
- Exit conditions: appointment booked, STOP received (GHL auto-DNDs), or sequence complete → tag
dbr-no-response.
Route replies into a pipeline
Every reply should create an Opportunity in a dedicated Reactivation pipeline: Replied → In Conversation → Booked → Showed → Won/Lost. This makes the campaign measurable — you see where contacts stall and can attribute closed revenue to the DBR. New to this? Start with my primer on GoHighLevel pipelines and opportunities setup.
Let Conversation AI handle the replies
Replies arrive at odd hours — 9pm Sunday is prime time for people finally answering a quote follow-up. Conversation AI, trained on your services and FAQs, can acknowledge within seconds, ask one qualifying question and offer booking times, with human takeover for anything off-script. In my client accounts, an instant AI response roughly doubles reply-to-booking conversion versus a next-morning human reply. The same bot can staff your GoHighLevel chat widget for a consistent experience, and GHL’s setup documentation at help.gohighlevel.com has the click-by-click.
The 7-day DBR sequence at a glance
| Day | Channel | Message angle | Goal |
|---|---|---|---|
| 1 | SMS | Named check-in question (“still looking at X?”), sender identified, STOP wording | Reply |
| 2 | 9-word email, plain text, first-name subject | Reply | |
| 4 | SMS | New angle: spots opened / offer refresh / “shall I close your file?” | Reply |
| 6 | Short value note: one tip, one case result, soft question | Reply or click | |
| 7 | SMS | Break-up: “I’ll assume the timing’s not right — no stress. Want me to check back in 3 months?” | Final reply, clean exit |
Measure results and ROI — a worked AUD example
Ignore open rates. A DBR is measured on four numbers: reply rate (replies ÷ contacts messaged — expect 2–8%, with past customers at the top of that range and cold old enquiries at the bottom), booking rate from replies (30–50% with fast response), show rate, and revenue per send.
Here’s a realistic middle-of-the-road scenario for a 3,000-contact dormant list at an Australian services business with a $1,500 average sale:
- 3,000 contacts → ~2,400 remain after validation, DND and unsubscribe pruning
- SMS cost: 2,400 contacts × 3 SMS × ~$0.08 via LeadConnector/Twilio ≈ $576; emails via Mailgun are effectively negligible — call the all-in campaign cost ~$650 including validation
- 4% reply rate → 96 conversations
- 40% of replies book → 38 appointments
- 60% show → 23 sales conversations
- 30% close → 7 new clients × $1,500 = $10,500
That’s roughly a 16:1 return and $4.37 revenue per contact messaged, from people sitting in the database doing nothing. Even the pessimistic case (2% reply, 25% close) clears $3,000 against $650 spent. Track it in the Reactivation pipeline so the numbers are facts, not vibes.
Common mistakes to avoid
- Blasting the whole list on day one. Deliverability collapses, replies overwhelm you, and carriers flag the number. Batch 50–100 per day, always.
- Skipping validation. One raw send to a stale list can put your Mailgun domain on a blocklist that takes weeks to recover from.
- Ignoring Spam Act requirements. No sender identification or missing opt-out wording on SMS is an ACMA complaint waiting to happen — and old unsubscribes must be honoured no matter how good the offer is.
- Selling in message one. Links, prices and pitches suppress replies. The first message earns a conversation; the conversation earns the booking.
- Slow reply handling. A reply answered in under 5 minutes books at a multiple of one answered the next day. If humans can’t cover it, Conversation AI must.
- No exit hygiene. Without
dbr-no-responsetagging and alast_reactivation_datestamp, you’ll re-message the same people in three months and burn the list for good.
If you want a done-for-you database reactivation campaign that books appointments while you sleep, book a strategy call with the HL Growth Partner team.
Frequently asked questions
What reply rate should a GoHighLevel database reactivation campaign get?
A realistic range is 2–8% of contacts messaged. Past customers and recent-ish enquiries (6–12 months) sit at the top of the range; enquiries older than two years sit at the bottom. If you’re under 2%, the usual culprits are unsegmented copy, a link in the first message, or a list that needed harder pruning.
Is it legal to SMS old leads in Australia?
Yes, if you satisfy the Spam Act 2003: consent (express, or inferred from an existing business relationship such as a genuine enquiry or purchase), clear sender identification in the message, and a working opt-out like “Reply STOP”. Scraped or purchased lists don’t qualify, and historical unsubscribes must be honoured. When in doubt, check the ACMA’s spam guidance before sending.
How old is too old for a dormant list?
I’ll happily run a DBR on contacts up to about three years old, with expectations adjusted downward and validation done harder. Beyond that, the combination of dead numbers, changed circumstances and weakened inferred consent makes the risk/return unattractive — archive those contacts instead.
Do I need Conversation AI for a DBR to work?
No, but it materially lifts results. The single biggest conversion lever in reactivation is reply speed, and an AI that responds within seconds — including nights and weekends — consistently books more appointments than a team answering the next business day. Start manual if budget is tight, then add AI once reply volume justifies it.
How often can I re-run a reactivation campaign?
Every 90–120 days per segment is the sweet spot, excluding anyone who replied, booked, or opted out last round (that’s what the last_reactivation_date custom field is for). Rotate the angle each time — check-in, offer refresh, break-up — so the list never sees the same play twice in a row.
