How to manage your rewards?

Please read first understanding Splio Loyalty to be familiar with our rewards features and data model.

After managing customer identification, our next priority is to focus on using rewards effectively. It is important to determine the investment needed for integrating the Loyalty program, considering your available resources. Depending on your systems' technical constraints, some choices may not be worthwhile in terms of the effort required compared to the benefits for the end user.

1. Overview

Typically, challenges arise when dealing with point-of-sale systems, which can vary in their limitations due to older technology and limited ability to connect with third-party systems. Be aware that some integrations patterns are not possible due to technical limitations and that certain integrations may not be possible.

We describe here the mos common integration scenarios:

Integration scenarioEnd userImplementation cost
1. Omnichannel with real time data synchronisationIntegration of your Loyalty across all your point-of-sale (PoS) and e-commerce systems, enabling users to sign up for the loyalty program anytime, use their rewards instantly and use their point balance at checkout.Medium if existing connector with Splio - High if your PoS is open to 3rd party - Very high if your point-of-sale system is not open to 3rd party
2. Omnichannel with assynchronous data synchronisation Integration of your Loyalty across all your point-of-sale (PoS) and e-commerce systems, enabling users to be identified, use their rewards and get their point balance a day after an order.Medium and recommended if your point-of-sale is not open to 3rd party
3. PoS and e-commerce integration with different rewardsIntegration of your Loyalty across all your point-of-sale (PoS) and e-commerce systems, enabling users to use specific rewards on the web and on PoS.Medium
4. Customer identification only is PoS with assynchronous rewards / balance synchronisationIntegration of your Loyalty across all your point-of-sale only, enabling users to be identified and use their existing rewards.Low


Integration complexity increases as your systems become more interconnected because you need to manage all possible scenarios.

2. Assess your rewards management

This guide focuses on the commerce and retail industry, assuming it has only two types of point-of-sale systems: e-commerce and point-of-sale. If your specific case doesn't fall into this category, you can still apply the general principles to each of your systems.


Before starting

Is there an existing connector with Splio or between your E-commerce and point-of-sale systems? If not, is it mandatory for you to provide discount codes that can be used at the point of sale? If you don't have an existing connector and wish to provide discount codes at your point of sale, please proceed to the following questions.

1. Existing integrationIs there an existing connector?Get in touch with your Splio contact.Go to step 2.
2. System ownershipIs my system able to provide anonymous, one-time-use codes that correspond to benefits applicable at the point of sale?E-commerce or PoS is owner.Splio is owner.
3. Codes renewalIs my PoS system or E-commerce able to create programatically stock of codes?Owner is the one with the most traffic. PoS most likely in retail.Manual renewal of codes.
4. Send rewards burn informationRecommended: The system can "burn" or delete codes in the other systems (PoS & e-commerce).Send burn information after each order processed through API or batch files.Middleware with management of two separate stock of codes or no burn management at all after usage

Based on your on the choices, you will be able to move forward with your integration described in detail here.

3. Design your rewards

3.1 Definition and mapping

Determine how you intend to reward your users. Rewards management in the ecosystem can usually fall into the following:

  • percentage or value discounts
  • specific products as rewards
  • access to premium services such as free delivery

To ensure the usability and synchronization with third-party systems, it is important to consider the necessary customFields in your schema. These customFields should encompass the type of rewards and relevant information that need to be available across all systems used for redeeming the rewards when applying the reward code.

You can capture and store the specific data associated with rewards, such as minimum amounts, redemption options, expiration dates, and any other relevant details.

3.2 How to create add a rewards customField in Splio?

On Splio Customer Platform go to Data > Fields > Rewards section, then "New custom field.

Once the field is created, it will automatically appear in the interface (in the Custom Fields section of the reward settings) for all rewards (existing or new) so that it can be filled in. This applies to the APIs used to consume the reward data as well (List rewards, Get a reward and Get a reward attribution).

It is recommended to create the fields in collaboration with the technical team responsible for this subject to choose the name and type for each field correctly.


Note that each field can contain a maximum of 255 characters.

  "id": 169,
  "external_id": "1000739378684",
  "earn_date": "2023-06-14 15:51:59",
  "claim_date": null,
  "expiration_date": "2024-06-14 15:51:59",
  "status": "available",
  "reward": {
    "id": 18,
    "external_id": "bbco-25",
    "type": "",
    "name": "Chèque d'un montant de 25 euros",
    "price": 0,
    "nqp_value": 100,
    "description": "Échangez vos points contre un chèque cadeau de 25 euros et utilisez-le comme vous le souhaitez! Cette carte cadeau est valable en ligne ou en magasin, alors profitez-en pour vous faire plaisir ou faire plaisir à quelqu'un d'autre. ",
    "holding_days": 0,
    "validity_interval_type": "years",
    "validity_interval_count": 1,
    "max_attribution_count": 0,
    "limited": false,
    "auto_generated": true,
    "coupons_category": "",
    "picture_path": "",
    "forced_validity": false,
    "forced_validity_start": null,
    "forced_validity_end": null,
    "custom_fields": [
        "id": 0,
        "name": "Is Ecommerce only",
        "value": "true",
        "data_type": "text"
        "id": 1,
        "name": "Seuil de stock de codes restant",
        "value": "350",
        "data_type": "text"
        "id": 2,
        "name": "Minimum dachat pour utiliser la récompense",
        "value": "50",
        "data_type": "double"
  "contact_status": {
    "id": 94,
    "card_code": "2171707962088",
    "tier_joined_at": "2023-04-20 15:17:02",
    "program_joined_at": "2023-04-20 15:17:02",
    "card_expire_at": "9998-12-31 00:00:00",
    "computed_at": "2023-05-18 16:14:37",
    "q_point": 50,
    "nq_point": 150,
    "birthday": null,
    "individual": {
      "id": 70,
      "lastname": "Riquer",
      "firstname": "Elodie",
      "email": "[email protected]",
      "cellphone": "",
      "creation_date": "2023-04-20 13:17:02",
      "language": "",
      "delivered_email_count": "0",
      "delivered_sms_count": "0",
      "click_email_count": "0",
      "open_email_count": "0",
      "custom_fields": [
          "id": 0,
          "name": "ID du contact",
          "value": "",
          "data_type": "string"
    "program": {
      "id": 1,
      "name": "Pop Hat Démo ",
      "description": "",
      "type": "tiered",
      "status": "running",
      "start_at": "2022-05-18 16:15:00",
      "end_at": null,
      "created_at": "2022-05-18 16:11:08",
      "updated_at": "2023-01-02 17:25:52",
      "cascading": true,
      "downgrade_nb_rank": 1,
      "max_q_points": null,
      "max_nq_points": null,
      "default_q_points_validity_id_period": null,
      "default_q_points_validity_days": 365,
      "default_q_points_holding_days": 0,
      "default_nq_points_validity_id_period": null,
      "default_nq_points_validity_days": 1,
      "default_nq_points_holding_days": 0,
      "rounding_type": "ceil",
      "default_points_to_amount_ratio": 1,
      "auto_generated_card_code": true,
      "automatic_subscription": false,
      "use_all_orders": true,
      "q_refund_mode": "debit",
      "nq_refund_mode": "debit",
      "user": null
    "tier": {
      "id": 1,
      "name": "Bronze",
      "created_at": "2022-05-18 16:11:08",
      "updated_at": "2023-01-02 18:31:58",
      "entry_threshold": 0,
      "downgrade_threshold": 0,
      "multiplier_q_points": 1,
      "multiplier_nq_points": 1,
      "is_point_based": true
    "fields": []
  "coupon": null,
  "event": null,
  "store": null