AI Marketing for Plumbers: A Worked 12-Month Posts and Offers Calendar

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI Marketing for Plumbers: A Worked 12-Month Posts and Offers Calendar.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI Marketing for Plumbers: A Worked 12-Month Posts and Offers Calendar.

Plan one theme a month from the jobs your own records show for that month, with two posts and one offer each: emergency readiness in deep winter, drain clearing in spring and at leaf fall, heater age checks and boiler checks before the heating season. AI drafts; a licensed plumber approves every instruction.

Copying an agency's generic calendar is how a firm ends up promoting drain specials in the month its vans are tied up with burst pipes. Build yours from last year's jobs, cap every offer at what the crew can deliver, and have the person who would give the advice on a doorstep check the advice in each post.

Follow me on Instagram@sagnikteaches

The example firm here is invented: five vans, about 3,150 jobs a year, 1,400 past customers on file and cold winters. The months below treat December to February as the cold ones. If your winter falls in June to August, move every row six months. Every figure is illustrative.

Connect on LinkedInSagnik Bhattacharya

The assistant does two jobs. It reads a table of job counts and points out the peaks, and it drafts each month's pack from facts you supply. It knows nothing about your capacity, your licence limits or your prices, so those go into every prompt and get checked again on the way out.

Subscribe on YouTube@sagnikteaches

Let last year's job counts set the calendar

Export last year's completed jobs from your job software and count them by month and job type. That is a pivot table, and it contains no customer data, so it is safe to paste into an assistant. The example firm's table looks like this.

MonthJobsTop job typeCountSecond job typeCount
Jan310Burst or frozen pipe61Water heater failure52
Feb285Burst or frozen pipe44Water heater failure38
Mar240Leak repair52Drain blockage44
Apr235Drain blockage56Fixture install41
May250Fixture install58Drain blockage47
Jun245Fixture install55Leak repair46
Jul230Leak repair49Fixture install44
Aug225Leak repair47Drain blockage40
Sep260Boiler or heating service63Water heater failure41
Oct285Boiler or heating service71Drain blockage49
Nov290Water heater failure63Boiler or heating service55
Dec300Water heater failure58Burst or frozen pipe54

The monthly totals add up to 3,155 jobs. Paste the table with a prompt that forces the assistant to show its working.

Below is last year's job count for a five-van plumbing company, by month and job type.
It contains no customer data.
[paste the table]

1. For each month, name the two job types that peak and what share of the month's jobs they make up.
2. Tell me which job types peak in more than one season.
3. For each peak, name the month six to eight weeks earlier when prevention content should start.
4. List every assumption you are making that is not in the table.

The answer that matters is item 2. In this table, drain blockages peak twice, in April and again in October, so "drain season" is two seasons with different causes to talk about. Water heater failures climb from November, which puts the age-check content in September. Boiler and heating service peaks in September and October, so booking slots should open in August. Burst and frozen pipes peak from December, so outdoor-tap and insulation advice belongs in October.

Then read item 4, because it is where an assistant admits what it brought from general knowledge rather than from your table. If it tells you to push a drain special in September because autumn means leaves, while September's top job in your table is boilers, your table wins.

The calendar: twelve months, two posts and one offer each

Every row follows from the counts above. Prevention content starts six to eight weeks before the peak it targets, and an offer appears only in months when the vans have gaps.

MonthJob patternPost 1Post 2Offer
JanBurst and frozen pipes peakThe first ten minutes of a burst pipeHow we keep vans free for emergenciesNone; vans are full. Remind plan members of the priority line, if you have one.
FebBursts tail off, leaks followSigns of a slow leak after a freezeA repaired pipe, as a photo story (with consent)Post-freeze leak check at a fixed price
MarLeak repairs leadOutdoor taps and hoses: check before first useWhat a drain camera showsCamera survey added to any drain clearing
AprDrain blockages peakSlow drain: what to try, and when to callA cleared drain, before and after (real job)Fixed-price drain clearing slots
MayFixture installs leadA pre-sale plumbing check for sellersA between-tenants checklist for landlordsFixed-price pre-sale or pre-let check, by email to property managers and landlords
JunFixture installs peakBefore you go away: the main tap and appliance hosesWhat to ask before booking a fixture upgradeWashing-machine hose and valve check at a fixed price
JulLeak repairs leadThe water meter test for hidden leaksA leak found early (real job)Leak-finding visit at a fixed price
AugQuiet; boiler peak is comingBook your boiler check before the rushA servicing day, behind the scenesEarly-booking boiler service slots
SepBoilers peak; heater failures start to climbHow to find your water heater's ageWhat we look at in a boiler checkHeater age check by photo; boiler service at a fixed price
OctBoilers and drains peakOutdoor taps: shut off and drain before the first frostLeaf fall and drains: keep gullies clearOutdoor tap isolation and pipe insulation check
NovHeater failures peakWhat to do when the hot water stopsA heater replacement day (real job)Planned-swap price for heaters checked in September
DecHeater failures and frozen pipesAway over the holidays: heating on low, and who to callOur emergency hoursPlan renewals, with the priority line explained

