Use Promo Code to Acquire Offer and Apply to Transaction

This use case describes the experience of a customer receiving and using a promo code in a transaction. Promo codes can be sent to customers as a messaging communication or as an outcome from a corresponding campaign. In SessionM, you can expect that once the customer obtains and redeems a promo code, they can then enjoy the outcome associated with the promo code, namely, an offer, or a quantity of points.

Customer Journey

One helpful way of understanding this use case is to consider how it reflects the customer's experience, or journey, in the "real world."

Customer receives promo code in email sent from messaging platform on behalf of home goods retailer

Customer then logs into home goods website and presents promo code for redemption

Customer receives promo code reward, a coffee mug set offer, via their wallet

Customer decides to purchase coffee mug set and begins transaction by redeeming offer

Client middleware applies discount and processes purchase transaction

Customer receives message indicating successful purchase of coffee mug set - at discounted price!

Platform Configuration

Before implementing this use case, ensure the following have been configured:

Promo Codes

Promo code module enabled on platform.

Promo code configured in Promo Code module.

Offer is set up as promo code outcome.

Promo codes are distributed via messaging to customers. Can be custom implementation. If SessionM campaign is used, be sure to configure message.

Offers

Offer configured in Offers module.

Points

Points accounts and Point sources set up if points are the outcomes.

Sequence Diagram

See the overall flow for this use case below.

CUSTOMER CUSTOMER CLIENT MIDDLEWARE CLIENT MIDDLEWARE SESSIONM SESSIONM REDEEM PROMO CODE 1 Log in to redeem (or claim) promo code previously received via email/coupon 2 Redeem promo code for customer 3 Send back success response and promo code outcome, an offer GET AND REDEEM USER OFFER FOR TRANSACTION 4 Get user offer details for newly issued offer 5 Return user offer wallet with issued offer 6 Display user offer details 7 Create purchase transaction, with offer to be redeemed (applied) 8 Redeem user offer with transaction payload for purchase 9 Return amount of applied discount, along with other data FINALIZE AND SEND PURCHASE TRANSACTION 10 Purchase item(s) and finalize associated transaction Option 1: Without Offer 11 Send transaction Option 2: With Offer Option 2A: Lock Offer 12 Lock offer Option 2B: Redeem Offer Immediately 13 Redeem offer 14 Return success message 15 Send transaction 16 Enqueue transaction job 17 Return success message 18 Display success message Option 3: Economy Rules 19 Check transaction against economy ruleset 20 Award customer point or offer outcome Option 4: Campaign Rules 21 Check transaction against campaign ruleset 22 Award customer point or offer outcome

Tasks

This use case diagram contains multiple tasks, each one depicted in its own color-coded section. For more information, see the overview below.

  1. Redeem Promo Code (Use Case Events #1 - #3)

    One typical way to redeem a promo code received by a customer via a loyalty program outreach.

  2. Get and Redeem User Offer for Transaction (Use Case Events #4 - #9)

    Efficient way to obtain offers for a specific customer and then redeem one as part of a larger, purchase transaction.

  3. Finalize and Send Purchase Transaction (Use Case Events #10 - #22)

    Sends, or processes, transaction.

Alternative Path

This use case focuses on how redeeming a promo code achieves an outcome, which, in this case, is the customer receiving an offer. However, another option is for the outcome to be an amount of points, which could then be used to buy an offer. In this case, steps 1 - 3 of the diagram above, which describe a promo code redemption, remain the same. Then, once the promo code is redeemed, the use case follows this sequence of API calls:

Best Practices

When working with the SessionM platform to use a promo code outcome as part of a transaction, ensure the following:

  • Amount of promo codes matches amount of offers available for issuance.

  • Promo code type is relevant for use case. (Choice is between single use or multi-use code.)

  • Appropriate restrictions on promo code use enabled, as well as enabled for offer issuance to reduce fraud.

  • Multi-use promo code names kept concise and easy to read. Otherwise, embed them as QR codes in client application.