Marketing Campaign Systems

LINE Scratch-Card Campaign Page: A Nationwide Campaign with Purchase-Based Rewards

Built a LINE@ official account threshold-based lottery LIFF page for an international sportswear brand, integrating 350+ directly-operated and dealer stores nationwide — covering multi-layer eligibility verification, back-office lottery monitoring, and fully automated winner notifications.

Store-wide lottery integration

Runs in sync across 350+ stores

Real-time multi-layer eligibility

Membership, spend, and play count verified instantly

Fully automated draw and notification

Reduces manual work and error risk

Requirements

For its Chinese New Year campaign, the brand wanted to boost in-store sales with a spend-threshold lottery, but the eligibility logic was complex, winner notifications relied on manual work, and back-office management lacked visibility — none of which off-the-shelf tools could solve. The brand needed a system that automated the entire flow, from QR code scan through eligibility verification, the draw itself, and winner notification.

  • 350+ directly-operated and dealer stores nationwide each needed their own QR code — generating, distributing, and tracking anomalies across all of them during the campaign was a massive undertaking
  • Consumer eligibility logic had multiple layers — brand membership status, LINE@ friend status, and daily play count all had to be verified simultaneously, with the three conditions interacting to determine each person's chances
  • Winner notifications and forfeiture confirmations needed to be automated, to avoid manual errors and the customer complaints that come from having no retained record
  • The brand needed real-time visibility into campaign status and winner-list progress across every store, and the ability to check remaining prize counts at any time

Let's Solve It!

  • Multi-layer eligibility checks: the moment a code is scanned, the system automatically confirms LINE@ friend status, verifies brand membership, and checks the day's play count — all three conditions triggered simultaneously and routed seamlessly
  • Fully automated LINE@ push notifications: winners receive an instant notification; anyone who voluntarily forfeits gets a confirmation message as well, creating a retained record
  • Back-office lottery management interface: real-time monitoring of usage and abnormal traffic, flagging of ineligible users, and exportable winner lists

Case Details

“Every in-store campaign used to mean someone watching it manually — checking which store had a problem, which customer’s eligibility was in dispute. If a winner notification got forgotten and a customer said they never received it, the complaints started rolling in.”

Chinese New Year is a critical sales push for the brand, but running a campaign simultaneously across hundreds of stores nationwide comes with management pressure that’s easy to underestimate. How do you verify consumer eligibility in real time? Who sends winner notifications, and is there a record that they went out? How does the back office know which store is having a problem?

We built a CNY (Chinese New Year) spend-threshold lottery system for this international sportswear brand for the second year running. This time, with a “scratch card” theme, we integrated 350+ directly-operated and dealer stores nationwide and fully automated the entire lottery process.


When a marketing campaign meets code logic

The flow is intuitive for consumers: spend enough in-store to hit the threshold, the staff hands over a QR code, scanning it opens the LINE LIFF scratch-card page, and completing it earns the corresponding prize.

A campaign that looks simple on the surface turns out to involve far more complex logic once you actually build it:

  • Two spend thresholds: NT$3,000 on regular days, with an additional NT$6,600 threshold during the CNY bonus period — each threshold maps to a different prize pool with its own combination of prizes and win rates
  • Membership-weighted play limits: consumers who’ve added the brand’s LINE@ account can play twice a day; those who also hold brand membership get a daily limit of 4 plays
  • Forfeiture safeguards: leaving mid-scratch counts as forfeiting that attempt; if a winner chooses not to claim their prize, the system automatically pushes a confirmation message, keeping a record on file in case of a future complaint

One prize pool, multiple layers of logic

Once a consumer scans the code into the LIFF page, the system has a few seconds to do three things at once: confirm LINE@ friend status, verify brand membership, and check how many times they’ve already played that day. The combination of these three conditions determines how many draws this consumer gets and which prize pool they enter.

All three layers of checks run automatically in the background — all the consumer experiences is “scan, then play”; none of the eligibility verification is visible to them.

