Email marketing for a contractor is mostly a list problem. The software is cheap and interchangeable; what decides whether an email books a job is whether it went to someone who needs the work right now. Your job records already say who that is. This hub explains how to turn those records into lists, which lists to send first, what the rules require, and how to count the result in booked and completed jobs.
The list ladder: rank lists by what you know
Every contractor email list sits somewhere on a ladder, from "we know exactly what this customer needs" to "we know almost nothing". Climb the ladder from the top: the higher the rung, the smaller the list, and the more each email is worth.
| Rung | What you know | Example lists | Typical send |
|---|---|---|---|
| 1. Known need | They asked for a price | Unsold estimates, repair recommendations declined | The options you quoted, valid until a date |
| 2. Scheduled need | A visit or renewal is due | Maintenance due, memberships expiring | Book the visit or renew |
| 3. Probable need | Equipment age or history points to work | Water heaters or HVAC systems past N years, repeat repairs on one system | Free assessment offer |
| 4. Relationship | They were a customer | Lapsed 18 months, one-time customers | Seasonal check, membership offer |
| 5. Unknown | Nothing beyond an address | Newsletter signups, purchased lists | Skip purchased lists entirely |
The ladder is the idea to hold on to. Most shops start at rung 5 (a monthly newsletter to everyone) because it's easy, and stop when it doesn't book. Start at rung 1 instead. A list of 80 unsold estimates will usually out-earn a list of 4,000 newsletter subscribers, and it costs the same to send.
Each trade fills the rungs differently. HVAC lists revolve around the spring and fall tune-up seasons; see email marketing for HVAC companies for the five HVAC lists and a 12-month calendar. Our Field Notes post on the marketing list hiding in your job history covers the same segments across mail, email, text and phone.
What the rules require
The strictest line in each rulebook makes a simple house standard: authenticate your sending domain, put a one-click unsubscribe in every marketing email, process unsubscribes within 2 days, and send the same unsubscribes back to your customer records so the next list respects them. Transactional email (invoices, receipts, appointment confirmations) is treated differently by the FTC, as long as its primary purpose stays transactional.1 Keep offers out of those messages.
Before your first campaign
- Your own sending domain, authenticated with SPF, DKIM and DMARC
- A list filter written down for each list, with the date it was pulled
- Customers who unsubscribed, bounced or asked you to stop removed before export
- Business name and physical postal address in the footer
- One-click unsubscribe working, tested on a real inbox
- UTM tags on every link, naming the list and season
- A booking page that keeps the UTM tags on the job
How to measure email from your jobs
An email campaign is finished when the jobs it booked are completed and invoiced, not when it's sent. That means measuring 30 days out (longer for replacement lists) and from the job record, not the email tool's dashboard.
Apple's Mail Privacy Protection fetches remote content when a message arrives and hides when or how often it's viewed,4 so open rates overstate attention. Use these three numbers instead.
Metric
Booked jobs per 1,000 delivered
How many jobs a send put on the schedule, scaled so lists of different sizes compare fairly.
jobs booked with the campaign tag within 30 days ÷ emails delivered × 1,000
Where the numbers come from: Delivered count from your email tool; booked jobs carrying the campaign in your job records.
Metric
Completed revenue per 1,000 delivered
What the send earned in finished, invoiced work. The figure to compare with mail, ads and lead services.
invoiced revenue on completed jobs with the campaign tag ÷ emails delivered × 1,000
Where the numbers come from: Invoices on completed jobs carrying the campaign.
Metric
List health per send
The cost side of every send. Rising numbers mean the list is stale or the message is off.
(unsubscribes + spam complaints + hard bounces) ÷ emails sent
Where the numbers come from: The send report in your email tool; Postmaster Tools for Gmail complaint data.
Compare lists against each other, not against industry open-rate tables. If the unsold-estimate list earns ten times the lapsed-customer list per thousand, spend your writing time there. If a list's health number keeps rising, slow it down before mailbox providers do it for you.
Marketing platforms and agencies plan campaigns from list sizes, and that's all they need. Once the connection to TradesForce is live (it is coming soon), it will see the size of each TradesWork list, with no contact details.
Free download · ExcelField Service KPI ScorecardTrack the 12 numbers that run a service business, week by week, with formulas already built in.Where email fits with the other channels
Email is the cheapest touch you have and the easiest to ignore. It works best as one step in a sequence: an email first, a text to customers who agreed to marketing texts, a call or a mailer for the high-value rungs. Texting has much stricter consent rules than email; the text message marketing hub explains them. For the rungs worth a stamp, see direct mail for contractors. For definitions of the money numbers, the glossary entry on customer acquisition cost shows how to compare email with paid channels on equal terms.
Footnotes
-
CAN-SPAM Act: A Compliance Guide for Business, Federal Trade Commission, accessed October 15, 2026. ↩ ↩2
-
Email sender guidelines, Google Workspace Admin Help, accessed October 15, 2026. ↩
-
Sender best practices, Yahoo Sender Hub, accessed October 15, 2026. ↩
-
Protect your email privacy in Mail on Mac, Apple Mail User Guide, accessed October 15, 2026. ↩