10% OFF Grab your exclusive coupon code · Ends in 00d 00h 00m 00s Get Coupon
Blog

How to build a maintenance-plan flywheel that bills itself

The maintenance-plan automation playbook — pricing, attach-rate triggers, renewal automation, and the GHL pipelines that turn one-time jobs into recurring revenue.

  • 7 min read
  • By Snapshot Team
  • May 25, 2026
#maintenance-plans#recurring-revenue#automation#retention

Most plumbing shops we audit are leaving $80,000–$240,000 a year on the table by not running a maintenance-plan program correctly. Not because they don’t have one — they usually do, in some form. It’s because the program lives entirely in a tech’s head, gets offered on maybe 1 in 8 jobs, and renewals are tracked on a sticky note.

A maintenance-plan flywheel is not a marketing campaign. It is a billing system that runs in the background while your trucks are out doing real work. Built right, it adds 18–34% to a plumbing shop’s annual revenue without adding a single truck.

Here’s how.

What a maintenance plan actually is (for the operators we work with)

Stripping the upsell-y language out: a plumbing maintenance plan is a prepaid annual contract where the homeowner pays $14–$28/month (or $168–$336/year upfront) in exchange for:

  • One annual whole-house plumbing inspection.
  • A water-heater flush.
  • Priority dispatch (jumps the queue on emergency calls).
  • 10–15% off all non-emergency work.
  • Free service-call fee on the first call of the year.

It’s not a warranty. It’s not insurance. It’s a relationship product — and it’s the single biggest predictor of customer lifetime value in residential plumbing.

Why most shops fail at this

Three patterns we see repeatedly:

  1. The plan exists but never gets offered. The tech is too busy completing the job to remember to mention it. The dispatcher doesn’t have a process. So the plan dies in the truck.
  2. The plan gets offered, but only on big jobs. Operators intuit “this customer paid $4,800, they’re a maintenance plan candidate” — but actually, the customer who paid $280 to clear a kitchen drain is more likely to enroll because the price feels small relative to the plan.
  3. Renewals are manual. Year 2 is when the plan should snap into recurring revenue. Most shops lose 40–60% of their plan customers in year 2 because no one remembered to email them in month 11.

The flywheel solves all three.

The flywheel, end to end

Five stages. Each is a GHL workflow.

Stage 1: every job over $250 triggers a plan offer

The trigger fires 24 hours after a job is marked “Complete” in the FSM (synced to GHL via the integration). The customer gets an email + SMS:

“Hi [Name], hope the [job type] is holding up. While we were out yesterday, we ran a quick eyeball check on the rest of your plumbing — looks generally okay. If you want to lock in priority dispatch + an annual checkup at $19/month, we can enroll you in 2 minutes. Reply YES.”

Reply rate to that combined channel: 34%. Conversion rate of YES replies to active plan: 71%. Net plan attach rate on $250+ jobs: ~24%.

Stage 2: every job under $250 gets a delayed offer

Smaller jobs get the offer at day 14 (not day 1) and the messaging is framed differently:

“Hey, since we were out for the [job type] a couple weeks ago — wanted to mention we just opened up our maintenance plan for new sign-ups. $19/month gets you a yearly checkup and 15% off everything. Worth a look?”

Lower conversion than Stage 1 (~11% attach), but volume is higher. Net contribution is comparable.

Stage 3: every plan customer gets a year-1 touchpoint at month 6

Plans die when customers forget they have them. The month-6 SMS:

“Hi [Name] — checking in. You’re on our maintenance plan and we want to make sure we use the value before year-end. Want to book your annual inspection now or in the fall?”

Click-through to booking: 41%. The customers who book inside this window churn at 1/4 the rate of those who don’t.

21%
Plan attach rate (median)
78%
Year-2 renewal (with flywheel)
44%
Year-2 renewal (without)

Stage 4: the renewal sequence

This is where most shops bleed the most. The renewal sequence runs at month 10 (60 days before plan expiry) and looks like this:

  • Month 10, day 0: Email — “your plan renews in 60 days, here’s everything we did for you this year.”
  • Month 10, day 7: SMS — “Quick question — want us to auto-renew your plan or pause it?”
  • Month 10, day 21: Email — “lock in another year at the same rate (we raised prices for new sign-ups in April but you’re grandfathered).”
  • Month 11, day 0: SMS to a human dispatcher to make a personal call to any plan customer who hasn’t engaged.
  • Month 11, day 25: Final email — “your plan expires Friday — one click to keep it.”

