Start with last season's customers: message the pools you closed, your weekly customers and your lapsed ones in three waves before opening season, offering a booked slot rather than a vague discount. Then add streets you already serve, and ask every customer for a review after the service report. AI drafts the wording; consent and opt-out come first.
The sums matter as much as the wording. One opening crew can only open so many pools, so a campaign that fills the diary from past customers leaves nothing for new ones, and a review request that bends Google's rules can put the reviews you already have at risk. Every number here comes from an illustrative company: 160 past customers, two technicians and one two-person opening crew.
Which past customers get which opening offer, and when
Split the 160 past customers into three groups, because each needs a different first sentence. Your job software or invoice history will show who was closed, who had weekly visits and who has gone quiet.
| Group | Customers | Who they are | The first message says |
|---|---|---|---|
| Closed with us | 70 | We winterised the pool last autumn | Your pool is due to be opened; pick a day |
| Weekly customers | 60 | Weekly service last season | Your season starts here: opening and weekly service with the same crew |
| Lapsed | 30 | Served in an earlier season, not last season | We would like to look after your pool again; here are the opening days |
Send in three waves: ten weeks, six weeks and three weeks before your usual first opening day. The first goes to the closed and weekly groups. The second goes to anyone who has not replied, plus the lapsed group, so the people most likely to stay get first call on the days. The third is a last call to non-responders, and it stops the moment a customer books. Anyone who replies leaves the sequence, and a person answers them.
The offer is a booked slot. Give three real days to choose from and let the diary do the persuading, because a slot genuinely runs out. If you discount at all, tie it to an early-booking date you will honour and say so plainly. Invented urgency is the easiest thing for an AI to add and the quickest way to lose a customer's trust, so the prompt below forbids it.

