Car wash loyalty program: let the software count the reward
What brings a car wash customer back is not a discount but a reward they are building towards. The hard part is not deciding the offer — it is knowing, without an argument, how many washes someone has to their name. Punch cards get lost, a notebook gives two different numbers to two people, and counting from memory always ends with the customer's number winning.
This page explains how a service-based promotion is set up in car wash software, how the reward is counted on its own, and how it flows from vehicle check-in through to the till.
The rule: buy X of one service, get Y of another free
A campaign in WashPro is built from two services: the counted service and the reward service.
- Counted service — the service that moves the campaign forward.
- Required count — how many of it earn a reward.
- Reward service — what is given free once earned.
- Reward count — how many of it are given free.
You build the rule from your own service list. A few examples:
- 5 Interior & Exterior Washes → 1 Engine Bay Clean free
- 10 Standard Washes → 1 Premium Wash free
- 3 Full Details → 1 Polish & Wax free
These are examples, not preset campaigns. There is no fixed campaign list in the app: you choose which service earns which reward.
The reward does not have to be the service that earned it
Most loyalty programs do exactly one thing: “ten washes, one wash free”. That gives the customer another helping of what they already buy — it shows them nothing new.
In WashPro the reward can be a different service. Sell washes and give an interior clean; introduce a customer to something they have never tried. The customer who then starts buying that service is the real return on the campaign.
If you pick the same service as the reward, the job does not open as two lines: it goes in as a single line at 100% discount. Nobody washes the same car twice in one visit, so a second line would be wrong.
Campaigns are defined inside the service
There is no separate campaign module. You open a service on the services screen and, in the campaign section at the bottom, set how many are needed and which service is given free.
Several campaigns can run at once. If you have more than one branch you can tie a campaign to a single branch, or leave the branch empty so it applies everywhere.
The counter runs by itself
Nobody has to tick anything for a campaign to progress. The counter moves when the job is handed over.
- Counting happens at handover, not at check-in. A job that is opened and then cancelled earns nothing.
- Free lines are never counted. A reward cannot produce the next reward.
- Changing the threshold later does not rewrite history. Rewards already earned are never taken back; the new threshold applies from that point on.
- Reaching the threshold subtracts it, it does not reset the counter. Anything above the threshold is carried forward.
Automatic reminder at vehicle check-in
When a customer who has earned a reward arrives, the app asks during check-in: “There is a free … . Add it to this job?” Nobody has to look anything up or search a list for a name.
Using it is not compulsory. Choose “later” and the reward is not spent — it is offered again on the next visit. A customer in a hurry does not lose what they earned.
The job and the reward go to the board together
Accepting the reward does not put only the free service on the board. The job the customer actually came for goes in at its normal price, and the reward service at 0, together. The reward line is shown in its own colour, so staff can see which line came from a campaign.
Nothing is charged for the free service at checkout
Because the reward line is priced at zero, it never reaches the amount collected. Staff do not have to apply a manual discount or correct the total — manual corrections are the most common reason a till does not balance at the end of the day.
The reward that was used is tied to that job and marked as spent. The same reward cannot be used on a second job.
The reward belongs to the customer, not to one vehicle
If the vehicle is linked to a customer record, the reward is held against the customer. When that customer has more than one vehicle, they can use the free service with whichever of their linked vehicles they arrive in.
For a family with two cars, or a small fleet, that is the point: the reward is not locked to a plate.
No customer record? Tracking falls back to the plate
A customer record is not required to use campaigns. When no customer is defined, the reward is tracked against the licence plate, so the campaign works even when nobody fills in a customer card at the counter.
How the plate is typed does not matter: “34 abc 12” and “34ABC12” are the same counter.
Linking a plate to a customer later carries the progress over
Progress built up against a plate is moved to the customer when that plate is linked to a customer record. Creating the customer card does not wipe out what they had already earned — otherwise nobody would ever create one.
How is this different from the loyalty card?
WashPro also has a loyalty card: after a number of washes you set, it offers a free wash and removes the need for a printed punch card.
Campaigns are different, and do not replace it:
- The loyalty card counts washes; a campaign counts one specific service.
- The loyalty card's reward is a free wash; with a campaign you choose the reward, and it can be a different service.
- Several campaigns can run at the same time.
The two can be used together.
Is there a coupon code, a percentage discount, a bulk message?
To set expectations properly, here is what is not in the app:
- No coupon or promo codes. A campaign is tied to the service bought, not to a code.
- No percentage-discount campaigns. The reward is a free service, not a rate. (Discounts exist separately and are applied by hand at handover.)
- No bulk SMS or WhatsApp campaign sending. Customers are told about their reward at the counter, when they arrive.
- No customer segmentation or automatic campaign suggestions. You write the rule.
One limit worth stating: if you deactivate a campaign, rewards earned under it but not yet used stop being valid too. Before switching off a running campaign, bear in mind that some customers may already have built up progress.
When no customer is defined and the reward sits on the plate alone, the app has no way of knowing that the vehicle has changed hands. That is another reason to create customer records for your regulars.
Try it with a campaign of your own
The first seven days of WashPro are free. A meaningful test is to put a campaign with a small threshold on the service you sell most, then check on the customer's second visit whether the reward really is offered at check-in.
Setting up services and prices is covered in the pricing guide, and how the free line lands in the till in the end-of-day cash guide. For regular corporate customers a membership or fleet agreement fits better than a campaign; to see who came and when, look at customer and vehicle history.
First 7 days free. The subscription is bought from the app store and can be cancelled at any time.