Why this matters for a roofing company
A homeowner you re-roofed won't need another roof for years. But they'll need a repair, a gutter cleaning, a check after the next hailstorm. They'll sell the house and the buyer will want to know who did the roof. Their neighbor, sister and coworker will ask, "Who did yours?" If they can't remember your name, all that goes to someone else.
You already have this list, scattered across estimates, invoices, job software and your phone. This page is about putting it in one place, adding the roof details that make it useful, and staying in touch without being a pest.
What you need
- A spreadsheet (Google Sheets or Excel) or your job software's customer list
- A way to ask for permission: a checkbox on your contract, inspection form or booking page, and a sign-up sheet at events
- An email tool that handles unsubscribes for you (most email marketing services do)
- If you plan to text: a texting service built for business messages that records consent and handles "STOP" replies
- A postcard printer, or print your own
Step-by-step setup
- Gather what you have. Go through contracts, invoices, job software, estimates and email. Put every past customer in one sheet with the address, the work you did and the date.
- Add the roof details. Install year, material and color, warranty and whether it's registered, and any known trouble spots. This is what makes the list worth keeping.
- Mark who said yes to marketing. A past customer is not the same as a subscriber. Only people who agreed to hear from you go on the marketing list. Everyone else stays in the sheet as a customer record until they opt in.
- Add a permission line everywhere you take work. Contract, inspection form, booking page, invoice and event sign-up. Use the wording below. Keep email and text as two separate checkboxes.
- Tag everyone. By the kind of work, the neighborhood and the roof's age (see below). Tags are how the right message goes to the right people.
- Load your email list into an email tool. Import only people who opted in. The tool adds the unsubscribe link and mailing address and removes people who unsubscribe.
- Set a calendar. Put your sends on the calendar for the year, tied to your seasons (see C8).
Permission wording
☐ Yes, email me roof care tips, seasonal reminders and news from [Company]. I can unsubscribe anytime.
☐ Yes, text me seasonal reminders and storm check notices from [Company] at the number above. Message frequency varies, up to [2] per month. Msg and data rates may apply. Reply STOP to opt out, HELP for help. Consent is not required to hire us.
The spreadsheet layout
| Column | What goes in it |
|---|---|
| First / last name | Dana Lee |
| Email / phone | dana@example.com · (555) 555-0100 |
| Property address | 118 Elm St, [Town]. Keep private; never share. |
| Neighborhood / ZIP | Oak Hills · [ZIP]. Used for storm messages. |
| Email OK? | Yes / No, with the date and where they said yes ("5/2 contract") |
| Text OK? | Yes / No, with the date and where |
| Opted out | Date they unsubscribed or replied STOP. Never message them again for marketing. |
| Work done | Re-roof, storm restoration, flat roof, repair, gutters, inspection |
| Roof install year / material | 2026 · architectural shingle, [color] · ridge vent, ice and water shield in valleys |
| Warranty | Type, length, registered Y/N, date |
| Last visit | 5/2/2026 · final walk-through |
| Photo OK? | Yes / No for posting job photos; "no house number" if they asked |
| Notes | Dog in the yard, gate code on file, prefers calls after 5 |
Tagging by what you did and when
- What: one tag per kind of work. Re-roof customers hear about gutter guards and ventilation. Repair customers hear about inspections. Flat roof customers hear about coating and drain checks.
- Where: neighborhood or ZIP. After a storm, you can reach the people in the area it hit, and only them.
- Roof age: the install year.
- Who: homeowner, landlord, manager, board. Businesses hear about budget-season reports; homeowners hear about seasonal checks.
What to send and how often
| Message | Who gets it | How often |
|---|---|---|
| Seasonal reminder (pre-winter check, spring check) | Everyone on the email list | Two to four times a year |
| After-storm check | Opted-in customers in the area the storm hit | Only after a real storm there |
| Roof anniversary | One customer, on their install anniversary | Once a year |
| What's new: a new service, material or crew | Everyone on the email list | When it happens, not more than monthly |
| Postcard | Past customers you have a mailing address for | Once or twice a year |
| Text | Only people who agreed to texts | Rarely. Save it for storms and seasonal deadlines |
Short and useful beats frequent. One photo, a couple of sentences, one link, a clear reason to act. If there's nothing new and no season or storm, don't send.
Copy-ready templates
Email: after a storm
Subject: Hail in [area] on [date]: is your roof OK?
Hi [First name],
A [hail / wind] storm came through [area] on [date]. Your roof on [Street] was installed in [year], so we wanted to check in.
From the ground, look for dented gutters or vents, shingle pieces in the yard, or new spots on your ceilings. If you see anything, or just want peace of mind, we'll come look and send you photos.
Book here: [link] or call [phone].
[Your Name], [Company]
[Street address or PO box] · Unsubscribe: [link]
Email: roof anniversary
Subject: Your roof turns [number] this month
Hi [First name],
We put your roof on in [month, year]. Happy anniversary! A quick check each year helps catch small things (a lifted shingle, a cracked vent boot, clogged gutters) before they turn into leaks.
Want us to take a look? [link]
Your warranty info is on file with us. Reply if you ever need a copy.
[Your Name], [Company]
[Street address or PO box] · Unsubscribe: [link]
Email: something new
Subject: New at [Company]: [gutter guards / metal roofing / flat roof coatings]
Hi [First name],
Quick update: we now [install standing-seam metal / offer gutter guards / do flat roof coatings]. Here's one we just finished in [Town]. [photo]
If you've been thinking about it, reply here or book a visit: [link].
Thanks for being a customer,
[Your Name], [Company] · [Phone]
[Street address or PO box] · Unsubscribe: [link]
Text: storm check (only to people who opted in)
[Company]: Storm hit [area] on [date]. Want us to check your roof and send photos? Book at [link] or reply here. Reply STOP to opt out.
Text: pre-winter reminder
[Company]: Fall roof and gutter checks are booking through [date]. Book at [link]. Reply STOP to opt out.
Postcard
FRONT: [Photo of a finished roof in your area]
[Company] · Local roofer in [Town]
BACK:
Hi [First name],
Thanks for trusting us with your roof. Time for a [spring / fall] check?
We'll look it over and send photos you can keep.
Book at [short link] or scan the code. [QR code]
Call or text [phone].
[Company] · [Return address]
The rules. Follow them every time.
- Get consent first. Only send marketing emails and texts to people who agreed. A customer giving you a phone number for a job is not the same as agreeing to marketing texts. Texting has stricter consent rules than email.
- Include a way out. Every marketing email needs a working unsubscribe link and your mailing address, and no misleading subject line or sender (CAN-SPAM). Every marketing text needs "Reply STOP to opt out."
- Honor opt-outs quickly. Remove anyone who unsubscribes or replies STOP, note the date, and don't message them again for marketing.
- No deductible offers. Never offer to waive, pay or "eat" a deductible, or give a rebate that covers it, in a storm message or anywhere else. In many states that's illegal.
- No claim promises. Don't say a claim will be approved. Don't negotiate a claim for the homeowner unless you're a licensed public adjuster in that state; you can document damage and meet the adjuster.
- Keep addresses private. Don't share the list or buy one. Send group emails through your email tool, not a To: line. Ask before posting photos that show a customer's house number or address.
- Mind quiet hours for texts. Send during normal daytime hours in the customer's time zone.
Keep it going: the routine
- After every job: add or update the row, roof details and tags, and note consent if they gave it.
- Weekly, 10 minutes: add new sign-ups, process opt-outs, check for roof anniversaries this month.
- After a real storm: send the storm check to opted-in customers in that area.
- Seasonally: send the spring or pre-winter reminder and mail postcards.
Checklist
- Past customers gathered into one sheet
- Roof install year, material and warranty filled in
- Consent columns filled in, with date and source
- Separate email and text checkboxes on every contract and form
- Everyone tagged by work, area and roof age
- Email tool set up with unsubscribe link and mailing address
- Texts only to people who opted in, with STOP instructions
- Opt-outs removed and recorded
- Send calendar tied to your seasons
Common mistakes
- Adding everyone who ever got an estimate to the marketing list without asking.
- Texting from your personal phone with no opt-out.
- Sending storm messages to the whole list when the storm hit one side of town.
- Not recording install year and warranty, then having no idea whose roof is due.
- Keeping the list in five places so nobody knows who unsubscribed.
Notes by kind of roofing work
| Work | What's different |
|---|---|
| Residential re-roof | Anniversary messages and seasonal checks keep you in mind for repairs, gutters and referrals. Make sure warranties are registered and on file. |
| Storm and hail restoration | Neighborhood tags matter most. Only message the area a storm actually hit, and keep it to checking and documenting. |
| Commercial and flat roofs | Mostly business contacts. Keep it personal: a short note about their roof and their budget season, not a newsletter. Business emails still need an unsubscribe option under CAN-SPAM. |
| Repair and maintenance | Record the roof's age on every repair. Older roofs you've patched are the re-roof conversations of the next few years. |
Want Annie's to do this for you? We can pull your past customers and roof details into one list, set up your email tool and permission forms, and write your seasonal, anniversary and storm-check messages.