Every home service business has a rhythm. HVAC spikes in the first heat wave and again in the first cold snap. Landscaping runs hard from spring through fall and nearly stops in winter. Roofing follows storms. Plumbing has a steady base with a cold-weather surge. Moving peaks in summer. Most owners feel this rhythm in their bones but do not plan their marketing around it, so they market hardest when they are already slammed and go quiet exactly when they need work.
A seasonal marketing calendar fixes that. It is a simple plan that maps your marketing activity, the campaigns, the content, the review pushes, the paid spend, onto the demand curve and the staffing reality of your specific business. This guide shows how to build one that works across trades, with examples from several, without repeating the trade-specific playbooks. If you want the deep version for your category, the plumbing, HVAC, roofing, and landscaping guides go further. This one is about the planning method itself, so it applies whether you run a cleaning company, a moving crew, a pest control route, or a junk removal operation.
Why a calendar beats reacting
Marketing that reacts to the season is always late. By the time you notice the phone slowing in February and decide to do something, the campaign takes weeks to build, the content takes weeks to rank, and the reviews you should have collected in the fall are gone. A calendar moves the work forward: you build the spring campaign in January, you collect reviews all through the busy season so you have them for the slow one, and you have paid budget staged to turn on the week demand starts climbing, not the week after.
The three curves you are planning against
- Demand: when customers in your area actually search for and need your service, driven by weather, holidays, and the calendar.
- Competition: when every other business in your trade is also advertising, which raises costs and lowers response.
- Capacity: how many jobs your crew can actually do in a given week, and when you have slack.
The best marketing timing is often slightly ahead of the demand curve, before competition peaks, and aimed at filling capacity you know you will have. Marketing into a week you are already fully booked wastes money and creates unhappy customers you cannot serve.
The compounding cost of reacting
Reactive marketing does not just miss the current season. It misses the next one too. If you go quiet in the off-season, your Google Business Profile loses review velocity and your rankings soften, so when the busy season arrives you are starting from a weaker position than last year. If you scramble to write seasonal content in November, it does not rank until January, by which point the demand has passed. If you forget to ask for reviews during your busy summer, your profile enters the slow winter with the same review count it had in spring, while a competitor who kept asking added forty. Each reactive year makes the next one harder. Each planned year makes the next one easier, because you are refreshing assets instead of building them and entering each season stronger than the last.
Step one: map your own year
Before any planning, get the real shape of your business on paper.
Pull two or three years of monthly data
From your invoicing or job software, list monthly job count and revenue for the last two or three years. Do the same for lead volume if you have it. Now you can see your actual peaks, your actual troughs, and how sharp the transitions are. Most owners are surprised by something: a shoulder season they thought was slow that is actually fine, or a "peak" that is really two separate spikes with a dip between.
Look at the transitions specifically, not just the highs and lows. How many weeks does it take demand to go from the trough to the peak? A sharp transition, common for weather-triggered trades, means your pre-peak window is short and your campaign has to be ready to switch on fast. A gradual transition gives you more room to ramp. The shape of the curve, not just its height, tells you how much lead time your calendar needs at each turn of the year.
Mark the demand triggers
Next to each month, note what drives demand:
- Weather: first heat, first freeze, storm season, dry spells, leaf fall, snow.
- Calendar: tax refund season, back to school, holidays, end of year, spring cleaning, the start of the school year for movers.
- Local events: anything specific to your market that moves demand, a big regional festival, a university calendar, a local construction cycle.
Mark your capacity
For each month, note whether you are typically over capacity, at capacity, or with slack. This is the single most useful overlay, because it tells you when marketing should push for volume and when it should push for higher-value work or maintenance-plan sign-ups instead.
Identify your real problem months
Circle the two or three months where revenue drops below what you need to cover fixed costs comfortably. Those are the months your calendar exists to fix. Everything else is optimization.
A worked mapping exercise
Take a house cleaning company as an example. Pulling three years of monthly revenue shows a pattern the owner half-knew: a big surge in the four weeks before major holidays and in early spring, a summer dip when families travel and cancel recurring visits, a smaller dip in deep winter, and a steady base of recurring clients underneath all of it. Marking the triggers, the spring surge is "spring cleaning" plus people preparing to list homes; the pre-holiday surges are hosting; the summer dip is travel; the winter dip is budgets and weather. Marking capacity, the company is over capacity the two weeks before Thanksgiving and the week before winter holidays, comfortable most of spring and fall, and has real slack in July and January.
That single page now tells the owner everything: push recurring-plan sign-ups hard in February and March so they carry through the summer, market one-time deep cleans and move-out cleans in the pre-holiday windows but stop taking new recurring clients once the calendar is full, run a summer retention campaign to keep travelers from cancelling, and use July and January for the website and review work there is no time for otherwise. None of that is guesswork. It came straight off the map.
Step two: assign a job to each part of the year
Divide your year into phases and give each one a marketing objective. The phases differ by trade, but the pattern is consistent.
Pre-peak: build ahead
The four to six weeks before demand climbs. Objective: be positioned to capture the surge. Activities: refresh your service pages, publish or update seasonal content so it has time to rank, stage paid budget, warm up your email list, make sure your Google Business Profile hours and services are right for the season, and schedule the first wave of seasonal profile posts.
Peak: capture and convert
The high-demand window. Objective: book as much profitable work as your crew can handle, and collect the reviews and content you will need later. Activities: paid campaigns at full budget on high-intent terms, fast call handling, a hard push on review requests after every job, and job photos captured for content. Marketing spend here is about efficiency, not awareness, because the demand is already there.
Shoulder: shift the offer
The ramp down and ramp up periods on either side of peak. Objective: keep the crew busy with a different kind of work. Activities: promote the services that make sense off-peak, maintenance and inspections, planned replacements, smaller projects, and push maintenance-plan or membership sign-ups that create recurring revenue into the slow months.
Off-peak: fill the gap and prepare
Your slow months. Objective: generate enough work to stay healthy, and build everything you will launch in pre-peak. Activities: targeted promotions on off-season services, outreach to past customers, referral pushes, and the behind-the-scenes work, website updates, content writing, review responses, local relationship building, that you have no time for when you are busy.
Match the message to the phase
The offer is not the only thing that changes by phase. The tone does too. Pre-peak messaging is about planning ahead and beating the rush: "book now before we fill up." Peak messaging is about speed and availability: "same-day service, we answer the phone." Shoulder messaging is about value and foresight: "the smart time to replace it is now, not in an emergency." Off-peak messaging is about the specific problem you can solve in a slow month plus a reason to act now, a limited window, a seasonal discount, a bundled service. A customer who sees "book your spring tune-up" in a heat wave, when they need a repair today, feels like you are not listening. Aligning the message to what the customer is actually feeling that month is half of what makes a seasonal calendar work.
Do not forget the always-on segments
Even in a highly seasonal trade, some demand does not follow the curve. Emergencies happen year-round. New movers into your area need every trade regardless of season. Commercial and property-management clients often have steadier needs than homeowners. A good calendar keeps a baseline of visibility for these segments even in the deepest off-season, so the business never truly goes dark, it just changes what it emphasizes.
Step three: plan each channel by phase
Now fill in what each channel does in each phase.
Google Business Profile posts
Plan a season of posts in advance, one every week or two. Pre-peak posts prime the service ("Time to schedule your spring tune-up"). Peak posts emphasize availability and response ("Same-day repairs this week"). Shoulder posts promote the off-peak offer. Off-peak posts keep the profile active and can highlight reviews, completed projects, or community involvement. Batch-write a quarter of these at once so it is not a weekly scramble.
Profile posts are low effort and easy to drop when things get busy, which is exactly why they belong on the calendar. A profile that posts consistently signals an active, engaged business, and the posts themselves put a timely offer in front of people who find your listing. Write twelve at a time, one for each of the next twelve weeks, with the seasonal angle already built in, and schedule them. Then during your busy weeks there is nothing to remember, and during your slow weeks the profile still looks alive. Rotate the format so it is not all promotions: a completed job with a photo, a short seasonal tip, a highlighted review, a community note, then back to an offer.
Email to your customer list
Your past customers are the cheapest work you will ever get. Plan a light, useful email schedule: a pre-season reminder to book maintenance, a mid-season tip, an off-season check-in with a reason to call. For trades with recurring service, this is where you drive renewals. For one-time trades, this is where you stay top of mind for the next need and the referral. Keep it to once a month or less so it does not become noise.
The pre-peak email is the highest-value one to get right. Sent to your existing customers two or three weeks before demand climbs, with a simple, specific call to book their seasonal service now before the schedule fills, it often produces a burst of easy, high-margin bookings from people who were going to call you anyway and just needed the nudge. That single email, timed well, can be worth more than a month of cold acquisition, and it costs almost nothing. Build your calendar so that email is written and scheduled during the off-season, not thrown together the week you remember it.
Social content
Social follows the same rhythm but leans on visual proof. Peak season is when you capture before-and-after photos and short job videos; off-season is when you post them, since you have time and the feed still needs feeding. Match the cadence to what you can sustain, which the post frequency guide covers, and do not try to post daily during peak when the crew is flat out.
The practical split: peak is a capture season, off-peak is a publishing season. During the rush, the job is simply to get photos and short clips of the work, a phone in a technician's pocket and a habit of shooting the before and after is enough. During the slow months, you have time to edit, write captions, and post on a steady schedule from the library you built up. This inversion, gathering material when you are busy and publishing it when you are not, keeps your social presence consistent without asking a stretched crew to also be content creators in the middle of their hardest weeks.
Paid campaigns
Stage paid budget to the demand curve, not evenly across the year. Spreading a fixed annual budget in twelve equal monthly amounts is one of the most common mistakes, because it underspends when demand and conversion are highest and overspends when neither is there. A rough allocation for a seasonal trade:
- Pre-peak: ramp spend up in the two to three weeks before demand climbs, on high-intent terms, so you are visible when the first searches start.
- Peak: full budget, tight focus on the terms that book, careful management because competition and costs are highest.
- Shoulder: reduced budget aimed at the off-peak offer.
- Off-peak: minimal or paused on acquisition terms, unless you have an off-season service worth promoting. Redirect the saved budget into pre-peak next cycle or into the foundational work.
How much total to spend across the year, and how to split it between paid and owned channels, is covered in how much a local business should spend on marketing.
Reviews
Review collection should be heaviest during peak, because that is when you do the most jobs, and the reviews you bank in July are what make your profile competitive in January. Set a peak-season rule that every completed job gets a review request within a day. In the off-season, keep asking, but also spend time responding to older reviews and using the best ones in content.
Think of review velocity as something you are storing up. A profile that gains reviews steadily all year looks healthy and ranks well. A profile that gains forty in July and none from August to March looks like it had a good summer and then stopped operating. Since your job volume naturally clusters in peak, the discipline is to convert that volume into reviews at a high rate while you have it, so the profile keeps a steady visible trickle even in months when you do fewer jobs. Some businesses hold a few review requests back to send during the slow months, though asking close to the completed job generally gets a better response, so a better approach is simply to keep asking year-round and accept that the count grows faster in season.
Referrals and past customers
Your existing customer base is a channel with its own seasonality. A recurring-service trade should time renewal and upsell outreach to land before the customer would naturally lapse. A one-time trade should reach out ahead of the next likely need: a roofer contacting storm-damage customers before the next storm season, a plumber reminding water-heater-replacement customers about a maintenance check a year later. Referral pushes work best in your slow months, when you have time to run them and your customers are not distracted, and when a small referral incentive stretches further against a lighter marketing budget.
Website and local pages
Seasonal content needs a head start. A "how to prepare your [system] for winter" page published in September has time to rank before it matters. Publishing it in November is too late. Build or refresh seasonal pages in the phase before you need them, and update the dates and details each year rather than starting over.
The build-once, refresh-yearly library
Over a couple of years, a seasonal calendar produces a library of pages that come back every year: the spring tune-up page, the storm-response page, the winter-prep checklist, the summer-demand FAQ. The work in year one is writing them. The work in every year after is a fifteen-minute refresh, updating the year, the pricing if it changed, adding this season's best job photos, and republishing. This is far more efficient than the reactive approach, where you scramble to write something every season and it never has time to rank. The calendar's real payoff compounds: each year you start further ahead than the last.
Local pages and seasonal relevance
If you serve multiple cities with dedicated pages, seasonal content can live at the city level too, but only if it is genuinely local. "Winter pipe protection in [city]" that mentions the actual local climate, the specific risks in that area, and a real local job is useful. The same paragraph with the city name swapped is a thin page that can hurt more than it helps. The line between a useful local page and a doorway page is covered in how many pages a local service website should have.
Step four: worked examples across trades
The method is the same; the calendar looks different. Here is how it plays out for four kinds of business.
HVAC in a climate with hot summers and cold winters
Two peaks, two pre-peaks, a real off-season in spring and fall that doubles as shoulder. Late winter: build the spring tune-up campaign, stage paid budget. Early spring: launch tune-up promotion, push maintenance plans. First heat: full paid budget on "AC repair" terms, all-hands call handling, hard review push. Late summer: shift messaging toward planned replacements before the fall rush. Early fall: heating tune-up campaign. First cold: repeat the peak playbook. December and January: the slow stretch, so promote maintenance-plan renewals, run a modest promotion on indoor air quality or thermostat upgrades, and do the website and content work for spring.
Landscaping and lawn care
One long peak from spring through fall, a hard stop in winter. The classic mistake is marketing only during mowing season, which leaves the business invisible for the other months. Late winter: this is pre-peak, and it is when contracts are won for the whole year, so the marketing push should be heaviest now, not in June. Spring: onboard the season's recurring clients, push cleanups and mulch. Summer: capture project photos, promote upgrades, collect reviews relentlessly. Fall: leaf removal and cleanup campaigns, plus sign-ups for next year and for winter services if you offer them. Winter: if you plow, that is a separate peak; if not, this is when you build next spring's campaign, update the site, and stay in front of clients so they renew without shopping.
The specific trap for lawn care: the recurring mowing contract is decided in February and March, and a company that waits until the grass is growing to advertise has already lost most of the year's contract revenue to whoever booked those customers in late winter. The calendar should treat February and March as the single most important marketing window of the year, heavier than the busy summer, because a contract won then produces revenue for eight or nine months and a contract lost then is gone until next year. This is exactly backward from where most lawn care companies put their effort, and fixing it is often the highest-return change a seasonal calendar makes for the trade.
Roofing
Demand is storm-driven, so the calendar has a base plan and a storm-response plan layered on top. Base: steady visibility year-round for "roof repair" and "roof replacement," heavier in the seasons your area sees weather, lighter in deep winter if roofs are snow-covered. Storm response: a pre-built campaign, landing page, paid ads, profile posts, email, that you can turn on within a day of a hail or wind event, because the first week after a storm is when most of the year's replacement work is decided. The calendar's job for a roofer is mostly readiness: everything staged so the storm-response push is a switch, not a build.
Moving companies
Summer is peak, driven by school calendars and lease cycles, with a smaller bump at month-ends year-round. Winter and mid-week, mid-month are slow. Spring: pre-peak, build the summer campaign, lock in booked dates early since movers plan weeks ahead. Summer: full spend, tight scheduling, reviews after every move. Fall: shift to the audiences that move off-season, downsizing seniors, corporate relocations, and promote packing services and storage. Winter: promote off-peak discounts, target the always-on segments, and do the foundational marketing work.
Junk removal
Steadier than most trades, with bumps around spring cleaning, post-holiday cleanouts in January, and moving season in summer, plus a long tail of estate cleanouts and property-manager turnovers that run year-round. Because demand is flatter, the junk removal calendar is less about surviving a dead season and more about pushing into the predictable bumps: a spring-cleaning campaign in March, a "new year, clear the clutter" push in January, and coordination with movers and realtors during summer. The steady base means paid spend can stay closer to level across the year, with modest increases into the bumps rather than dramatic swings.
Pest control
Two layers: a spring and summer surge in reactive calls as insects and rodents become active, and a recurring-contract base that ideally does not care about the season at all. The calendar's main job for pest control is to convert the seasonal spike callers into recurring customers, since a one-time treatment in July is worth far less than a year-round plan. Pre-peak, in early spring, is when to push preventive plans before the problems start. Peak is when to capture the reactive demand and offer every one-time customer a plan. Fall is rodent season in many areas, a second, smaller peak. Winter is when to work the recurring base, promote commercial contracts, and prepare spring.
Matching marketing to crew capacity
A marketing calendar that ignores staffing produces one of two failures: booked weeks you cannot serve, or paid crews with nothing to do.
When you are at or over capacity
Stop spending to acquire more of the same work. Instead:
- Shift paid budget toward higher-value jobs, so the same crew hours produce more revenue.
- Promote maintenance plans and future bookings that fill the slow months instead of overloading this one.
- Raise prices if demand consistently exceeds capacity. That is the market telling you something.
- Keep collecting reviews, because a fully booked peak is your best review opportunity of the year.
When you have slack
- Turn acquisition marketing up, especially on the services that fit the season.
- Run promotions with real urgency to pull demand forward.
- Work the past-customer list hard, since reactivation is cheaper than new acquisition.
- Send idle crew hours toward job-site photos, content, and small community projects that build local visibility.
Hiring on the calendar too
If your calendar shows you consistently turning away work in peak, the marketing plan and the hiring plan are the same conversation. Recruiting marketing, job postings, local outreach, has its own pre-peak: you need people trained before the rush, which means recruiting during the shoulder season.
Protecting margin during peak
Peak season is when it is easiest to book a lot of work at whatever price walks in the door and end the season busy but not much richer. A calendar that thinks about capacity also thinks about margin. During peak, the marketing should skew toward your higher-value services and your better-fit customers, not just raw volume. If you can be selective, be selective. The low-margin, long-drive, difficult jobs you say yes to in July are the ones that keep you from having capacity for the good jobs, and from taking a breath. The goal of a busy season is not maximum jobs, it is maximum profit within your capacity, and the marketing mix is one of the levers that controls which jobs fill the schedule.
The slow season is a resource, not just a problem
Owners tend to see the off-season purely as a revenue gap to close. It is also the only time of year with enough slack to do the work that makes the business better: rebuild the website, fix the review response backlog, train the office team on call handling, build local relationships, and plan the year ahead. A business that fills its slow months only with discounted work and never with improvement work stays exactly the same size year after year. Budget some of that slack time, deliberately, for the projects that raise your ceiling.
Step five: build the actual calendar
Turn all of this into a document you use.
The format
A single grid: months across the top, rows for each channel and activity down the side. In each cell, a short note on what happens that month. Twelve columns, maybe eight rows. It fits on one page, and you can see the whole year at once.
A sample slice, for an HVAC company
| Row | February | April | July | October |
|---|---|---|---|---|
| Phase | Off-peak / build | Pre-peak (cooling) | Peak (cooling) | Pre-peak (heating) |
| Primary offer | Maintenance plan renewals | Spring AC tune-up | Same-day AC repair | Heating tune-up |
| Paid budget | Low, off-season service terms | Ramping, tune-up + early repair | Full, "AC repair" high-intent | Ramping, tune-up + early repair |
| Profile posts | Reviews, completed projects | "Book your tune-up" | "Same-day service this week" | "Get ahead of the first cold snap" |
| Plan renewal reminder | Tune-up booking push | Mid-season air quality tip | Heating tune-up push | |
| Reviews | Respond to backlog | Ask every job | Ask every job, daily | Ask every job |
| Build work | Write spring content, plan Q2 posts | Draft summer content | Capture job photos and video | Draft winter content |
Fill in the other eight months the same way and you have the whole plan on one page.
What each row covers
- Phase: pre-peak, peak, shoulder, or off-peak, for that month.
- Primary offer: what you are promoting.
- Paid budget: the planned spend level and focus.
- Profile posts: the theme for the month's posts.
- Email: the send and its purpose.
- Social: capture or publish, and roughly what.
- Reviews: the collection intensity.
- Build work: what you are preparing for a future phase.
Add the lead times
For anything that needs a head start, note when the work begins, not just when it launches. "Spring campaign launches in March" becomes "spring campaign built in January, content published February, paid live March." The lead times are what keep you from being late every year.
Review it quarterly, rebuild it annually
Each quarter, check the plan against reality and adjust. Once a year, rebuild it with the latest data, because your business changes: a new service, a new market, a bigger crew, a shift in your demand pattern. Keep last year's calendar next to the new one so you can see what you planned, what actually happened, and where the timing was off.
Common seasonal planning mistakes
- Marketing at the peak instead of before it. By the time you are busy, the customers have already chosen. Push in pre-peak.
- Going fully dark in the off-season. Disappearing for three months costs you rankings, review velocity, and top-of-mind position that takes longer to rebuild than it did to lose.
- Not banking reviews during peak. The reviews you fail to collect in your busy months are the ones you wish you had when the profile needs to compete in the slow ones.
- Ignoring capacity. Booking a peak week you cannot serve creates bad reviews that follow you all year.
- Treating every year as new. Rebuild seasonal content, do not recreate it. Update the tune-up page, do not write a new one.
- No lead times. A campaign that "launches in spring" with no build date attached launches in summer.
- Spreading the budget evenly. Twelve equal monthly amounts underspend when demand and conversion are highest and waste money when neither is there.
- Confusing the busy season with the important season. For some trades, like lawn care, the contracts that fund the whole year are won in a quiet month, and the busy months are just delivery.
If this is your first year doing it
You do not need a perfect calendar to start. Do this:
- Identify your two worst revenue months.
- Work backward six to eight weeks from the start of each of your peak periods, and put a "build the campaign" milestone there.
- Set one rule for peak season: every completed job gets a review request within a day.
- Pick one off-season offer, maintenance plans, inspections, a specific service, and plan a promotion for it in your slow months.
- Batch-write a quarter of Google Business Profile posts in advance.
That is a real calendar, and it will already put you ahead of most competitors, who are still marketing hardest the week they are most booked. Next year you add detail, fold in more channels, and tune the timing based on what the data showed.
Keep it visible
A calendar that lives in a folder does nothing. Print the one-page grid and put it where you and whoever handles marketing will see it weekly. At the start of each month, look at the column for that month and the next, and confirm the build work for future phases is actually happening. The whole value of the plan is that it moves work forward, and that only happens if someone checks it against the calendar on the wall, not the one in their head.
A seasonal calendar is not a one-time project. It is a habit that turns your business's natural rhythm from something that happens to you into something you plan around, and after two or three cycles the compounding shows up in the numbers: steadier revenue through the slow months, a stronger position entering every peak, and a marketing effort that costs less because so much of it is refreshing what already works instead of building from nothing every season.

