All field notes

Roofing - Revenue recovery - 5 min read

Reactivating Past Roofing Customers: A Practical Way to Stay in Touch

A consent-conscious way for roofing teams to reconnect with past customers about maintenance, repairs, referrals, and neighbor work.

Start with the customers you already earned

One useful roofing list is the one you already earned: people whose roofs you have already worked on. It often sits unused.

New leads get all the attention because they feel like growth. But a past customer already knows your crew, has already experienced your work, and already has your number somewhere. Reaching back to them is not cold outreach. It's a follow-up with a relationship attached.

This is a different list from your unsold estimates. If what you're chasing is quotes that never closed, that's its own job, and we cover it in following up on unsold roofing estimates. This article is about the people you already did work for.

Two lists, two different jobs

It's worth keeping them separate, because they need different conversations.

An unsold estimate is a homeowner who asked for a price and never moved forward. A past customer is a homeowner who hired you, paid you, and now lives under a roof you installed or repaired. One is a decision that stalled. The other is a relationship that went quiet.

Mixing them leads to awkward outreach. You don't follow up with a past customer the way you chase a stalled quote. So pull the past-customer list on its own, and treat it as its own channel.

Why the past-customer list is worth more than it looks

A past customer has already seen your team work and made a decision to hire you. That does not guarantee another job. It means the next conversation can start with a real history rather than an introduction.

The reason most teams don't work this list isn't that they don't believe in it. It's that nobody owns it, so it stays a folder of old invoices instead of a pipeline. A company that never reaches out is easier to forget.

Reach out about something real, not "just checking in"

The fastest way to waste this list is a generic "hey, remember us?" message. It gives the homeowner nothing to answer.

Reach out about something specific and useful instead. Each of these gives the homeowner a concrete reason to reply, and each is honest work you can actually do, not a pretext for a sales pitch:

  • Seasonal maintenance before the weather turns, especially for roofs you installed a few years back.
  • Gutters, flashing, or small repairs you can offer without a full new job.
  • A post-storm check if a hail or wind event hit their area, framed as an offer to look, not a claim that they have damage.
  • The anniversary of a big job, as a natural moment to check that everything is still holding up.

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 teams that get value from this don't run a big reactivation campaign once and forget it. They keep a small, steady pass.

Set aside a short block on a regular schedule to work a slice of the list: who's due for a maintenance check, whose area just took weather, who you haven't spoken to in a couple of years. Reach out to a handful, record what happened, and move on. It's the same discipline as any other follow-up, so it lives in the same place. If you don't have a routine for that yet, our simple roofing follow-up process for small teams lays out how to keep an owner and a next action on every one of these without a big system.

The point of the habit is to make returning to the list routine rather than letting it go stale. Keeping the list current gives your team a reasoned place to return when there is something relevant to offer. Leaving it untouched makes that next conversation harder.

Ask for the work next door

Past customers can also introduce you to neighbors. A roof is a visible, local purchase, and the people on that street watched your crew work.

When a past-customer conversation goes well, it's fair to ask two simple things: whether they have any other work coming up, and whether a neighbor could use a look. You're not pressuring anyone. You're giving a satisfied customer an easy way to send you the next job.

Where Kaldwick fits

Kaldwick gives a roofing team one visible place to keep request context, ownership, and next action clear. It does not send messages for you or 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, owners, and next actions in one view.

Frequently asked questions

Is it worth following up with past roofing customers?

Usually yes. A past customer already knows your team and already decided to hire you once. The main reason teams miss this pipeline is that nobody owns the list, so it stays a folder of old invoices instead of a list the team revisits.

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 check if weather hit their area. Give them a concrete reason to reply instead of a generic "just checking in," and never present a weather event as proof their roof is damaged.

How is this different from following up on unsold estimates?

An unsold estimate is a quote that never closed; a past customer is someone you already did work for. They need different conversations, so keep them as separate lists. For the unsold-quote side, see our unsold roofing estimates follow-up playbook.

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.