Services
🎙 Voice Agents 🤖 AI Chatbots 🔥 Lead Reactivation 💬 SMS Automation 📊 Dashboards 📅 Auto Booking
Results Blog Book a Call

How Roofing Companies Reactivate Off-Season Leads with Automated SMS

📖 12 min read 📅 March 21, 2026 By Profitaable

The Off-Season Lead Graveyard

A roofing company in Houston gets 120 leads in spring and summer. Their team closes 60 of them (50% close rate). The other 60 sit in their CRM like gravestones. No follow-up. No reactivation. Just... abandoned.

By winter, those 60 leads have moved on. They found another roofer. They decided to wait until next year. They forgot about the initial conversation entirely. The lead database becomes a cemetery.

This happens at almost every roofing company. You acquire leads during busy season. You close what you can. The rest vanish. When slow season hits, you're scrambling for work instead of harvesting the leads you already have.

Here's the missed opportunity: Those 60 dead leads aren't really dead. They're dormant. They had a problem once (they reached out). They still have that problem (roofs don't repair themselves). They just chose someone else, or they're waiting for better weather.

The difference between a $0 lead and a $15K job is one strategic SMS message at the right time.

Why Reactivation Works (The Data)

Reactivation has a different psychology than cold outreach. When someone originally inquired about roofing, they signaled intent. They had a leak. They had storm damage. They were ready to solve a problem. That intent doesn't disappear — it just gets suppressed.

Here's the conversion math:

Cold outreach (calling random numbers): 0.5–1% conversion rate.

