
Don't ignore dedicated discounts in your brick-and-mortar stores and their possibilities to increase revenue. To keep customers, give them an additional reason to come back and buy with a personalized promotion.

This use case will help you create a set of personalized promotions for customers to receive at check-out in physical stores. The set contains slots of customer-dedicated promotions from specific categories. Promotions will work for 24 hours from the date of assigning and can be printed together with the receipt after the transaction. Personalization of promotions on check out can work for both recognized customers, for example paying with card, or those paying with cash.
    
## Prerequisites 
---
- Implement transaction events using [API](https://developers.synerise.com/DataManagement/DataManagement.html#operation/CreateATransaction).

  <div class="admonition admonition-tip"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z" /></svg></div><div class="admonition-body"><div class="admonition-content">

  We recommend implementation of transactional events so that the hash of the card can become an identifier for the customer when they are paying by card. Thanks to this, a customer who will come to the store and pay with the same card can get personalized offer (even if they are not recognized, for example does not scan the mobile application at checkout), because we will be able to properly collect their transaction history.

  </div></div></div>

- [Import the product feed to a catalog](/use-cases/import-product-feed-to-catalog).

## Security configuration
---
Before you start working with this hub, if you are a Synerise customer or partner, consider reading [the section about denylisting events](/docs/settings/tool/api#denylist). This natively accessible configuration will allow you to manage the restrictions in points management that may help you prevent fraud.

## Process
---
In this use case, you will go through the following steps:
1. [Create personalized promotion](#create-personalized-promotions).
2. [Define groups of promotions](/use-cases/personalized-promotions-on-checkout#define-groups-of-promotions) to use them as base for AI engine.
3. [Define a personalized promotion](/use-cases/personalized-promotions-on-checkout#define-a-personalized-promotion). 

## Create personalized promotions
---
In this part of the process, create personalized promotion. Further on, the AI engine selects among the available candidates the best tailored promotions to display in personalized promotions.

1. Go to <img src="/api/docs/image/54176ad07f146575310749eba44b7c2f42c1b327/icons/ai-hub-icon.svg" alt="AI Hub menu icon" class="icon"> **> Regular Promotions > Add promotion**.
2. According to your buissness needs select one of the scopes:
    - **For selected items**
    - **For entire basket**
3. Define **Audience**. Select the group of customers for whom you want to prepare promotion.
4. In the **Content** section:
    1. Define the name, description, and image of the promotion. 
    2. In the **Price** field, enter `0`. 

        <figure>
        <img src="/api/docs/image/54176ad07f146575310749eba44b7c2f42c1b327/use-cases/all-cases/_gfx/content-cf-exmp.png" class="large" alt="Example of promotion content">
        <figcaption>Example of promotion content</figcaption>
        </figure>
    3. Confirm the settings by clicking **Apply**. 
    4. Add [customer tags](/docs/settings/configuration/customer-tag). In our case, to each promotion we will add a customer tag with the name of category it concerns - so that we can make groups of promotions dedicated for the certain category.
5. <span id="selecthandbill"></span>In the **Types & limits** section, select **Handbill** as the promotion type.
    1. Leave the rest of the settings in this section at default.
    2. Confirm by clicking **Apply**.
   
   <figure>
   <img src="/api/docs/image/54176ad07f146575310749eba44b7c2f42c1b327/docs/campaign/_gfx/selected-handbill.png" alt="Handbill type of promotion" class="full">
   <figcaption>Handbill type of promotion</figcaption>
   </figure>
7. In the **Schedule** section, define the promotion distribution period according to your business needs.
8. Optionally, in the **Stores** section, specify stores where the promotion is available.

    
   <div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

   This is possible only if the list of stores is imported into a [catalog](/docs/assets/catalogs).

   </div></div></div>
 

9. In the **Items** section, select the item catalog from which the items will be discounted:
    1. From the **Source catalog** dropdown list, select the item catalog.
    2. Select the **Entire catalog** tab using the **Select items** option, as in this use case promotion works on all items. 
10. To apply configuration and run the promotion, click **Publish.**
11. Repeat all the steps and create more personalized promotions. In step 9, instead of entire catalog, select specific items (for example, a brand, a category of items - depending on your business assumptions).

## Define groups of promotions
---
In this part of the process, you create a filter of promotions which will be used in a personalized promotion. 

1. In **Promotions**, above the list of promotions, click <img src="/api/docs/image/54176ad07f146575310749eba44b7c2f42c1b327/use-cases/all-cases/_gfx/filter-icon.png" alt="Filter icon" class="icon"> **> Define.**
2. Click **Choose filters**. 
3. Use the tag you assigned to [personalized promotion](#create-personalized-promotions) for categories you selected. This filter will be used while creating a personalized promotion.
    
    <figure>
    <img src="/api/docs/image/54176ad07f146575310749eba44b7c2f42c1b327/use-cases/all-cases/_gfx/personalized-promotions-on-check-out-define-tags.png" class="large" alt="Example of filters">
    <figcaption>Example of filters</figcaption>
    </figure>
4. Save the filter
5. Confirm the settings by clicking **Apply**. 

## Define a personalized promotion
---
In this part of the process, create a personalized promotion. The AI engine will select items from the group of personalized promotion [created in the previous step](#define-groups-of-promotions) based on the customer preferences. In personalized promotions you can also set how many products will be shown and adjust the variety of the offer.

1. Go to <img src="/api/docs/image/54176ad07f146575310749eba44b7c2f42c1b327/icons/ai-hub-icon.svg" alt="AI Hub icon" class="icon" > **AI Hub > Personalized Promotions > New personalized promotion**.
    1. As a type, choose **Check-out**.
    2. In the **A/B Test settings**, click **Define**.
    3. Click <img src="/api/docs/image/54176ad07f146575310749eba44b7c2f42c1b327/icons/add-variant-icon.png" alt="Plus icon" class="icon">.
    4. Click **Advanced options**.  
    5. Select **AI Engine**.
    6. Confirm by clicking **Apply**. 
    7. In the **Filters and limits** section, define two slots and to each slot assign the filter created before. Also, define the number of promotions in each slot that will be allocated for the customer.  
        1. In the **Promotions in set**, enter a number of personalized promotion to be used as candidates to display in a slot.  
        2. Click **Define filter**.  
        3. Select the filter you created in this [step](/use-cases/personalized-promotions-on-checkout#define-groups-of-promotions).  
        4. To add more slots, click **Ad another** and repeat steps i-iii.  
        5. Confirm by clicking **Apply**.  
    8. Define **Exclude items** section accordingly to your business needs.
    9. In the **Activity** section:  
        1. Leave the **Lasting** option at default (**Relative**).
        2. Set the activity time according to your business needs. In our case it is 24 hours.  
        3. Confirm by clicking **Apply**. 
    10. Configure the **Engine settings** section according to your needs.  
    
   <div class="admonition admonition-note"><div class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path stroke-linecap="round" stroke-linejoin="round" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg></div><div class="admonition-body"><div class="admonition-content">

   You can read more about engine settings [here](/docs/ai-hub/personalized-promotions/creating-ai-promotions#ai-engine-boosting-settings).

   </div></div></div>


2. To apply configuration and run the promotion, click **Publish.**

## What's next
---
For this promotion to work you need to implement the personalized promotion  in stores. Personalization of promotions on check out works for any customer, even for the anonymous ones. 

When the customer is anonymous/paying in cash, the personalization engine takes into consideration the current transaction that the customer makes in the store - and gives promotions with the context of products bought in this transaction.
- To assign checkout personalized promotions coupons for anonymous profile/customer paying in cash, based on items in basket - implement anonymous Profile's checkout process in POS [using the API method](https://developers.synerise.com/LoyaltyandEngagement/LoyaltyandEngagement.html#operation/processAnonymousCheckout_POST).

If the customer is recognized, the engine takes into consideration the whole history of their transactions and gives the most relevant results. For this to work we recommend using hash of the payment card as an identifier of the customer - for better personalization. 
- To assign checkout personalized promotions coupons for a profile, based on items in the basket and historical transactions - implement checkout process in POS [using the API method](https://developers.synerise.com/LoyaltyandEngagement/LoyaltyandEngagement.html#operation/processCheckout_POST).
As the `identifierType` use `externalId`, where the `identifierValue` will be the hash of the payment card.

## Check the use case set up on the Synerise Demo workspace
---
In the Synerise Demo workspace, you can check the:
- [handbill promotions](https://app.synerise.com/campaigns/promotions/27ea16b6-521b-448c-9551-2f12d96257ad) 
- [personalized promotion](https://app.synerise.com/campaigns/handbills/ec712c10-dad1-407e-afe5-0344ab9321e7)


If you’re our partner or client, you already have automatic access to the **Synerise Demo workspace (1590)**, where you can explore all the configured elements of this use case and copy them to your workspace.  

If you’re not a partner or client yet, we encourage you to fill out the contact [form](https://demo.synerise.com/request) to schedule a meeting with our representatives. They’ll be happy to show you how our demo works and discuss how you can apply this use case in your business. 

## Read more
---
[Personalized promotions](/docs/ai-hub/personalized-promotions/creating-ai-promotions#create-promotion-candidates)
