Why "how often" is the wrong first question
Every contractor asks this the same way: what is the safe number of emails per month before people start hitting spam? That question assumes one list, one cadence, one answer. In practice, a contractor's list is three or four different lists wearing one name. There is the person who got a quote last week and has not decided. There is the customer whose HVAC system you serviced in March and is due for a fall tune-up. There is the name from a 2019 job who has not opened an email since. Sending all three the same weekly blast is what gets a domain flagged, not the total volume.
Inbox providers do not count your sends. They count engagement relative to your sends. A list of 400 names where 180 open every message can absorb a weekly email without blinking. A list of 4,000 names where 60 people ever open anything will get throttled at half that frequency, because the ratio of ignored mail to opened mail is what Gmail and Outlook actually score. That is the mechanic behind every "how often" answer worth giving.
So the real first question is: what segment is this message going to, and what is it trying to accomplish? A quote follow-up is not a newsletter. A storm-damage check-in is not a maintenance reminder. Once the list is split by purpose, frequency stops being a guess and becomes a schedule tied to the buying cycle of the trade.
- Active customers (serviced in the last 12 to 18 months): can take 2 to 4 touches a month without complaint.
- Quoted, not closed: a short, time-boxed sequence, then stop or move to long-term nurture.
- Cold names (no open in 6+ months): a win-back attempt or two, then suppress from regular sends.
- Newsletter subscribers who never bought: monthly at most, until they convert or go cold.
A cadence by list segment, not by calendar
Here is a working starting point most trades can use, adjusted for the buying cycle. It is not a rule enforced by any inbox provider. It is a range that keeps engagement high enough that providers keep delivering to the inbox instead of the promotions tab or the spam folder.
| Segment | Typical cadence | What goes in it |
|---|---|---|
| Quoted, not closed | 3 to 5 touches over 2 to 3 weeks, then pause | Answer an objection, add urgency (season, price hold), then a final check-in |
| Active customer, recent job | 1 to 2 per month | Care tips, warranty reminders, referral ask, seasonal maintenance offer |
| Maintenance plan members | Tied to the plan schedule (often quarterly), plus 1 general touch a month | Scheduling reminders, plan renewal, priority-service messaging |
| Cold, 6-12 months no open | 1 win-back send, then re-test in 60-90 days | "Still need this done" subject line, one clear offer, easy opt-out |
| Cold, 12+ months no open | One last attempt, then suppress from regular sends | Simplest possible ask; if no open, remove from the main send list |
Trades with a hard season (HVAC, roofing after storms, landscaping in spring) can run heavier for 4 to 6 weeks around that window and drop back to baseline the rest of the year. A plumber or electrician without a strong seasonal spike is usually better served by a steady 1 to 2 touches a month, because there is no single moment where volume is expected and forgiven.
The pattern that gets flagged is not seasonal intensity. It is flat, indefinite weekly sending to a list that was never segmented, where the same 15% opens and the other 85% either ignore it or eventually mark it spam.
The warning signs you are sending too much (or to the wrong people)
Contractors do not usually get a warning email from Gmail that says "you are about to get flagged." The signal shows up in the numbers first, and it shows up quietly. Watch these:
- Open rate under 15-20 percent on a list that used to open at 30 percent or higher. That drop usually means fatigue, not a bad subject line.
- Spam complaint rate above 0.1 percent. That sounds small, but inbox providers treat it as a hard signal. A few complaints on a small send can do real damage.
- Rising unsubscribe rate on routine sends (not just promotional blasts). People unsubscribing from a maintenance reminder means the reminder feels like noise, not service.
- Deliverability drop to Gmail specifically while other providers still land fine. Gmail is usually the first to move a sender to Promotions or Spam when engagement sags.
- Bounce rate creeping up on a list that has not been cleaned in a year or more. Dead addresses drag every metric down and signal a stale list to filters.
Any one of these on its own is a nudge to look closer. Two or more together, especially open rate and complaint rate moving the same direction, is a sign to cut volume immediately, not next quarter. Pulling back frequency for 30 to 60 days while you clean the list and resegment is almost always the faster fix than trying to write your way out of it with better subject lines.
The businesses that get burned worst are the ones that keep sending the same volume into declining numbers because "we've always sent every week." Inbox reputation is slow to build and fast to lose. A sending domain that gets marked as spam by enough recipients can see deliverability problems that outlast the bad habit that caused them by months.
Where to actually check these numbers: most email service providers built for small business (Mailchimp, Constant Contact, Klaviyo, and similar) surface open rate, bounce rate, and unsubscribe rate on every campaign report without extra setup. Spam complaint rate is the one worth digging for specifically, sometimes labeled "abuse rate" or "complaint rate" in a deliverability or reputation tab rather than the main campaign summary. If a platform does not expose complaint rate at all, that is itself worth treating as a red flag; it means there is no way to catch the problem before it turns into a domain-wide deliverability issue that also drags down transactional email like invoices and appointment confirmations sent from the same domain.
What actually determines the ceiling: list quality, not a fixed number
Two contractors can send the exact same four emails a month. One has zero problems. The other gets flagged inside six weeks. The difference is never the count, it is the list underneath it.
A list built from real transactions (past customers, people who requested a quote, people who signed up at a job site) tends to have high engagement because the relationship already exists. A list bought, scraped, or built from a trade show badge scan without explicit opt-in has weak engagement from day one, and every send to it drags the sender's overall reputation down, including sends to the good names on the same list.
This is why list hygiene matters more than any cadence rule:
- Remove hard bounces immediately. A dead address that keeps getting sent to hurts every campaign after it.
- Suppress chronic non-openers (12+ months, multiple win-back attempts failed) from regular sends rather than letting them sit on the list dragging down the average.
- Never buy or scrape a list and merge it into a customer list. It is the fastest way to tank a sender reputation that took years to build.
- Keep opt-outs honest and immediate. A one-click unsubscribe that actually works fast is worth more than any subject-line trick for staying out of spam folders.
A 600-name list of real customers who open at 35 percent will outperform a 6,000-name list scraped from somewhere that opens at 4 percent, on every metric that matters: deliverability, replies, and jobs booked. Cadence questions almost always resolve once the list itself gets cleaned up first.
TCPA, CAN-SPAM, and what compliance has to do with frequency
Frequency and compliance are related but not the same problem. CAN-SPAM sets the floor: every commercial email needs an accurate from-name, a real subject line, a physical address, and a working one-click unsubscribe honored within 10 business days. None of that caps how often you can send. You can be fully CAN-SPAM compliant and still send so often that recipients mark you spam, which hurts deliverability regardless of legal compliance.
SMS is a different animal and the rules are tighter. TCPA requires prior express written consent before a marketing text goes out, and carriers actively monitor sending patterns for spam-like behavior independent of consent. A contractor mixing frequent texting with frequent email to the same list needs both channels compliant on their own terms; one does not cover the other. That is a separate discipline with its own cadence limits, not a subset of email frequency.
Where compliance intersects with frequency directly: a high complaint rate is itself a signal to inbox providers and, in aggregate, a pattern regulators and email service providers watch. An ESP that sees a sender's complaint rate spike can throttle sending, add delivery delays, or in serious cases suspend the account, independent of whether every individual email was technically compliant. Staying under the complaint-rate threshold is as much a frequency-discipline issue as a legal one.
Practical takeaway: get consent documented (opt-in checkbox, quote form language, or clear point-of-sale language), keep the unsubscribe link one click and honored fast, and treat a rising complaint rate as the real ceiling, not the CAN-SPAM minimum as the floor to test against.
One more distinction worth holding onto: consent for email (an opt-in on a form, an existing customer relationship) is not automatically consent for SMS, and vice versa. A customer who gave an email address on a quote form has not necessarily agreed to receive texts. Treat the two as separate consent records, even when the same person ends up on both lists, so a compliance question about one channel does not put the other at risk.
Building a cadence that survives contact with a real customer list
The sequence that works for most contractor lists is not complicated, but it takes discipline to hold to once the list is segmented:
- Split the list. Active customers, quoted-not-closed, cold, and newsletter-only, at minimum.
- Set a baseline per segment. Use the ranges above as a start, not gospel.
- Add seasonal spikes where the trade supports one. A roofer after a storm, an HVAC company before summer and before the first cold snap, a landscaper in early spring. Drop back to baseline after the window closes.
- Watch open rate and complaint rate monthly, not quarterly. A drift you catch in month one is a subject-line problem. A drift you catch in month four is a list problem.
- Suppress instead of stopping entirely. Cold names do not need deletion, they need to stop receiving the regular cadence until a win-back attempt re-engages them.
None of this requires a large team or an expensive platform. It requires someone actually watching the numbers and adjusting instead of running the same weekly send on autopilot for three years. That is the part contractors running email themselves tend to skip, not because the logic is hard, but because there is no time in a week already full of jobs, quotes, and a crew to manage.
Getting the sequences built once, tied to each trade's real buying cycle (quote follow-up, seasonal reminder, reactivation, review ask), and then largely left to run on schedule is the difference between an owner tuning cadence by hand every month and a system that already accounts for it.
How cadence shifts by trade
The baseline ranges above hold across trades, but the shape of the calendar year does not. A roofer's list behaves nothing like a plumber's list, because the demand pattern behind each one is different.
Roofing and exterior trades (roofing, siding, gutters) see the sharpest spikes. After a hailstorm or a named storm, past customers and even old leads should get a check-in within days, not weeks, since damage windows and insurance claim deadlines are time-sensitive. Outside of storm season, that same list can go quiet for months without losing engagement, because there is nothing urgent to say. Sending a generic monthly newsletter to a roofing list in the off-season, with no storm and no real update, is where roofers tend to over-send and watch open rates fade.
HVAC has two predictable spikes (pre-summer cooling check and pre-winter heating check) plus a steady maintenance-plan cadence in between. A maintenance plan member expects a reminder roughly on their service interval; that is a scheduled touch, not a marketing send, and it should not count against the monthly promotional cadence at all. HVAC companies that blend plan reminders and marketing content into the same weekly send tend to see plan members unsubscribe from messages they actually need.
Plumbing and electrical run flatter. There is rarely a single seasonal trigger, so a steady 1 to 2 touches a month, focused on maintenance tips, safety reminders, and referral asks, tends to outperform trying to manufacture urgency that is not there.
Landscaping and lawn care cluster hard around spring startup and fall cleanup, with a quieter maintenance cadence through the growing season for customers already on a recurring service. A landscaper's biggest list mistake is going silent all winter and then sending five emails in the first two weeks of spring; a single "get on the schedule early" touch in late winter spreads that spike out and keeps deliverability steadier.
The common thread: match the send to the moment the customer is actually thinking about the service, not to a fixed weekly habit that ignores the season.