Designing the rules clearly turned out to be harder than the technical implementation. During requirements gathering, we enumerated and confirmed every combination of identity and spend conditions; during testing, we ran through every single path to make sure every edge case — no membership, daily limit already reached, and so on — produced the correct result before we went live.


You’ve won! Fully automated LINE@ push notifications

After a win, the system automatically sends the winner a LINE@ notification with a form link. If a winner chooses to voluntarily forfeit the prize, the system likewise pushes a confirmation message that clearly logs “voluntarily forfeited by the recipient” — giving the brand a documented record to reference when processing the prize list later, and effectively reducing the risk of complaints.

The entire notification flow requires zero manual intervention — from determining a win to triggering the push notification, it’s all handled automatically by the system.


Back-office lottery management interface x data reports

The back office provides a complete campaign management interface that the brand can operate directly.

Prize management: each prize can have its own name, draw round, and quantity configured independently, with usage counts displayed in real time — the brand always knows redemption progress for every prize, and can flexibly adjust next week’s probability settings during the campaign.

Winner records: fully records every winner’s submitted form data — name, phone number, address, invoice number, home store, LINE information, member ID, each draw’s result, and claim status — sorted by number of wins, and exportable to Excel for prize fulfillment and logistics.

Non-LINE@-friend flagging: flags users who don’t meet eligibility requirements, so they can simply be skipped during prize fulfillment without any after-the-fact manual filtering.

Share tracking: records when users share the campaign with LINE friends, helping the brand understand the campaign’s organic reach.


Challenges during development

Designing the multi-layer eligibility logic

Once a consumer enters the LIFF page, the system has a few seconds to complete LINE@ friend confirmation, brand membership verification, and a same-day play-count lookup — each check feeding into the next step of the flow. A delayed response or a mishandled edge case in any one of them could leave the consumer stuck mid-flow and hurt the experience.

We enumerated and confirmed every logical combination during requirements gathering, then ran every combination’s path during testing, before we felt confident going live.

Designing edge cases for back-office features

Every back-office feature looks intuitive at first glance, but each one actually involves a fair number of edge cases: winner records need to correctly group multiple wins by the same person, the non-LINE@-friend flag needs to actually take effect during prize fulfillment, and the logic for a prize hitting zero remaining quantity needs to be handled correctly. We clarified these details one by one during requirements gathering, and simulated a range of extreme scenarios during testing, so the brand wouldn’t run into problems in day-to-day operation.

Edge cases for winner notifications

The timing and exception cases for LINE@ push notifications turned out to be more numerous than expected: what happens if a winner doesn’t fill out the form, what happens if someone forfeits and then changes their mind, and how should the retry mechanism work if a push fails to deliver? We clarified these edge cases one by one in requirements meetings and built handling for each into the system, so no exception scenario would leave a complaint risk down the line.


Technical Architecture

  • Frontend: LINE LIFF (custom game page)
  • Backend: GAE
  • Database: Google Cloud SQL (MySQL)
  • Membership verification: integrated with the brand’s membership system API for real-time identity and spend-eligibility verification
  • QR codes: dynamically generated, encoded with store IDs, managing up to 500 codes at once
  • Push notifications: LINE@ automatically pushes winner notifications and forfeiture confirmation messages
  • Back-office management: prize management (real-time display), winner-record export, friend-share tracking, non-LINE@-friend flagging, and permissions management

The core lesson from this project

A spend-threshold lottery sounds like a simple marketing campaign, but it’s really an eligibility-verification and data-management system that demands precise execution.

The more detailed the rules, the more the system design needs every scenario mapped out in advance. Every identity type, every spend threshold, every edge case — each combination needs its own handling logic, so the campaign can run fairly and smoothly for its entire duration.

You can get results like this too!

Start with AI requirement analysis and turn your idea into a concrete requirements draft.

Start My AI Analysis