Two rows need a caution. Boiler and heating checks belong in your calendar only if your firm services them and holds whatever registration or licence that work needs; otherwise swap the theme for water heater maintenance. And every "real job" post uses a photo from a finished job, with the customer's consent, and no name or address.

The calendar also tells you when to draft. Write each month's pack in the third week of the month before, review it in the same week, and schedule it for the first. That gives a plumber time to read the advice and the office time to check the dates. For a general version of this routine across any business, the one-hour monthly content plan covers the mechanics.

A January post, drafted and then cut by the licensed plumber

Ask an assistant for a burst-pipe post and you get something close to the draft below. It is illustrative, and every line in it is a decision someone has to own.

Burst pipe? Don't panic! Follow these steps: 1. Turn off your main water supply right away. 2. Switch off the electricity at the breaker if water is near sockets. 3. Open your taps to drain the system. 4. Use a heat gun or hairdryer to thaw any frozen sections. 5. Call [Company] on [phone] for 24/7 emergency help. We'll be there fast!

The example firm's licensed plumber has three house rules for public posts: no thawing instructions, no electrical instructions beyond "keep clear", and no promise about speed. Those rules turn the draft into this.

Burst pipe? Take these steps first. 1. Turn off the main water tap. Everyone in the house should know where it is. 2. Open the cold taps to drain the pipes. 3. If water is near sockets or the fuse box, keep clear and call an electrician or us. 4. Move valuables away from the leak and take photos for your insurer. 5. Call us on the number in our profile. Our emergency hours are [hours].

Step 4 of the draft went because the firm will not publish thawing instructions: it would rather send a plumber than coach a customer with a heat gun near wet pipes and wiring. Step 2 was rewritten so the customer is never told to approach electrics. "24/7" and "fast" went because the post cannot promise either unless the answering arrangement and the vans make it true. The phone number left the post text because Google's help page on posts warns that a post with a phone number in its description might be rejected, so the post points to the number on the profile instead.

A February proof post from a technician's job note

February's second post is a "real job" story, and it starts from the technician's own note, usually two lines typed in the van. Proof posts go wrong in a particular way: the assistant adds people and drama the note never contained. The note and the first draft below are illustrative.

Job note: Burst pipe in the loft after the frost on [date]. Uninsulated pipe above the garage. Replaced a short length of copper, insulated the rest of the run, checked the stop tap. Photos 1 to 4.

First draft: When the big freeze hit, one family woke to water pouring through their kitchen ceiling. Our team raced over and had everything fixed within the hour, saving them thousands in damage!

The note mentions no family, no kitchen ceiling, no hour and no sum of money, so all four went. The version that was published keeps to what the technician wrote.

After the frost on [date], an uninsulated pipe above a garage split in the loft. We replaced the damaged length, insulated the rest of the run and checked that the stop tap works. If you have pipes in a loft or garage, this is a good week to check they are lagged.

Two checks happened before it went out. The office cropped photo 2, where the house number showed on the garage door, and the customer agreed by text to the four photos being used. Ask for that agreement on the day of the job, while the customer is relieved, rather than weeks later.

Spring and autumn drain posts need different advice

The job table shows drain blockages peaking in April and again in October, and in the example firm's job notes they are different jobs. April's are mostly indoor drains: kitchen sinks, basins and showers. October's are mostly outside, at gullies and drain covers choked with leaves. One "drain season" post would be wrong for half the year, so each peak gets its own. The April request was two lines long, and the illustrative draft that came back shows why the review step exists.

Write an April post for homeowners about slow drains indoors: what they can safely try
themselves and when to call a plumber. Under 100 words. No phone number in the text.

Slow drain? Try this before you call! Pour a kettle of boiling water down the plughole, then half a cup of baking soda and a cup of vinegar. Leave it for 30 minutes and flush with more boiling water. Still slow? A chemical drain cleaner from any hardware shop will usually shift it. If nothing works, [Company] offers fast, affordable drain clearing!

