Solar Panel Cleaning Campaign: The Output-Recovery Text

Panels do not send you a warning when dust, pollen, and bird droppings start eating their output — the homeowner just sees a higher bill and blames the system. This post gives you the campaign that fixes that: the production-drop education text, the before-and-after panel photos that make the value obvious, and the biannual plan that turns a one-off wash into scheduled work for dusty regions.

System 7 from the Leveraged Owner Starter Pack

A homeowner in a dusty subdivision opens their monitoring app, sees production sliding month after month, and quietly concludes the expensive system on their roof was oversold. They never call you. They tell a neighbor instead. Meanwhile the actual problem is a film of grime you could rinse off in under an hour — and a text you never sent.

Panel cleaning is a System 7 reactivation campaign, and it belongs to the same calm-calendar discipline as appointment confirmation texts: scheduled, expected, low-pressure touches that fill future weeks instead of scrambling for same-week work. The campaign works because it is built on the customer's own data — their install date, their array size, and the photos from their own roof — not on a scare claim about how much output dirty panels lose. You will notice this post never quotes a percentage for soiling loss. That is deliberate, and it is the first rule below.

Rule one: educate, never invent a number

Soiling loss varies enormously by region, roof pitch, season, and what is actually on the glass — desert dust, tree pollen, wildfire ash, and coastal salt film are different problems with different effects. Any campaign that promises a specific production recovery is inventing a statistic, and homeowners with monitoring apps can check you. The honest version sells just as well: panels accumulate buildup, buildup blocks light, cleaning removes it, and the customer can watch their own production before and after in the app they already have. You are selling a visible cleaning and a verifiable comparison, not a guaranteed kilowatt figure. That framing also protects you on the jobs where the real problem turns out to be a failing inverter or a shaded string — your text promised an inspection and a cleaning, and you deliver both.

Build the list from your install and service records

Your CRM (customer relationship management software, your database of customers and job history) already holds the campaign list. Pull every solar customer whose panels have not been cleaned in twelve months or more, then segment it three ways before you send anything.

Exclude anyone with a service visit already booked in the next thirty days — offer the cleaning as an add-on to that visit instead of a separate trip, which is a better deal for them and a denser route for you.

Text 1: The production-drop education text

The opening text teaches one fact and offers one easy next step. Reference their system specifically — install year, and the fact that it has not been cleaned — because generic blasts read as advertising and specific ones read as service. Invite them to check their own monitoring app rather than telling them their production is down: you do not know that it is, and the customer checking for themselves does your persuading for you. Close with a reply-word or a booking link, never an open-ended question that requires your office to babysit the thread.

Production-drop education text

Hi [First Name], [Business Name] — your panels went in [Install Year] and have not had a cleaning since. Dust and pollen film build up gradually and block light a little more each season. If you open your monitoring app and compare this month to the same month last year, you can see your own trend. We are cleaning in your area on [Date] — reply CLEAN and we will send a firm price for your array size, no obligation. Reply STOP to opt out.

At the visit: the photos are the campaign

The cleaning itself is straightforward work; the marketing asset is documentation. Build a simple SOP (standard operating procedure) so every tech captures the same three shots: a close panel photo before the first rinse showing the film, the same panel after cleaning from the same angle, and one wide shot of the finished array. Send the before-and-after pair to the customer the same day with the job-done message. Those photos do three jobs at once — they prove the work, they give the homeowner something to show a neighbor, and they set up the plan pitch below with evidence instead of adjectives. Ask permission before using any customer's photos anywhere public, and never post an address or a monitoring screenshot with identifying details.

Job-done photo text

Hi [First Name], [Business Name] — all done. First photo is your array before we started, second is the same panels after. Check your app over the next few sunny days and you will see your own before-and-after. We have noted your cleaning date, so next time we will remind you before the film builds back up.

Text 2: The biannual plan pitch for dusty regions

One cleaning proves the concept; a plan removes the decision. In genuinely dusty regions, pitch a simple recurring plan at the moment the photos land: two cleanings a year, scheduled by you, reminded by text, priced as one flat rate per visit for their array size. Keep the terms plain — how they pause or cancel, what happens if a visit finds damage (you report it, you do not quietly fold repairs into a cleaning price), and whether a plan visit includes a visual once-over of mounts, conduit, and critter guards. Do not discount the plan into a loss leader; the value is that the customer never has to think about it again, and your calendar gains a block of predictable route work twice a year. Example: here is a worked example with illustrative numbers — a shop with 200 past install customers that converts even a quarter of them to a twice-yearly plan has booked 100 future visits before spending a dollar on advertising; run the same arithmetic with your own customer count and your own realistic conversion guess, and treat the result as a planning estimate, not a promise.

Biannual plan text

Hi [First Name], [Business Name] — most arrays in [Area] need cleaning about twice a year to stay ahead of the dust. Our plan is [Amount] per visit, we schedule and remind you, and you can pause or cancel anytime with a reply. Want us to put your home on the [Season] and [Season] route?

Timing the sends around weather and season

Three timing rules keep this campaign welcome instead of annoying. First, send after a dry, dusty stretch — not the morning after a hard rain, when every homeowner reasonably believes nature handled it. Second, batch by neighborhood and name the route day in the text; a real date makes the offer concrete and keeps your drive time sane. Third, cap the sequence: the education text, one reminder about ten days later if there is no reply, and then the customer simply enters the annual rhythm. A cleaning is a low-urgency service, and pestering people about it trains them to ignore the texts that actually matter.

Compliance notes if you send these texts

Business texts require A2P 10DLC registration before you send (A2P means application-to-person messaging, and 10DLC is the carrier registration for business texting numbers — typically a 1–7 day approval and about $15–$20 one-time). Include opt-out language in the first text, honor every opt-out immediately, and respect TCPA quiet hours (the TCPA is the federal law governing calls and texts to consumers): no marketing texts before 8am or after 9pm in the recipient's local time. Production claims must stay honest — describe what cleaning does, show the customer's own photos and data, and never promise a specific output increase. This is general information, not legal advice.

Related guides in this series

For the solar follow-up that starts the customer relationship, see solar estimate follow-up. For the install-age data that powers campaigns like this one across every trade, read equipment age alerts. Both treat your service records — dates, photos, and history — as the asset that makes every later campaign cheaper than advertising.

Get System 1 free: the complete Missed-Call Safety Net

The full setup SOP, all four copy-paste scripts (including the owner notification), the "Your Numbers" missed-call worksheet, and the step-by-step setup guide — free, no catch. Fix your missed calls this week.

Free. The full 8-system Starter Pack is $27 if you want everything else.

The done-for-you version

This post is System 7 from the Leveraged Owner Starter Pack — the done-for-you version with the full multi-step SOP (standard operating procedure), every script, the worksheets, and screen-by-screen setup instructions for all 8 systems. The reactivation chapter includes the panel-cleaning campaign sequence, the photo documentation checklist, and the biannual plan pitch pre-built.

Stats sourced as labeled: no third-party statistics are cited in this post; production and plan figures appear only in a labeled worked example with illustrative numbers the reader replaces with their own.

Keep building your systems

Related guides from the Leveraged Owner blog: