Roofing - Revenue recovery - 7 min read
Reactivating Past Roofing Customers: A Practical Way to Stay in Touch
Five roofs down your street from three years ago. A consent-clean way to work that list - maintenance, small repairs, and the work next door - without becoming the roofer whose texts they mute.
The list you already earned
You already have a roofing list most shops would pay for: the streets you have worked. People whose roofs your crew stood on, whose dogs know your trucks, whose neighbors watched the whole job happen from their driveways.
They sit in a folder of old invoices. Meanwhile every week there is a dash for new leads, and the easiest people to reach - the ones who already picked you once - get nothing.
Reaching back to them is not cold outreach. It is a follow-up with a relationship attached.
Two lists, two different jobs
It is worth keeping these apart because the conversations are different.
An unsold estimate is a homeowner who asked for a price and never moved. A past customer is somebody who hired you, paid you, and lives under your work. One is a decision that stalled. The other is a relationship that went quiet.
Mix them and the outreach turns awkward. You do not chase a stalled quote the way you check on a roof you built. Pull the past-customer list on its own and run it as its own channel.
Why the past-customer list is worth more than it looks
A past customer already saw your crew work and already decided to hire you. That does not mean another job is coming - roofs last, and timing is timing. What it means is the next conversation starts with a real history instead of an introduction. They know the trucks. They know the crew showed up when they said they would.
An old-customer list can exist without a clear owner or next action. In that state, it is a record of past work, not yet an active follow-up process.
Reach out about something real, not "just checking in"
The fastest way to waste this list is the generic "hey, remember us?" message. It gives the homeowner nothing to answer, and it sounds exactly like every other company that just discovered it had a customer list.
Reach out about something real instead. Each of these gives a concrete reason to reply, and each is honest work, not a pretext for a pitch:
- Seasonal maintenance before the weather turns - especially on roofs you installed a few years back, the ones hitting the age where flashing and sealant start asking for attention.
- Gutters, flashing, small repairs - the jobs too small for a full mobilization but perfect for the truck that is already in the neighborhood.
- A post-storm look - if a hail or wind event actually hit their area, offer to come check, framed exactly like that: an offer to look, not a claim that their roof took damage. The inspection says what the inspection says.
- The anniversary of a big job - "It has been three years since we did your roof - want somebody to walk it and make sure everything is still holding?" is a natural, human reason to call.
Keep it consent-clean
A past customer relationship is easy to damage with the wrong channel or too much volume. Protect it.
Reach out only on the channels they agreed to, honor any opt-out immediately, and never blast the whole list on repeat. One relevant, well-timed message to the right customer is worth more than a bulk send to everyone, and it keeps you on the right side of how people expect a contractor to behave. The goal is to be the roofer they're glad to hear from, not the one whose texts they mute.
Make it a habit, not a once-a-year blitz
The shops that get value from this do not run a big reactivation campaign once and forget it. They keep a small, steady pass.
Block a short slot on a regular schedule: who is due for a maintenance check, whose area just took weather, and who you have not spoken to in a couple of years. Reach out to a handful, record what happened, and move on. It is the same discipline as any other follow-up, so it lives in the same place. If you do not have that routine yet, our simple roofing follow-up process for small teams lays out how to keep a responsible person and a next action on every one of these without a big system.
The point of the habit is simple: a list you return to stays current. A list you touch once a year is stale by the time you need it, and the next conversation is harder for it.
Ask for the work next door
Past customers can also introduce you to neighbors. A roof is the most visible purchase in the neighborhood - the whole street watched your crew work that week. Use that.
When a past-customer conversation goes well, it is fair to ask two things: anything else coming up on their place, and whether a neighbor could use a look. You are not pressuring anyone. You are giving a satisfied customer an easy way to send you the next job, and in this trade, the neighbor referral has always been how the good shops grow. When one of those referrals comes in, handle it like the lead it is - the warmest lead is the easiest to take for granted.
Where Kaldwick fits
Kaldwick gives a roofing team one visible place to keep request context, recorded activity, next action, and current status clear. It does not decide who to contact. It helps the team see which records still need attention.
If you want a plain starting point, our free roofing follow-up tracker is a clear place to keep past customers, next actions, and status in one view.
Frequently asked questions
Is it worth following up with past roofing customers?
Yes. A past customer has already hired your company before. That does not remove the need to decide who owns the follow-up and what should happen next.
What should I say when reaching out to a past roofing customer?
Lead with something specific and useful: seasonal maintenance, a small repair, gutters, or a post-storm look if weather actually hit their area. Give them a concrete reason to reply instead of "just checking in," and never present a weather event as proof their roof is damaged. The inspection says what the inspection says.
How often should I contact past customers?
Keep a small, steady pass rather than one big yearly blast. Reach out only on channels they agreed to, respect any opt-out, and prioritize a real reason to call. A handful of relevant, well-timed touches beats messaging the whole list at once.