The licensed plumber cut three things. The boiling-water recipe went, soda and vinegar with it, because the firm does not give advice that depends on what the pipes are made of, and a customer reading a post rarely knows. The chemical cleaner went, because the firm never recommends a product it has not tested, and the next person to open that trap may be its own technician, working around an unknown chemical. "Fast, affordable" went for the same reason "24/7" did in January. This is the version that was scheduled.

Slow drain indoors? First check whether it is one sink or every drain in the house. If it is one, clear hair and debris from the plughole and try a plunger, with the overflow blocked by a damp cloth. If several drains are slow at once, or water comes back up in a shower or bath, stop running water and book a visit: the blockage is further down the pipe, where a plunger will not reach. Drain clearing this month: $[price], booking link on our profile.

The October post moves outside, to clearing leaves from gullies and drain covers and checking that rainwater from the downpipes runs away freely. It gets the same review, plus one rule from the firm's plumber: no instruction to lift a heavy or shared drain cover, which is work for a visit, not a post.

Price an offer from delivery cost, not from the draft

Assistants suggest round, friendly prices such as "drain clearing from $99". They do not know that your average clearing takes 75 minutes on site and another 25 getting there. Work from the cost of delivering the job.

Say the example firm's loaded cost for a technician and van is $55 an hour (wages, vehicle, tools, insurance share). A drain clearing that takes 100 minutes in total costs 100 / 60 x 55, about $92. A $149 price leaves $57. A $99 price leaves $7 and nothing for the job that runs long. Put that arithmetic in a spreadsheet, not the chat, and ask the assistant only for the wording once the price is set.

Every offer also carries a cap. "Eight slots a week" is a number the booking tool can enforce; "limited availability" is not. If your plan members get first call on the slots, say so in the offer text, and keep the flat-rate price list as the single source for what each fixed price covers.

Water heater age: use your install records, not an assistant's guess

Your own install records are the best age data you have. Filter the job app for tank heaters you installed more than eight years ago. To choose the cut-off, take the median age of the heaters you replaced last year (11 in the example firm) and subtract about three years, so the customer hears from you before the likely failure rather than after it. The example list comes to 212 customers.

For heaters someone else installed, offer an age check by photo: the customer sends a picture of the data plate and a person in the office reads it. I would not let an assistant decode serial numbers. The format differs by brand and has changed over the years, so confirm the manufacture date with the maker's own decoder or support line. A confident wrong date in a customer message is worse than saying "we will confirm the age when we see the label".

The September email to the 212 customers can be short.

Subject: Your water heater: installed [year], checked for $[price]

Hi [first name], our records show we installed your water heater in [year], so it is [age] years old. Tank heaters wear out, and we would rather you plan for it than lose hot water on a cold morning. For $[price] we will flush the tank, check the visible fittings and the pressure relief valve, and tell you plainly how it looks. If it has years left, we will say so. Book here: [link]

No saving is promised and no particular failure is predicted. The email states a fact from your records, offers a defined visit and leaves the decision with the customer. The replacement proposal that sometimes follows is a separate document; the repipe and water heater proposal tutorial covers it.

One May email to property managers and landlords

Not every row of the calendar is for homeowners. May's pre-sale and pre-let checks go to a short list of property managers and landlords you already know, and they respond to a different message: speed, a written report and a fixed price per property.

Subject: A plumbing check between tenancies, $[price] a property

Hi [first name], between tenancies we test the stop taps, inspect visible pipework and fittings, run the drains and note the age of the water heater. You get a one-page report with photos within [timeframe]. We have [number] slots a week from [date]. Reply with the number of properties and we will send a booking form.

The assistant drafted this from the brief "fixed-price between-tenancies check, written report, B2B tone". Review it for two things: that the list in the second sentence matches what the technician really does, and that the turnaround is one the office can keep. When the report is generated from technician notes, the drain camera report tutorial shows the same idea for the camera survey.

The monthly pack prompt, and the claims list

Each month's pack comes from one prompt. Keep the standing rules (voice, banned claims, service limits) in a Project, which Claude and ChatGPT both offer, so every month starts from the same instructions. A free Claude account can hold up to five projects.

Draft October's marketing pack for a five-van plumbing company.
Theme: frost-proofing before the first freeze.
Facts you may use, and nothing else: outdoor tap isolation and pipe insulation check, $[price],
bookable until [date], eight slots a week, booking link [link].
Job for the proof post: [two or three sentences, no customer name or address].
Do not give any instruction that involves gas, electricity or opening pipework.
Do not put a phone number in the post text; point to the number on our profile.
Deliver: (1) an educational post under 90 words; (2) a proof post from the job I describe above;
(3) three email subject lines under 45 characters; (4) the offer wording in two sentences with the end date;
(5) a list of every factual claim in your drafts, so I can verify them.

