How Cachealo earns shopper identity, attention, and repeat engagement across five channels — and how each one feeds the same phone-anchored data spine that makes redemption verifiable.
Every channel exists to do one of two jobs: capture a phone number against an identity, or close the loop from offer to verified redemption. WhatsApp sits at the center because it's both the engagement surface and the identity key — everything else feeds it or feeds off it.
Acquisition channels (QR, retailer social, earned shares) are cheap and infinite. WhatsApp opt-in is the one irreversible conversion event — it's where an anonymous shopper becomes a phone-keyed identity Cachealo can measure for life. Everything upstream of step 2 should be designed to push toward it; everything downstream should be designed to make step 6 happen without being asked twice.
WhatsApp is not a marketing channel for Cachealo — it's the data layer's front door. The phone number a shopper opts in with is the Shopper key that later matches against the POS TLog at redemption.
All three opt-in sources are shopper-initiated — the shopper taps a wa.me link and sends the first message. That distinction drives what's free and what isn't:
The app nudge is its own message, sequenced after the shopper has already gotten value — not bundled into the welcome message:
WhatsApp now opens links from structured business messages inside its own in-app browser by default, so the shopper never leaves the chat. That's the right behavior for most taps — except one:
This is the one channel decision with real engineering cost attached, so it gets a full evaluation rather than a default answer. The short version: the app is a utility surface, not the engagement engine — that job already belongs to WhatsApp — and that single fact changes the calculus for which weaknesses actually matter.
| Criterion | Native App | PWA |
|---|---|---|
| Time to ship | 6–10 weeks build, plus App Store / Play Store review queues for every release | Days; ships on the existing web stack, no review cycle |
| Multi-retailer scaling | Each co-branded retailer variant risks a separate build/listing, or heavy white-label tooling | One codebase; retailer theming served dynamically by URL/config — matches the neutral infrastructure model |
| Push notifications | Full native push, Live Activities, Time-Sensitive interrupts (iOS + Android) | Android: full parity. iOS: works only after manual "Add to Home Screen" (no auto-install prompt); no Live Activities; subscriptions can silently lapse |
| Offline / background refresh | Background fetch — fresh prices/cart before the app is even opened | No Background Sync API on iOS; content refreshes only when the user opens the app |
| QR / camera scanning | Full native camera APIs | getUserMedia covers in-store QR scanning on both Android and iOS Safari — no material gap here |
| Hardware access (NFC, Bluetooth) | Full access on both platforms | iOS blocks Web NFC, Web Bluetooth, WebUSB; Android is more permissive |
| Dev & QA cost | Two platform codebases (or React Native), plus OEM/version QA matrix | One codebase reusing the existing web stack; small lean team (Sebastian) can own it |
| Discovery | App Store / Play Store search, "legitimacy" badge of being listed | No store presence — but Cachealo's acquisition already runs through WhatsApp/QR/retailer social, not organic store search |
| Update velocity | Subject to review queue (typically 1–3 days, longer if flagged) | Instant server-side deploy |
This is a phased decision, not a permanent one. Re-open the native question if any of the following becomes true:
If the GS1 8112 redemption code rotates or expires (the anti-fraud behavior the model already assumes), it can't be a static image sent once into a chat — both surfaces need to render the live code on demand, not a stale screenshot.
Worth being precise here rather than assuming uniform behavior, because the two use cases rely on different mechanisms.
Sequenced against the Selectos go-live gate, not on a separate timeline.
WhatsApp CTWA-inbound flow built and tested; Cachealo website live as offer catalog + PWA install surface; in-store QR placed at Selectos pilot stores; Selectos co-branded social content calendar kicked off.
Push opt-in flow shipped (full on Android, "Add to Home Screen" nudge sequence on iOS); earned-sharing mechanics (forward-to-friend, post-redemption nudge) turned on; actual OS split measured from real Selectos traffic to size the iOS push gap with data instead of assumption.
Retailer-themed PWA instance for Farmacias Aliadas; pharmacy-counter QR for the Caravan K-beauty sampling sequence; retailer social expansion to the pharmacy channel's own following.
Revisit the native app decision against the trigger conditions above, using real usage and push-reliability data rather than projections.
| Channel | Primary metrics |
|---|---|
| Opt-in rate from CTWA/QR source; offer clip rate; redemption rate; reactivation rate after a nudge | |
| Website | Visit → PWA-install rate; visit → WhatsApp opt-in rate; bounce rate by retailer landing page |
| App / PWA | Install rate; push opt-in rate split by iOS vs Android; DAU/MAU; offers clipped in-app vs in-WA |
| In-store QR | Scan volume by placement type (shelf / endcap / register / receipt); scan → opt-in conversion |
| Retailer social | Reach; engagement rate; click-through to QR or WhatsApp opt-in |
| Earned sharing | Share rate per redemption; referred-shopper activation rate; viral coefficient |
Channel 04
Retailer-Owned Social Media