First-touch warm leads (someone who inquired but didn't close): 8–15% conversion rate.

Reactivation (someone who inquired, went silent, you re-engage): 4–8% conversion rate.

Why is reactivation lower than first-touch? Because some have moved on. But it's 4–8x higher than cold. And the leads are already in your system. Zero acquisition cost.

The Reactivation Leverage:
• Leads acquired in spring: 120
• Close rate in season: 50% (60 jobs)
• Remaining leads: 60
• Off-season reactivation rate: 6% (4 jobs from automation)
• Average job value: $12,000
• Revenue from dead leads: $48,000
• Automation cost: $100/month × 5 months = $500
ROI: 9,600%

That's not theoretical. That's a typical outcome when you reactivate systematically instead of hoping leads magically close on their own.

The Trigger: When to Reactivate

Timing is everything in reactivation. If you reach out too early, the lead is still shopping. If you reach out too late, they've already hired someone. There's a window.

The optimal reactivation window is 45–90 days after initial contact.

Here's why: After 45 days, a lead has likely made a decision or moved on to other priorities. At this point, your original reason for not closing (you were busy, they were getting other quotes, weather was bad) has changed. The circumstances reset. Your message lands as fresh, not repetitive.

After 90 days, familiarity fades. Your company name feels distant. The urgency they once felt is gone. Reactivation becomes harder.

In the roofing world, this timing is strategic: A lead inquires in May during storm season. By mid-July, they're 60 days out. That's when you reactivate. By August, if they're still silent, you know they found someone else or decided to wait.

The seasonal reactivation trigger: As winter approaches (October–November), all leads from spring/summer who didn't close become targets. Winter is slow. They know it's a buyer's market. They're more negotiable. Your reactivation message lands at peak leverage.

The 5-Message Reactivation Sequence

A reactivation campaign isn't one message. It's a sequence. Each message has a different purpose and psychological trigger.

Message 1: Gentle Re-Engagement (Day 1 of Sequence)

"Hi [Name], it's been a few months since we chatted about your roof. Still leaking? We have some winter availability opening up. Let me know!"

Purpose: Low-pressure, acknowledges the gap, signals new opportunity (availability), ends with a clear CTA.

Message 2: Social Proof (Day 3)

"[Name], quick update: We just finished 12 roofs this month and our customers are loving us (4.9 stars on Google). If you're still thinking about fixing that roof, now's the time. We can fit you in this week."

Purpose: Overcome objection they might have (quality concern, time concern). Builds credibility with reviews and urgency with availability.

Message 3: Value Anchor (Day 7)

"This is a rare window: We're offering $500 off roof inspections through end of month. Free estimate, competitive pricing. Worth taking 10 minutes to see if your roof needs attention. [link]"

Purpose: Remove friction to decision. Offer a low-commitment entry point (inspection). Create deadline (end of month).

Message 4: Scarcity (Day 10)

"[Name], heads up: Our winter schedule is filling up fast. If you want to get your roof done before the holidays, this is the week to book. After next week, we're booked till January."

Purpose: Scarcity + deadline. Flip the psychology from "I'm busy" to "They're busy, I need to act now."

Message 5: Final Offer (Day 14)

"Last chance: $500 off inspection offer expires tomorrow. We'd love to work with you. Just reply YES and we'll send you a booking link. Otherwise, we'll circle back in spring."

Purpose: Hard deadline. Binary choice (yes or no). Sets expectation for follow-up timing.

Each message is strategically timed to overcome a specific objection and move the lead closer to action. After message 5, if they don't respond, they go dormant again until next trigger window.

Real Numbers: $84K from Dead Leads

A Colorado roofing company tested this exact sequence on 156 dormant leads from Q2 and Q3.

Real Example: Denver Roofing Reactivation Campaign
• Dormant leads: 156
• SMS deliverability: 94% (147 reached)
• Message open rate: 89%
• Response rate (at least one message replied): 18% (26 leads)
• Consultation booking rate: 65% of responders (17 leads)
• Close rate: 47% of consultations (8 jobs)
• Average job value: $10,500
• Total revenue from dead leads: $84,000
• Sequence cost: $100/month × 3 months = $300
ROI: 28,000%

This isn't unusual. It's actually conservative. The reason: Those leads already have the problem. They already signaled intent. You're not creating demand — you're reminding them why they reached out in the first place.

How to Set It Up in GoHighLevel

The setup is straightforward if you understand GoHighLevel's automation builder.

Step 1: Tag Leads with Dormancy Status

When a lead enters your system, they're automatically tagged with the date they came in. As time passes, GoHighLevel can automatically detect when leads reach 45 days old and add a "Reactivation Candidate" tag. You can set this up in Automations > Trigger on Contact Created > Wait 45 days > Add Tag.

Step 2: Create the Reactivation Automation

Build a new automation with this trigger: "Contact tag is 'Reactivation Candidate'"

Add this action sequence:

1. Send SMS (Message 1: Gentle re-engagement)
2. Wait 3 days
3. Send SMS (Message 2: Social proof)
4. Wait 4 days
5. Send SMS (Message 3: Value anchor)
6. Wait 3 days
7. Send SMS (Message 4: Scarcity)
8. Wait 4 days
9. Send SMS (Message 5: Final offer)
10. Tag contact as "Reactivation Completed"
11. End automation

Step 3: Personalize Each SMS

Use GoHighLevel's dynamic fields: [First Name], [Last Name], [Original Inquiry Details]. Make it feel personal, not automated.

Step 4: Track Responses

In GoHighLevel, create a segment for contacts who replied to any reactivation SMS. These are warm leads who are ready to book. Have a team member follow up with a phone call within 2 hours of their reply.

Step 5: Test

Send the entire sequence to yourself first. Make sure message timing feels right (not too aggressive, not too spaced out). Adjust wait times if needed.

Step 6: Activate Retroactively

Once the automation is live for new leads, go back and manually trigger the sequence on all leads from 45–90 days ago. That's your quick win — $84K from existing leads you already paid for.

Common Reactivation Mistakes

Mistake 1: Reactivating too early. If you reach out at day 20, it feels desperate and interruptive. Wait 45+ days. The lead's mindset resets.

Mistake 2: Same message every time. If you send the same "interested in your roof?" message three times, you look lazy. Each message needs a different angle: social proof, offer, scarcity, etc.

Mistake 3: No clear CTA. Vague requests like "let us know if interested" get ignored. Specific CTAs ("reply YES", "click this link", "call this number") convert 3x higher.

Mistake 4: Ignoring responses. If a lead replies to a reactivation message, don't let them sit in SMS. Have a system to convert SMS replies into phone calls within 2 hours. Hot leads get cold if you wait.

Mistake 5: No seasonal strategy. Send reactivation sequences right before peak seasons (spring in most climates) and before perceived urgency moments (before winter, after big storms). Don't blast them randomly.

Next Steps: Starting This Week

Reactivation is the easiest money you can make in roofing. These are pre-qualified leads you already have. No acquisition cost. Just a reminder at the right time.

  1. Export your dormant leads: Pull all leads from 45–180 days ago who didn't close. Probably 50–200 leads depending on your volume.
  2. Audit the list: Remove any unqualified leads or duplicates. You want phone numbers that are still valid.
  3. Set up the automation: Follow the 5-step setup above in GoHighLevel. 45 minutes.
  4. Send retroactively: Trigger the sequence on your historical dormant leads. This is your big first batch.
  5. Monitor responses: Watch for SMS replies. Have a process to convert replies to phone calls within 2 hours.
  6. Expect 4–8% to respond and schedule consultations. Of those, expect 40–50% to close. That's your off-season revenue.

Pro Tip: Seasonal Reactivation Calendar

Don't wait for dead leads. Set up seasonal reactivation triggers. Every spring, reactivate leads from the previous year's off-season. Every fall, reactivate leads from spring/summer. It's not one-time — it's systematic revenue from leads that would otherwise disappear.

The leads are already there. You already paid for them. They already have a problem. The only question is whether you're organized enough to convert them before someone else does. Automation makes that organization effortless.

Ready to reactivate your leads? Book a call →