
Illustrative scenario, not a real client. It is used to show how the retention layer is structured and measured.
Context: A Three-Branch Home-Services Brand With Rising Spend and Flat Repeat Visits
A Johannesburg home-services group runs three branches and has spent heavily on acquisition. New jobs keep arriving, but the second visit curve is flat. There is roughly 4,200 past customers in the CRM, no consent register, and no one whose job title includes the phrase 'bring them back'. Every rand is judged on cost per new job, while the reactivation pool sits unused.
That is the shape of the problem this guide addresses. Local customer engagement tactics are often debated as a creative question (what do we say on WhatsApp?). They are really three operating questions: which interactions do we own, what is the consent position of each contact, and which event proves the second visit happened. Acquisition settings, coupon code architecture and partnership scoring live in adjacent disciplines; here they are inputs plugged into a loop, not the topic.
Why 'Engagement' Fails as a Feeling: Defining the Event You Will Actually Track
Engagement, in a performance sense, is any measurable and repeatable interaction between purchases: a review left, a loyalty visit logged, a saved location, a referral sent, an event attended, a message opened. Reach and impressions belong elsewhere. The discipline is simpler than it sounds: before adopting any tactic, name one event per channel that will fire in analytics and be attributed to a channel.
Measurement tip: if a tactic cannot produce a defined, owned event, it is a brand expense, not an engagement programme.
The Ownership Layer: Google Business Profile Posts, Q&A and Review Responses as a Free Local Surface
The cheapest surface a local brand owns is its Google Business Profile. Posts, answered Q&A and review responses all appear where customers already look. GBP Insights reports calls, direction requests and messages as platform-reported metrics; Google has been migrating some insights into Search performance reporting, so treat these as directional, not reconciled truth.
Review responses deserve a workflow. A named owner, a 48-hour response target and a template that answers the substance (not just thanks) turn reviews into a repeatable event. Review velocity becomes a tracked metric, and a saved-location timestamp becomes a soft signal of returning intent.
The Messaging Layer: WhatsApp, SMS and Email Keyed to Purchase Recency and Frequency
RFM (recency, frequency, monetary) segmentation is the highest-leverage lever available. Broadcast messaging treats a weekly regular and a customer from fourteen months ago identically; cohort messaging protects margin and avoids fatigue. Segment into quintiles before writing a single message.
recency_days = today - last_purchase_date
frequency = purchases_last_12_months
tier = 'lapsed' if recency_days > 90
'frequent' if frequency >= 4
'active' otherwiseThe channel choice carries a real cost and operational trade-off. The free WhatsApp Business app suits small list sizes but is manual; the WhatsApp Business API adds template approvals, automation and multi-agent access, but requires a Business Solution Provider. SMS is simple and consent-heavy; email is cheap to scale and easy to ignore.
| Channel | Consent requirement | Automation fit | Best-fit cohort |
|---|---|---|---|
| WhatsApp app | Opt-in to business | Low, manual | Small active list |
| WhatsApp API | Opt-in + template approval | High | Frequent and lapsed tiers |
| SMS | Explicit, per POPIA s69 | Medium | Lapsed, low-friction |
| Consent and unsubscribe | High, scalable | Broad and frequent tiers |
POPIA Section 69 in Practice: Consent, Existing-Customer Exemption and the Opt-In Register
The Protection of Personal Information Act 4 of 2013 governs electronic direct marketing. Section 69 requires consent, with a narrow exception: if the recipient is an existing customer and the message relates to similar products or services, consent is not required at first contact, but must be obtained for each subsequent message. The Information Regulator publishes guidance on direct marketing practice.
The consent register is not paperwork. It is also a targeting asset: a clean opt-in flag is the difference between a list you can message and a list you cannot.
Practical minimum: store consent source, date, channel and purpose. Link it to the CRM record so the lapsed cohort you message is constrained to permitted contacts only.
The In-Store to Digital Bridge: Till-Point QR, Receipt Codes and Staff Sign-Ups as Tracked Events
A Cape Town food retailer grew a WhatsApp list at the till, then used it for a seasonal reactivation. The mechanism is simple: a QR at the till, a receipt code and a staff-led sign-up flow. Each interaction is a separate event, not a scan count. Attribution discipline matters here, and staff incentive design should be tied to verified opt-ins, not card scans.
Measuring the Second Visit: Repeat Rate, Reactivation Rate, Review Velocity and Referral Rate in GA4
Four metrics carry the retention programme: repeat rate, reactivation rate, review velocity, referral rate. Each needs an event and an audience in GA4. Build a 'repeat customer' audience, note Consent Mode implications for SA and EU traffic, and export cohorts to your messaging tool.
Engagement tools overstate opens and clicks. The reliable measure is revenue per engaged cohort, reconciled against the CRM, not the tool dashboard.
A ZAR Worked Example: Cost per Reactivated Job vs Cost per New Acquired Customer
| Metric | New acquisition (illustrative) | Reactivation (illustrative) |
|---|---|---|
| Spend | R120,000 | R18,000 |
| Jobs | 40 | 22 |
| Cost per job | R3,000 | R818 |
The numbers are hypothetical, but the ratio is the point: reactivation is usually cheaper per job because acquisition pays for discovery while reactivation pays for a reminder. Judge engagement spend on contribution per reactivated customer versus cost to re-acquire.
What to Look For Before Buying Any Local Engagement Tool
- Consent capture fields aligned to POPIA s69, not bolted on later.
- Owned event definitions that fire in GA4, not tool-only reporting.
- Template and automation support if you plan to scale beyond a manual list.
- RFM segmentation and cohort export, not just broadcast lists.
- Honest reporting on opens, clicks and revenue reconciliation.