The Complete Excel Course with AI Integration
From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.
By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner
Buy nowPrompt: write the three-wave sequence without sharing the list
The AI needs your facts, not your customers. Give it the offer, the visit contents and the rules, and let your email tool merge first names into the finished template. That keeps names and addresses out of the chat window altogether.
I run a pool service company. Write a three-message email sequence (10 weeks, 6 weeks and 3 weeks before our first opening day) for customers whose pools we closed last autumn.
Facts you may use: opening days are Tuesday to Friday; one crew does four openings a day; customers choose from three days we list; the opening visit includes removing and storing the cover, restarting the pump and filter, topping up the water, testing and balancing the water, and a written service report; openings are first come, first served; the price is $[amount].
Rules: use [first name] and [your name] as placeholders; no claims about water clarity or how fast results arrive; no invented numbers of slots left; no discount; one clear action in each email (reply with a preferred day); under 110 words each; end each with "Prefer not to get these emails? Reply STOP and we will not send another."
This is the first email after one round of edits. It is illustrative.
Subject: Booking your pool opening
Hi [first name],
We closed your pool last autumn, and opening days are now open for the season. The visit includes removing and storing the cover, restarting the pump and filter, topping up the water, testing and balancing it, and a written service report afterwards.
If you reply with a day that suits (we have [day], [day] and [day] free), we will confirm a time window. Openings are first come, first served, and one crew does four a day.
[your name]
Prefer not to get these emails? Reply STOP and we will not send another.
Three things were removed from the first draft. It said "spaces are filling fast", which nobody had checked. It promised "sparkling water by the weekend", which no crew can guarantee after a winter under a cover. And it offered "10% off if you book this week" despite the no-discount rule. Read every AI draft for those three habits: invented scarcity, promised results and unrequested discounts. The tutorial on winning back lapsed customers with AI emails has more wording for the third group.
The lapsed group needs a different note, because those customers left for a reason you do not know: price, a move, another firm, or something that went wrong. Do not guess at it. A short message that says what you offer and asks for a reply works better than a speech. This is an illustrative wave-two email for that group, after editing:
Subject: Your pool this season
Hi [first name], we looked after your pool in [season] and have opening days available this spring. If you would like us back, reply with a day that suits and we will confirm a time. If you chose someone else, that is fine, and if there was something we got wrong, I would like to hear it. [your name]
Prefer not to get these emails? Reply STOP and we will not send another.
The AI's first draft opened with "we've missed you", which is warm but implies a relationship the customer may not feel, and it offered a "welcome back" extra that nobody had priced. Before keeping any extra, ask whether you would give it to every customer in the group. If not, leave it out.
Consent and opt-out come before any message goes out
A spring opening email to last season's customers is still a marketing message, even when it reads like a service reminder. Whether you may send it without fresh permission depends on where you trade and on the channel, with texts often held to a stricter standard than email, so put that question to a local adviser before wave one. Do not ask the AI to settle it: it can state a rule confidently and still be wrong for where you work. Whatever the answer, these habits hold up:
| Before the send | What to check |
|---|---|
| The list | Only customers with a real relationship with you; remove anyone who has opted out, and keep a suppression list that survives every new export |
| The channel | Use the one the customer gave you; do not text a customer who only gave an email address |
| The record | A field showing when, where and how each customer agreed to hear from you |
| The opt-out | Every message carries a working one ("Reply STOP" for texts, a link or reply for email); honour it the same day |
| The frequency | Three waves over ten weeks is plenty; stop once someone books |
| Service messages | Keep booking confirmations and prep reminders separate from offers, because adding an offer to a service message can change how it is treated |
Keep the AI away from the list itself. Ask it for the template, then let the email tool merge names. If you want it to help sort the list, use customer IDs and groups, not names, phone numbers or addresses.
New-customer campaigns on streets you already serve
New customers are cheapest where you already drive. A street with two weekly customers has a route there, and a third pool costs you less travel than one across town. Pull the addresses of current weekly customers into your route software or a map, and mark the streets with two or more. The tutorial on pool route software and stop density covers the planning side; for this campaign you only need the street list.
Print a door hanger or postcard for those streets only. Ask the AI for three versions, with a headline of eight words or fewer, three short points and a booking link or QR code. A single illustrative front and back looks like this:
FRONT: Pool opening season is booking now
BACK: Cover off, pump and filter restarted, water tested and balanced
A written report after every visit
Weekly service available from [month]
Scan to pick a day: [QR code]
The first AI draft added "trusted by hundreds of local families". Nothing supported it, so it came out. A true line is more useful: if you do look after pools on that street, "we already look after pools on your street" is both honest and persuasive, as long as you name no customers. Give each street group its own QR code or reply code so you can see which pieces produce bookings.
Photos help, but they show other people's homes. If you want before and after pictures for social posts or the next flyer, ask permission in the booking confirmation, photograph the pool and not the house, and leave out addresses and anything that identifies the property. Give the AI the technician's notes for captions and tell it not to name places or people. The same rule covers testimonials: a review belongs to the person who wrote it, so ask before quoting it on a flyer.
Work out the break-even before you print. Say 500 pieces cost $325 printed and delivered, and an opening earns $130 of margin. Break-even is 2.5 bookings, so three, which is a 0.6% response from 500 pieces. If the answer to "would three out of 500 be a surprise?" is yes, the idea is weak; if no, it is cheap to test. A weekly-service start is worth more than an opening: at an illustrative $180 a month over a five-month season, that is $900 of revenue from one signed customer. At an assumed 40% margin that is $360, which on its own covers the $325 print run, so a piece aimed at weekly starts needs only one signed customer to break even.
Size the push to the opening slots that are left
A campaign that works too well is a problem in a short season. In the illustrative firm, one two-person crew does four openings a day, four days a week, for six weeks, which is 96 slots. Past customers will take most of them. Because nobody knows the rebooking rate in advance, run three cases using planning assumptions (replace them with last year's records):
| Case | Closed (70) | Weekly (60) | Lapsed (30) | Bookings | Slots left of 96 |
|---|---|---|---|---|---|
| Low (50%, 65%, 10%) | 35 | 39 | 3 | 77 | 19 |
| Middle (60%, 75%, 15%) | 42 | 45 | 5 | 92 | 4 |
| High (70%, 85%, 20%) | 49 | 51 | 6 | 106 | -10 |
In the middle case only four slots remain, and in the high case the diary is ten pools over. A spring door-hanger run aimed at openings would build a waiting list. Three sensible responses: add an opening day, aim the neighbourhood campaign at weekly-service starts after the opening rush instead, or say honestly that new openings are waitlisted and offer the next available. Send the new-customer pieces after wave one has produced real bookings, so the print run follows the diary and not the other way round. Before you decide, check that an opening day is priced to cover the crew, using a pricing sheet built from your own costs.
If you do waitlist, write the message before wave one goes out, so every "we are full" reply is honest and quick. This text is 113 characters before the name and date go in, which leaves 47 for both inside one 160-character segment. The first draft ran to 159 characters with the placeholders still in, so a long name would have tipped it into a second paid segment:
Hi [first name], openings are full until [date]. Reply YES for the next free day or WAIT for a cancellation. Reply STOP to opt out.
Keep a simple list of who said yes to a waitlisted day and who asked to wait for a cancellation. When a booked customer cancels, offer the slot to the second group first, in the order they asked. That small list turns a full diary into goodwill instead of lost enquiries.
Service reports that earn the review request
The review ask works best after something concrete has happened, and a service report is the evidence. Pool software can send one automatically: Skimmer's features page, for example, lists Service Emails that can include chemical readings, dosages, completed checklist items and technician names, along with Broadcast Emails and Service Texts (as of November 2026). If you write reports by hand, AI can turn the technician's notes into a clear message. The tutorial on a pool service report template covers the report itself.
Tell the AI to use only the notes and never to judge the readings. Here are illustrative notes and the report that came back:
Notes: Opening visit. Cover off, cleaned, dried, stored in garage. Pump primed and running, no leaks at unions. Water level low, topped up. Water cloudy. Free chlorine 0.0, pH 7.8, total alkalinity 100. Shocked, brushed, vacuumed. Cracked skimmer lid. Retest Thursday.
Report:
Hi [first name],
Your pool was opened today. We removed, cleaned, dried and stored the cover, restarted the pump and filter with no leaks at the fittings, topped up the water level, brushed and vacuumed, and treated the water.
What we found: the water was cloudy and the sanitiser reading was 0.0 when we arrived (pH 7.8, total alkalinity 100). The skimmer lid is cracked, and we will send a quote for a replacement separately.
Next step: we will return on Thursday to retest the water.
[your name]
The first draft said "your water will be crystal clear by Friday", called the levels "perfect" and recommended replacing the pump, none of which was in the notes. All three came out. The prompt rule that prevents it is short: use only facts in the notes, do not compare readings with any target, and mark any gap as [ASK TECHNICIAN] instead of filling it. A report written that way is also the best answer to a customer who later says nothing was done.
Review request wording that follows Google's rules
Google's Maps user-generated content policy lists what a business may not do when it asks for reviews. It may not offer incentives such as payment, discounts, free goods or services in exchange for reviews. It may not discourage negative reviews or selectively solicit positive ones. It should not require or pressure people to review while they are on the premises, and it should not ask staff to solicit a certain number of reviews or reviews with specific content. Google's page on review links and QR codes shows how to create a review link or QR code from your Business Profile to share with customers, so every request can carry the same link.
That produces a short set of working rules:
- Send the same request to every customer, with the same link, after the report. Automate the send so nobody judges who looks happy.
- Send it afterwards, not at the gate. A message the next day beats a technician asking on the doorstep.
- Offer no reward, not even a small one, and do not link a discount to a review.
- Do not steer. Offering a phone number for problems is fine; wording that sends unhappy customers away from the review page is not a safe reading of the policy.
- No staff targets such as "ask five customers a week", and no requests to mention a technician's name or a particular service.
- Ask before quoting. A review belongs to the reviewer, so get permission before using it in a flyer, post or web page.
Here is a text that follows them. It is 98 characters before the name and link go in, which leaves 62 for both inside one 160-character segment, so count the finished message with the real link pasted in rather than the template. It uses straight quotes and no emoji, since Twilio's documentation says a single emoji or curly quote cuts the limit to 70 characters.
Hi [first name], thanks for choosing us. An honest Google review helps others find us: [link] Reply STOP to opt out.
Ask the AI for variations on wording, then check each against the list. The usual faults in first drafts: "we'd love 5 stars", an offer of "10% off your next visit for your feedback", "if you were happy with us" before the link, and "please mention [technician name]". Each breaks a rule above. The tutorials on automated review requests and on responding to Google reviews with AI cover the mechanics and the replies.
When the pool opens green: handle it before the review
Say a cover let water in over winter and the pool opens green. The owner is unhappy before the crew has finished. The report goes out with the facts and a recovery quote as an extra service, a person phones within a day, and the customer stays in the review sequence like everyone else, because leaving them out would be selective soliciting. If they post a negative review, reply in line with Google's own advice: professional, brief and specific, no deals in the reply, and an invitation to continue by phone or email if it is complicated.
Hi [first name], I am sorry the opening was a disappointment. The pool was green when we arrived and the service report lists what we did. We would like to talk it through, so please call [phone] or reply to our email.
[your name]
That is the reply after editing. The first AI draft argued about the cause, offered a free visit (an incentive to change the review) and mentioned details of the visit the customer might prefer not to see in public. A reply is public, so keep it short and private details out of it.
A season calendar from ten weeks out to four weeks after
Here is the sequence on one page, counted from the first opening day. Adjust the dates to your own season.
| When | What goes out | To whom |
|---|---|---|
| 10 weeks before | Wave 1 email: pick an opening day | Closed and weekly groups |
| 6 weeks before | Wave 2 email | Non-responders and the lapsed group |
| 4 weeks before | Door hangers for weekly-service starts, if slots allow | Streets with two or more customers |
| 3 weeks before | Wave 3 last-call email | Non-responders |
| 1 week before | Confirmation with a time window and prep text (gate open, cover clear) | Everyone booked |
| Opening season | Service report after each opening | Every opened pool |
| 1 to 2 days after each report | Review request, same text for everyone | Every opened pool |
| 4 weeks after | Weekly service starts; second review request after the second weekly report | New weekly customers |
Put the contract in place before weekly service begins; the tutorial on a pool service contract drafted with AI covers the terms to settle first. Then check the results against the arithmetic: bookings per wave, opt-outs per send, slots left and reviews per ten reports. That is the table to read after the first season, and the one to change for the next.
Pool marketing questions owners ask
Can I give a discount to customers who leave a review?
No. Google's policy lists incentives such as payment, discounts and free goods or services in exchange for reviews as prohibited, and Google's Business Profile help treats reviews posted for an incentive as fake and misleading content. You can thank people who review in a reply, but never tie a reward to leaving, changing or removing a review.
Is it fine to ask only the customers who seem happy?
No. Google's policy says merchants may not selectively solicit positive reviews. The safe approach is to send the same request, with the same link, to every customer after the service report, and to deal with complaints by phone first. Automating the send means nobody has to decide who looks happy.
Should I email or text customers about spring openings?
Use the channel each customer agreed to. Email suits the longer booking message and the season's reminders, while a short text suits a prep reminder the day before. Consent rules for texts and email differ by place, so check with a local adviser, record who agreed and put a working opt-out in every message.
Further reads
- How to Price Pool Service With an AI-Built Pricing Sheet — Check an opening day is priced to cover the crew
- Pool Service Leads: Compare Paid Leads, Local Services Ads and Fast Replies — Reply fast to leads from ads and Local Services
- Getting More Reviews After Every Job With AI Follow-Ups — A review-request routine for other trades
- Eight Lawn Care Marketing Ideas for Spring, Written With AI — Another spring prebooking campaign, for lawn care
- AI Marketing for HVAC: A Worked Spring and Autumn Tune-Up Campaign — A seasonal tune-up campaign in a neighbouring trade
- AI Marketing Campaign Examples: Five Worked Ones for Local Businesses — Five worked campaigns for local businesses
- Pool Service Business Software Compared: Skimmer, GorillaDesk and Jobber — Skimmer bills per pool, GorillaDesk per route, Jobber per user. Priced at 40, 90 and 200 pools, with the three AI phone options compared.
- Skimmer AI Phone: What It Does for a Pool Company and What It Costs — Skimmer's AI Phone priced for 40, 120 and 300 pools, with the limits the sales page leaves out and six test calls to make before launch.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Google Maps user-generated content policy (rating manipulation), Google Business Profile help pages on review links and QR codes, managing reviews and replying to reviews, Twilio documentation on SMS segment limits and the Skimmer features page, all checked November 2026. Season capacity, response and cost figures are illustrative assumptions.