Renewal rate with the full sequence: 78%. Without it: 44%. That delta is the flywheel.

Stage 5: lapsed-plan win-back

For the 22% who don’t renew, the sequence shifts to a win-back posture at days 30, 90, and 180 post-lapse. Recovery rate: ~14%, but the recovered customers tend to be the highest-value ones (they didn’t renew because they moved or had a billing issue, not because they didn’t love the service).

Pricing the plan correctly

We see operators pricing plans at $99/year and wondering why nobody signs up. The plan needs to feel like a real product, not a coupon. Our recommended structure:

  • Basic: $19/month or $204/year (save $24). Single-family residence. Annual inspection + flush + 10% off work.
  • Plus: $29/month or $324/year. Adds priority dispatch + free service call + 15% off work.
  • Commercial: custom quote per property, usually $1,200–$4,800/year for multi-unit residential or small commercial.

Billing: the boring part that matters

The flywheel only works if billing is automated. The snapshot integrates with Stripe (or your existing FSM’s billing if it does recurring) to handle:

  • Initial enrollment + first month charge.
  • Monthly auto-charge on the customer’s anniversary date.
  • Failed-payment retry sequence (3 attempts over 7 days, then dispatcher call).
  • Annual receipt generation.
  • Plan upgrade / downgrade flows.

Failed-payment recovery is critical and usually overlooked. The snapshot’s recovery sequence saves ~22% of would-be churned plans purely by retrying card charges and texting the customer to update billing.

The plan dashboard

Every shop running the snapshot gets a single-page plan dashboard inside their GHL account showing:

  • Active plans (count + MRR).
  • Plans up for renewal in the next 60 days.
  • Lapsed plans (in win-back mode).
  • Attach rate by tech (yes, we measure which tech is best at selling the plan).
  • Average lifetime value per plan customer.

The tech-level attach rate is the report that changes operator behavior most. The first month a shop sees it, the lowest-performing tech jumps to median within 30 days because no one wants to be on the bottom of the chart.

Illustrative · Atlanta plumber
Owner, 4-truck shop

When NOT to push the plan

Three scenarios where the snapshot suppresses the plan offer:

  1. The customer complained about the job. Don’t ask the unhappy customer to enroll in recurring billing. The workflow checks the review pipeline first; if the customer left a 1- or 2-star review or filed a complaint, the plan offer is suppressed.
  2. The customer is in collections. Don’t enroll someone who hasn’t paid for the previous job.
  3. The customer is a repeat warranty caller. If a customer has called for warranty work three times in 12 months, suppress the plan and route them to a service manager instead — there’s a deeper issue.

These suppressions are baked in. They protect the plan from becoming an annoyance.

What this looks like at the shop level

A 3-truck residential plumbing shop running the snapshot’s flywheel for 12 months typically lands at:

  • 180–280 active plans (depending on annual job volume).
  • $3,400–$5,400 MRR from plans alone.
  • +22% revenue uplift on plan customers vs. non-plan in years 2–3.

That’s $40K–$65K/year in pure recurring revenue, plus another $80K–$140K/year in incremental jobs from the higher-loyalty plan customers. Off a snapshot that costs $997 once.

What to do tomorrow morning

If you have a plan and it’s not working: don’t redesign the plan. Build the flywheel. The plan you have is probably fine — the offer timing, the renewal automation, and the suppression rules are what’s missing.

If you don’t have a plan: pick the simplest version ($19/month, annual inspection, 10% off work) and launch it as soon as the snapshot installs. We pre-build the entire flywheel during install — you flip a toggle and it’s running by hour 25.

The maintenance plan flywheel is the slowest-burning piece of the snapshot. It doesn’t pay back in 14 days like the emergency-call automations. It pays back over 18 months and then compounds for years. It’s also the piece that turns a plumbing shop from “a job we work” into “a business we own.”

Ready to put this into practice?

Install the Plumbing Snapshot in 24 Hours

Every workflow above — already built, refined across 80+ plumbing shops, installed for you for $997 one-time.

Book Demo Get Snapshot