A carpet cleaner's best customer is one they've already cleaned for. The house is known, the drive is known, the price is agreed, and the carpet needs it again in roughly a year. Yet most carpet cleaning businesses treat every job as a one-off and spend their marketing money finding strangers. The carpet cleaning annual re-clean is the cheapest revenue you'll ever add. Here's why it doesn't happen on its own, five tactics that make it happen, and where ProTyz does the remembering versus where the work is on you.

Why customers don't rebook on their own

Carpet gets dirty slowly. Nobody notices the gradual change; they notice when guests are coming or when the dog has an accident. By then, they're searching "carpet cleaning near me" and you're one of ten results.

You didn't set the expectation. If the customer doesn't know that carpet should be cleaned every 12 to 18 months (or every 6 to 12 with pets), they have no reason to plan it.

You have no trigger. A spreadsheet from last March isn't going to tap you on the shoulder next March.

Each tactic below fixes one of these.

Tactic 1: Set the re-clean date at the door

The re-clean starts at the end of the first job. When you walk the customer through the finished rooms, say the sentence: "This should hold up about a year. I'll message you next [month] so you don't have to remember. Pet households usually go six to nine months, so I'll check in sooner if you'd like."

You've done three things: told them the interval, told them you'll handle the reminder, and asked permission to send it. Write the promised month in the customer's notes so the message you send later matches what you said.

Where ProTyz fits: the Clients tab holds one record per client with addresses, pets, notes and per-line service history. "Promised a March reminder; two dogs; living room and stairs took the longest" goes there.

Tactic 2: Run a 12-month reach-out, every week, without fail

The reach-out is the engine. Around 11 months after the last clean, the customer gets a short, specific message with a booking link. Here's the version that works:

Hi [name], it's been about a year since we cleaned the carpets at [street]. Same rooms, same price if you book in the next couple of weeks: [link]. Reply if you'd like a different day than last time.

Why it works: the street name proves it's personal, "same rooms, same price" removes the quote step, the deadline gives a reason to act now, and the link removes the phone call. Don't add a paragraph about your commitment to quality. Shorter is better.

Where ProTyz fits: Top Opportunities flags clients whose annual service was about a year ago and lists them on the Opportunities tab (and on the Overview card, and in the Monday digest email). You click reach-out, get an editable draft, personalize it, and send. Email reach-out is on the Free plan; SMS reach-out is on Pro ($10/month). ProTyz never sends these automatically; you press send every time, which keeps you in control of tone and timing. The rules are explained in Top Opportunities: who to call this week.

What's on you: the weekly habit. Monday, open Opportunities, send the flagged reach-outs, done in fifteen minutes.

Tactic 3: Treat pet owners as a separate segment

Pet households are your best re-clean customers: shorter interval, higher ticket (pet treatment, deodorizing, sometimes upholstery), and a stronger emotional reason to rebook. They deserve a different cadence and a different message.

  • Interval: 6 to 9 months instead of 12
  • Message: mention the pet by name if you noted it ("Since Biscuit's been keeping the living room busy...")
  • Offer: bundle the pet treatment into the re-clean price so it's a single number

Where ProTyz fits: pets are a field on the client record in the Clients tab, and your notes can carry the interval you promised. Top Opportunities flags lapsed and seasonal clients based on their history; the pet-specific timing and wording are on you when you edit the draft. If you sell a "Pet Package" as its own service line item, the history shows which customers bought it, which is your pet segment list.

Tactic 4: Sell the protection add-on as next year's setup

Carpet protector (the stain-guard treatment applied after cleaning) does two things for the annual re-clean. It raises this year's ticket, and it gives you a natural reason to come back: protector wears down and should be reapplied at the next clean. The customer who bought it once has already agreed that protection matters.

Offer it as a per-room extra at the booking, not as a surprise at the door. Explain the reapply interval in the confirmation email or in the walk-through so next year's message ("time to reapply the protector") lands as expected rather than as an upsell.

Where ProTyz fits: in Services & Pricing, build carpet cleaning with per-room priced inputs and add "Stain protection (per room)" as an extra. The customer sees the itemized total in the booking flow before they pick a time, and the extras they picked are on the booking and in the client history. Next year's reach-out draft can reference it. For the broader extras menu, see upsells and bundles for carpet cleaners.

Tactic 5: Ask for the review while the carpet is still damp

A review request sent the same day, when the "wow, it looks new" feeling is strongest, gets a response. A request sent two weeks later mostly doesn't. Keep it short and send it right after completion:

Thanks for having us today. If the carpets look the way you hoped, a quick review helps a lot: [link].

Reviews do double duty for re-cleans: a customer who wrote a review is more likely to rebook, and their neighbors who read it are next year's new customers.

Where ProTyz fits: when a job is marked complete (from the Bookings tab or the mobile app at /mobile), you can send a signed review-request link. Reviews appear on your site's reviews page and you can respond from the Reviews tab. Getting those reviews to show up on Google too is on you; the local SEO checklist for service businesses walks through it.

Tactic 6: Make rebooking a two-tap job

Every extra step between "I should book this" and "booked" loses customers. The re-clean link should go to a booking page that already knows the answer: same rooms, same extras, pick a date. Even if your page asks them to re-enter rooms, the price should be visible before the time slot, and the time slots should be real.

Where ProTyz fits: the booking flow shows a live itemized quote, then only the slots that are genuinely open on your calendar. Confirmation goes out by email on Free (SMS on Pro), with a 24-hour email reminder before the job. A returning customer who books with the same email is matched to their existing client record, so the history stays in one place.

What this looks like over a year

March: clean the house, say the sentence, note the month, send the review request the same day. Following February: the client is flagged in Opportunities; you send the "same rooms, same price" message with the link. They book, the reminder goes out, you show up, and you say the sentence again. Pet households get the same loop on a shorter cycle. The software holds the history, does the flagging and drafts the message; you set the interval, write the note, and press send.

FAQ

How often should carpets be professionally cleaned? Commonly every 12 to 18 months for a typical household, and every 6 to 12 months with pets or heavy traffic. Tell the customer the interval at the end of the job so the reminder is expected.

What should a carpet cleaning reminder message say? Keep it short: their street, "about a year since," the same rooms at the same price for a limited window, and a booking link. Skip the marketing language.

Does ProTyz send the annual reminder automatically? No. Top Opportunities flags clients who are due and drafts the message; you review and send it. Email reach-out is on the Free plan, SMS reach-out is on Pro ($10/month).

Why segment pet owners separately? They need cleaning more often, buy more add-ons, and respond to a message that references the pet. A 6-to-9-month cadence with the pet treatment bundled in fits them better than the standard annual message.

When is the best time to ask for a review? Right after completion, the same day, while the result is fresh. ProTyz sends a signed review-request link once the job is marked complete.

---

Start free at protyz.com — no card, about 15 minutes to a live booking page. See how it works for carpet cleaners at /for/carpet-upholstery or click through the sample carpet cleaning site.