Skip to content
befday
Esc
navigateopen⌘Jpreview
On this page

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?

Was this page helpful?