Item 5 saves time. Checking a list of claims is quicker than rereading four drafts, and it makes the plumber's sign-off concrete. Here is the educational post the assistant returned for October, followed by its claims list.

Before the first frost: your outdoor taps. Water left in an outdoor tap or hose can freeze and split the pipe behind the wall, and you will not see it until the thaw. Disconnect hoses and store them. If there is an indoor shut-off for the outdoor tap, close it and open the outside tap to drain it. Check that exposed pipes in garages, lofts and crawl spaces are insulated. Not sure where your shut-off is? Book our outdoor tap check for $[price] by [date] and we will show you.

  • Water left in an outdoor tap or hose can freeze and split the pipe behind the wall. The plumber confirms it from experience.
  • Many homes have an indoor shut-off for the outdoor tap. The post says "if there is one", which keeps it true.
  • Pipes in garages, lofts and crawl spaces are exposed. The plumber confirms the wording matches the homes you work on.

The plumber ticks each claim or changes it. A post that fails on any claim does not go out, and the firm keeps the claims lists so next year's pack can reuse the ones that passed.

The review step before anything is scheduled

Different people check different things, and nobody checks their own prompt. For each monthly pack:

  1. The licensed plumber reads every instruction and every claim, using the claims list.
  2. The office checks the price, the end date, the slot cap and the booking link against the offer sheet.
  3. The owner confirms the pack matches the month's real workload, so no offer lands in a week with no spare van.
  4. Every photo comes from a real job, with the customer's consent and no name, house number or van registration visible. Google's photo guidance asks for no significant alterations or excessive use of filters or AI, and says the image should represent reality.
  5. Offers and review requests stay separate. A discount or free service in exchange for a review is not allowed by Google's review policy.
  6. Google Business Profile offers have a title, dates and times, as the posts help page requires, and the dates match the email.

Make each month's profile post a dated offer rather than an ordinary update, so the end date sits on the post itself and a stale price does not linger. Google's help page says posts older than six months are archived unless a date range is set. For plan renewals, the maintenance plan offers tutorial has the renewal wording.

Checking each month against last year

A calendar is a hypothesis. After each month, put the pack's offer code next to bookings in your job software. Use a different code for each channel, so the profile post, the email and the plan-member text each have a name the office can type into the "lead source" field. The lead sources tutorial explains how to turn those codes into a cost per job.

Three columns are enough: offer bookings, completed visits and what the visits led to (repair, replacement quote, nothing). The example firm's February result might read: 17 leak checks booked, 15 done, two replacement quotes. That is one line in a sheet, not a report. After two months with no bookings from a post type, replace it. After a year, rewrite the calendar from the new job counts rather than from the old calendar, and keep the claims lists that passed review.

Time is the other number to track. Drafting a month's pack with the prompt above takes about 45 minutes, the plumber's review about 20 and scheduling about 15, which is 80 minutes a month and roughly 16 hours across the year. If your own numbers run much higher, the likeliest cause is that the standing rules are not in the Project, so each month starts from nothing.

Questions plumbing owners ask about the calendar

Are two posts and an email a month enough to matter?

For a small firm, yes, if each piece is real and tied to an offer you can deliver. Two good posts, one email to past customers and a dated profile offer beat daily filler. Add a weekly photo from a finished job only if someone in the office enjoys doing it. Consistency over twelve months counts for more than volume in any one month.

Should a plumber post do-it-yourself advice?

Safe, simple advice earns trust: know where the main tap is, open cold taps to drain pipes, move valuables away from a leak. Keep gas, electrics and anything involving opening pipework out of public posts. The test is whether the firm's licensed plumber would say the same sentence to a customer on the doorstep.

What if a real freeze or flood lands in the middle of the calendar?

The real event wins. Swap in the emergency post, pause any offer that uses the same vans, and tell plan members how to reach you. Reinstate the calendar once the backlog is under control, and move the paused offer to the first quiet week rather than dropping it.

Does the calendar work for a one-van firm?

Yes, with fewer offers. Keep the monthly theme and the two posts, but run an offer only in months when the diary has gaps, and cap it at a number you can honour. A sole trader's main risk is an offer that books more visits than one person can do in the week.

Further reads

Sources: Google Business Profile Help on adding posts; Google Business Profile photo guidance; Google's prohibited and restricted content policy on reviews; Claude's pricing page (projects on the Free plan) and ChatGPT Projects help, checked October 2026.

Want a calendar that matches your own job history?

On a 1:1 call we'll look at how your jobs fall by month, pick the two or three offers your vans can actually deliver and decide which drafting steps are worth automating.

Book a 1:1 call with me