Consumer Growth
How befday acquires consumers (apps/native) — leaning on loops already designed into the product (referral + points, shareable collectibles, year-in-review, birthday, nearby) rather than generic paid marketing. The demand side of the two-sided flywheel; cheapest channel is the in-store QR moment at a merchant counter.
Status: Accepted (direction); implementation deferred
Date: June 2026
Decision: Acquire consumers primarily through loops already designed into the product — the referral + points viral loop, shareable collectible cards, year-in-review insights, the birthday hook, and the in-store QR moment — rather than generic paid acquisition. Consumer growth is the demand side of the flywheel and follows merchant supply per geography.
befday-specific, not a playbook
This intentionally avoids generic tactics (“run TikTok ads,” “post daily”). Every channel below is tied to a mechanic befday already has — the cheapest CAC is a loop you built as a feature.
TL;DR
befday’s retention features are also acquisition features. Ranked by leverage: in-store QR (free, high-intent, merchant-driven), referral + points (two-sided viral, paid in cheap points), shareable surfaces (collectibles, year-in-review), the birthday hook (recurring install trigger), and nearby discovery. Channels turn on in order of density; viral/shareable ones are back-loaded (need accumulated activity). No paid-ad-led growth into thin supply, no charging consumers.
Context
A consumer installs native for one reason: there’s something here for me. The retention stack defines what keeps them; this defines what gets them through the door. Constraint from the flywheel doc: only acquire consumers into a geography with merchant density, or the install churns on emptiness (cold-start).
befday’s retention features are also acquisition features — each is inherently shareable or self-propagating. We’re not bolting marketing on; we’re pointing existing loops outward.
The channels (ranked by leverage)
1. The in-store QR moment — cheapest, highest-intent
A customer paying at a pos counter is already a befday customer — they just don’t have the app. One QR scan converts them:
- At checkout, the merchant’s existing pos QR doubles as an install + link trigger (“scan to collect your stamp / points / catch this shop”).
- The customer is high-intent (mid-purchase, at a participating merchant) and the merchant does the acquisition for free as part of normal flow.
- This is the merchant→consumer arrow of the flywheel and the best channel — it requires merchant density first, which is why merchant-first sequencing matters.
Nearly free: no ad spend, no CAC beyond the QR already on the counter. Every merchant added is a new acquisition surface.
2. Referral + points loop — the viral engine
The referral mechanic is a two-sided viral loop, paid in points (cheap, on-brand) not cash:
- User A shares a code → User B installs, registers, verifies phone → both earn points.
- Anti-fraud is already specced: verified-phone-only, idempotent per
(referrer, referee), self-referral blocked (carried from Platform Stamps) — designed, not yet built. - Because points are a network currency (spendable anywhere), the reward is genuinely useful — a stronger pull than a single-merchant coupon.
Every acquired user is a potential referrer.
3. Shareable surfaces — organic social pull
Two retention features are inherently shareable artifacts that pull non-users in:
- Collectible cards (merchant collectibles): “I caught this shop” cut-out cards are designed to be shown off → social proof + curiosity (“what app is that?”).
- Year-in-review (spend insights): a wrapped-style annual summary is a seasonal organic spike — users share their year, non-users want their own.
Both are zero-CAC pull channels that only work once a user has enough activity to have something worth sharing — so they compound after retention, not at install.
4. The birthday hook — a recurring install trigger
The birthday engine gives a calendar-driven reason to install: “it’s my birthday — what do I get?” This is unusually strong because:
- It’s on-brand (befday is literally about birthdays) and recurring (every user, every year).
- It’s a natural word-of-mouth moment (“I got a free thing on befday for my birthday”).
- The platform-funded birthday backstop means even a low-density area can honor it — so the hook works during cold-start.
5. Local / nearby discovery
Nearby makes befday a local-discovery surface (“befday spots near me”) — useful for both SEO-style intent and the “discover” framing during cold-start. Lower leverage than the loops above, but it captures local intent that already exists.
Sequencing
Consumer acquisition channels turn on in order of density, matching cold-start:
| Phase | Primary channel | Why now |
|---|---|---|
| Phase 1 | Coverage-request capture (demand signal) | Even pre-density, capture “bring befday here” → merchant leads |
| Phase 2 | In-store QR + referral loop | Density exists → convert footfall + let users refer |
| Phase 3 | Shareable surfaces (collectibles, year-in-review) + birthday | Users have enough activity to share; loops compound |
The shareable/viral channels are back-loaded because they need users with accumulated activity — you can’t share a year-in-review on day one.
What we are not doing
- No paid-ad-led growth as the primary motion. Paid acquisition into thin supply is the cold-start churn trap. Paid spend (if any) is a density-backstop / demand-signal tool, not the engine.
- No charging consumers. Consistent with receipt management — the consumer app is free; merchants fund value. Acquisition can’t undermine that.
- No fake scarcity / dark patterns in the viral loops — anti-fraud is designed in, and trust is the brand.
Data Model / API Impact (sketch)
Mostly reuses existing loops; acquisition is measurement + attribution on top.
| Need | Reuses / adds |
|---|---|
| Referral attribution | referrals table + consumer.referral.* — already specced in Platform Stamps |
| In-store QR → install | Reuses the pos QR; add an install/deep-link param |
| Coverage-request demand signal | coverage_requests — already in cold-start |
| Acquisition source tracking | New — attribute installs to channel (QR / referral / share / organic) for CAC-by-channel |
| Shareable card / wrapped | Reuses collectibles + insights render surfaces |
No new core schema — consumer growth is largely building + instrumenting loops already designed in this section. (Vouchers and stamp cards exist in apps/merchant today; referral/points, collectibles, insights, birthday engine, and nearby are still decision docs.)
Consequences
| Type | Consequence |
|---|---|
| Pro | Lowest possible CAC — the channels are product loops (a few built, most planned), and the best one (in-store QR) is free to befday. |
| Pro | The referral loop is two-sided and self-propagating, paid in cheap on-brand points. |
| Pro | Shareable surfaces give organic, seasonal spikes (year-in-review, collectibles) at zero spend. |
| Pro | Birthday hook is a recurring, on-brand install trigger that works even during cold-start (platform backstop). |
| Con | Viral/shareable channels are back-loaded — they need accumulated user activity, so early growth is slow and depends on merchant density. |
| Con | Heavily dependent on merchant-first sequencing — consumer growth can’t outrun supply. |
| Con | Attribution across loops (QR → referral → share) is non-trivial to measure cleanly. |
Open Questions
- Channel CAC tracking: how do we attribute an install to QR vs referral vs share vs organic, especially when they chain?
- Referral reward tuning: what points value makes the loop spread without over-paying? (Carries the open weights question from Platform Stamps.)
- Share surface design: what exactly does a shareable collectible card / year-in-review look like, and where does it deep-link non-users?
- Paid-spend role: is there any justified paid consumer acquisition, or strictly loops + in-store + demand-signal?
- Birthday word-of-mouth: can we make the birthday-perk moment more inherently shareable without feeling forced?