A Loyalty and Campaign App That Brings Customers Back
Paper stamp cards handed out at the till get forgotten, discount codes circulate hand-to-hand in WhatsApp groups, and who spent how much lives only in the cashier's memory. A loyalty app pulls that mess into one place: every receipt is tied to a customer, campaign rules change centrally, and who came back becomes measurable.
How many separate apps does this need?
-
01
Customer mobile app (iOS + Android)
The main app: membership card barcode, points balance and transaction history, active campaigns, coupon wallet, stamp cards, store locator, and management of opt-in notification preferences.
-
02
Till/store app
A tablet or handheld terminal interface where the cashier scans the customer barcode, confirms earning and redemption of points, and validates coupons — queuing transactions when the connection drops.
-
03
Campaign management panel (web)
An admin panel for building segments, defining point earning and redemption rules, generating coupon series, setting membership tier thresholds, sending notifications, reviewing fraud alerts and running store-level reporting.
What the app includes
- Personal membership barcode that refreshes every few seconds
- Stamp card: buy ten, get one free, resets automatically
- Point expiry dates with a reminder before points burn
- Membership tiers with thresholds, downgrade rules and a grace period
- Cashier screen shows customer name and any usable coupon
- Campaign rules limited by branch, time window and product
- Dry-run a campaign against a sample basket before publishing
- Automated birthday and win-back-the-lapsed-customer flows
- Refer-a-friend invite code that rewards both sides
- Load a gift card and pay from its balance at the till
- Per-cashier enrolment rate and a log of manual point grants
- Missing-points claim: correct a balance from the receipt number
State of the sector
Apps from supermarket chains and large coffee brands have trained customers to collect points; now the neighbourhood butcher and the single-site cafe are both asked “don't you have an app?” A business without one can only hold customers on price, with no tool to bring them back other than a discount. The heavier consequence is this: nobody knows how many times a month a given customer visits, or which campaign brought them back. While a competitor sends a birthday coupon to exactly the right person, the business puts the same poster up for everyone.
Metrics that matter here
- Repeat purchase rate (members vs. non-members) — Measures how often member customers return; it is the real metric for whether the loyalty scheme actually changes behaviour.
- Points redemption rate — Shows how much of the issued points balance is actually used; a low rate signals rewards are out of reach, a high one that the scheme is generous enough to eat into margin.
- Member basket size difference — How much larger the basket is for people buying through the app; a direct measure of whether the campaign budget pays for itself.
- Member identification rate at the till — The share of receipts where a customer card was scanned; if it is low, all downstream data is incomplete and cashier training or a simpler flow is needed.
Common mistakes in this sector
- Equating points directly with cash A “spend 100, get 5 back” setup becomes a flat discount, the customer reads it as price, and margin erodes. Membership tiers, surprise coupons and category-based multipliers both protect margin and increase return visits.
- Making the till flow longer A design that requires the cashier to move through five screens will not be used at peak hours, and the system dies within weeks. Identification should be finished with a single barcode scan, and points should be credited automatically in the background.
- Sending everyone the same notification Blasting undifferentiated campaign notifications to your opted-in audience ends in disabled notifications and deleted apps. Segments, a daily frequency cap and quiet-hours rules must be defined in the first release.
- Hard-coding campaigns into the app If every campaign needs a new release, you wait for store review and the moment passes. The rules engine must be manageable from the panel, and campaign launches must not depend on an app update.
Regulation and compliance
A loyalty programme is directly a personal data processing activity: phone numbers, purchase history and spending habits fall under KVKK (Turkey's data protection law, aligned with GDPR), so the app must include a privacy notice, a clear separation between membership data and marketing consent, defined retention periods and an account deletion request flow. Because campaign SMS and emails count as commercial electronic messages, consents must be registered with İYS (Turkey's national commercial message consent registry) and opt-out requests must be processed. How a points-funded discount is shown on the receipt and on the e-Fatura/e-Arşiv document should be settled with your accountant within the framework of GİB (Turkish Revenue Administration) regulations.
The real challenges in this sector
-
Preventing double-spending of a points balance
The same customer can transact at two tills at once, or a cashier on a weak connection can submit the same transaction twice. The balance must be held as an append-only transaction ledger rather than a single number field; every redemption request must carry an idempotency key and be processed server-side under a balance lock. The till writes only the result the server returns — it never calculates its own.
-
Awarding points at an offline till
The till must not stop the moment store internet drops. The till app queues the transaction locally with the receipt number and timestamp, then sends the queue in order once the connection returns. Earning can be accepted offline; redemption requires balance verification, so while offline it should either be rejected or run against a pre-reserved coupon.
-
Leakage from shared coupons and codes
If a single discount code spreads by screenshot, the campaign budget blows up. Coupons must be issued as unique, customer-bound serials, the barcode scanned at the till should be a short-lived dynamic code refreshed every few seconds, and each use must get a one-time consumption confirmation from the server. The panel should list attempts to use the same coupon at different stores as alerts.
-
Campaign rules colliding in one basket
When “second one free”, a membership tier discount and a points redemption meet in the same basket, the order of application becomes unclear and arguments start at the till. The rules engine needs a priority order, a stackability flag, and store/time/product constraints; the panel should allow a dry run against a sample basket before a campaign goes live.
-
Identifying members and merging duplicate records
When the same person signs up with a phone number at one store and an email at another, two separate balances appear and the customer rightly complains. The phone number should be the verified primary identity, confirmed by OTP. Merging duplicates in the panel must preserve point transactions, and each merge must be logged so it can be reversed.
Required integrations
- POS/back-office software integration (for line-item level point calculation)
- e-Fatura/e-Arşiv (Turkey's mandatory e-invoicing system) — so discount amounts appear correctly on receipts and invoices
- In-app payments and gift card top-ups via iyzico, PayTR or Craftgate (Turkish payment providers)
- Bank virtual POS and, where applicable, bank campaign matching
- Bulk SMS and push notification provider, with sending filtered by consent status
- İYS (Turkey's national commercial message consent registry) synchronisation for marketing opt-ins
Who this page is for
-
Single-branch café, butcher or hair salon
Digitising the paper stamp card is enough. A narrow first release with stamp cards, a birthday coupon and one-scan identification; a tablet beside the till usually beats a full POS integration at this size.
-
Regional grocery chain with five to twenty branches
The real work is branch-level rule management and line-level point calculation. POS integration, an offline queue, category multipliers and a panel that gives branch managers limited rights belong in scope from the start.
-
Newly opened gym or training centre
Here loyalty is about attendance, not receipts: visit streaks, membership freezes and refer-a-friend matter most. Build attendance-based rewards instead of spend points, plus an automatic win-back flow for members who stop coming.
A phased plan that splits the budget
-
1
Phase 1 — Working points and stamp core in one branch 6-8 hafta
Phone-verified sign-up, dynamic membership barcode, a point ledger, stamp cards and one-scan identification at the till. The admin panel covers earn rates, basic coupon generation and a branch report. This alone is usable in the shop; the till flow must prove itself at peak hours before the rule engine grows.
-
2
Phase 2 — Rule engine, coupon security and permission-based messaging 5-7 hafta
A campaign rule engine with priority order and stackability flags, dry runs on a sample basket, per-person unique coupon series and single-use redemption checks. Segments, quiet hours and frequency caps for notifications, plus syncing consent with Turkey's commercial-message consent registry (IYS). Segments only become meaningful once Phase 1 has produced real receipt data.
-
3
Phase 3 — Multiple branches, POS integration and the accounting side 6-9 hafta
Line-level integration with the POS or back-office software, an offline queue, branch-level rules and permissions, gift cards and in-app payment. Reporting on the monetary value of outstanding points and expired balances, and how discounts appear on Turkey's e-invoice and e-archive documents. This comes last because the schedule depends on the POS vendor's technical availability.
Typical scope and timeline
A typical first release: the customer app (iOS + Android), the campaign management panel and a single POS integration point. The points ledger infrastructure, coupon generation, membership tiers, consent-based notifications and core reports are included. UI/UX design, store assets, QA and the App Store/Google Play release process are in scope. Multi-store rule management and advanced segmentation are handled in a second phase. Scope and budget are set after a scoping call.
Estimated timeline: 10-16 weeks
Off-the-shelf or custom build?
| Topic | Off-the-shelf | Custom build |
|---|---|---|
| Limits of campaign logic | Standard points, stamps and coupons work on day one; but anything outside the package's rule templates usually cannot be built. | Category multipliers, time restrictions and stackability flags follow the business's own flow; in return, those rules must be defined up front. |
| Connecting to the POS software | If a plug-in exists for a common POS, setup is quick; if not, there is usually no route and the cashier must key in amounts by hand. | The integration follows whatever route exists — an API, an export file, or a tablet beside the till; this is the longest-running item in the project. |
| Monthly subscription and per-member fees | The entry cost is low and trying it is easy; but fees step up as members and messages grow, so the cost rises exactly as the programme succeeds. | Development is a one-off investment, leaving hosting and maintenance; there is no per-member step-up, but the initial outlay is heavier. |
| Ownership of the member list and the point liability | Membership and spend data sit in the provider's system. Backup and security are their job; in exchange, exports are often summary-level and the full transaction ledger is hard to retrieve. | Member records, the point ledger and consent history live in the business's own database; switching providers stays possible, but backup and security become the business's responsibility. |
Sector glossary
- Point ledger
- Keeping the balance as a list of individual earn and spend rows rather than one number. When a member disputes a balance, you can show line by line which receipt produced what.
- Redemption rate
- How much of the issued points actually gets spent. Very low means the reward feels unreachable; very high means the scheme is generous enough to eat margin. Campaigns are tuned against this figure.
- Point liability
- The monetary value of points issued but not yet spent — a promise of future discount sitting on the books. This is why expiry dates and periodic burn-off figures are reported.
- Identification rate at the till
- The share of receipts where a member barcode was actually scanned. When it is low, every report runs on incomplete data — and the cause is usually the cashier's flow, not the scheme.
- Coupon stacking
- Whether a coupon may be used in the same basket as a tier discount or a point redemption. It is flagged per campaign; without it, the till turns into an argument about which discount applies.
Frequently asked questions
Let us talk about your project
A free 30-minute call to scope it out, then an itemised quote within 48 hours.
Get a Free QuoteThis page explains the problems an app must solve in this sector. We share references and comparable projects during the call.