Coupons
The User Manual has moved! For the most up-to-date information, please visit our new site at docs.antavo.com.
We're committed to providing you with the best resources, and our new site offers an enhanced experience with the latest documentation. Thank you for your understanding and continued support.
Antavo has built the Coupons module to centralize the definition and management of all coupons within the loyalty program in one place. The coupon pools created in this module can be used in numerous instances, including, the Rewards module, the Offers module, and Workflows.
- 1 Create a new coupon pool
- 1.1 Coupon source
- 1.1.1 Generation and bulk generation
- 1.1.2 Bulk-generation settings
- 1.1.3 Upload
- 1.1.4 Remote
- 1.2 General settings
- 1.3 Restrictions
- 1.4 Pass template
- 1.5 User group
- 1.6 Saving a coupon pool
- 1.1 Coupon source
- 2 Uploading coupons
- 3 Bulk-generate coupons
- 4 Settings
- 5 Coupons
- 5.1 Invalidate coupons
- 5.2 Unassign coupons
- 5.3 Transfer coupons
- 5.4 Redeem coupons
- 5.5 Unredeem coupons
- 6 Managing coupon pools
Find the configuration page of the Coupons module by typing ‘Coupons’ into the search bar of the Modules menu. The page will open to the list of coupon pools that are already been configured with the following information:
Name of the coupon pool
Source (generated, uploaded, remote, bulk-generated)
Type (amount, percentage, free shipping, gift card)
Value of the coupons
Create a new coupon pool
You can access and display all the below-configured information on the membership site through the Display API, the Entities API and the Coupons API. Please consult your developers to implement the necessary calls.
Click the ‘Create coupon pool’ option in the sidebar
Add the name of the coupon pool
Coupon source
Select one of the four coupon sources: uploaded, generation, remote or bulk generation.
Generation and bulk generation
If you want Antavo to generate codes, define the coupon pattern that the automatic coupon generation will follow, based on the following rules:
#
denotes a digit (0-9)@
denotes an alphabet character (a-z)^
denotes a capital alphabet character (A-Z)*
denotes an alphanumeric character$
denotes a capital alphanumeric character
All other characters should be copied into the generated code as literals (eg. if you set ‘@##COUPON’, a generated coupon code could be G11COUPON or T35COUPON).
If you would like to assign a generic coupon code to all customers, don’t use pattern characters, only literals (eg. if you set ‘SPRINGCOUPON’, all coupons codes to each customer will be generated as SPRINGCOUPON)
However, when defining the pattern of bulk-generated coupons, you must add at least 4 variables, which ensures that coupons can serve high demands.
Each coupon pool must have a unique pattern.
Bulk-generation settings
Coupon pools with bulk-generated source have specific settings you can configure:
Exclude characters
List any characters, separated by commas, that you'd like to exclude from coupon code generation to prevent confusion of characters (eg. O and 0 or 1 and I). Remember to list both lowercase and uppercase letters separately.
Exclude phrases
List specific phrases that you’d like to exclude from coupon code generation to ensure that unintentional or inappropriate texts are not used.Number of coupons
Define the desired quantity of coupons to be generated, ranging from 1 to 100 million.
Please note, that the number of coupons must be a maximum of 1% of the coupon pattern variations. This prevents the possibility that customers make lucky guesses on valid coupon codes if they are already familiar with the pattern.
The maximum number of coupon codes is determined by the coupon pattern and displayed in the helptext. Keep in mind, this number might be lower if you have excluded certain characters or phrases.
Upload
Choose the upload option if you want to upload a set of coupons to distribute. One coupon code can only be uploaded to one coupon pool, duplications are skipped automatically during the import process.
Learn more about how to upload coupon codes here.
Remote
If you’d like to maintain control over coupon management, you can set a callback URL endpoint that serves Antavo with coupon codes to issue. When generated by the external system, it is also determined to whom the coupon is assigned, thus facilitating validation.
The process requires the URL endpoint that receives POST
requests from Antavo and responds with a coupon code.
Whenever the system requests a code, it will send the following request:
{
"api_key" => "DEMODEMODEMOSDJDSIFDKDF",
"coupon_percentage" => "20",
"value" => "THE COUPON VALUE",
"customer" => "53626328374843843",
"type" => "percentage"
}
The API key has to be checked against a stored API key to prevent any malicious requests to generate coupon codes
The percentage value of the percentage-type coupon
The value of the amount-type coupon
Customer identifier
Other potential values.
As a response the system expects the code in the following format:
{
"code" => "COUPON CODE"
}
If the system receives the coupon code, it is automatically passed on to the customer.
General settings
Define the type of coupons in the pool
Fix amount
Percentage-off
Free shipping
Gift card
Customers use gift card coupons at multiple checkouts until the entire monetary value is spent.
Define the value of the coupons in the pool – not applicable to free shipping coupons
Restrictions
Add a minimum value – only applicable to gift card coupons
The gift card will be invalidated if the balance falls below this amount.
eg. if a $100 gift card has its minimum value of $1 and the customer uses the gift card to pay $99.5, then the card balance falls below $1 and therefore the card would be voided.Add a minimum redemption value - only applicable to gift card coupons
The customer must use at least this amount of the gift card each time they redeem it at checkout to reduce the basket value.
eg. if the customer wants to redeem $10 of its $100 gift card to pay partially at purchase, but the minimum redemption value is $15, the redemption would fail with an error message.Add a purchase minimum
Restrict the usage of a coupon to a minimum basket value.Set an expiration period
The coupon code's expiration date is calculated from when the coupon was assigned to the customer.Add stores
Pre-defined offline stores created/listed within the Stores module can be used to localize the validity of the coupon codes.Decide if you want to assign an aggregated coupon
Tick the checkbox to have the same coupon code assigned each time this coupon pool issues a coupon for one specific customer.Add products
It is possible to create and redeem coupons for individual products by selecting item(s) (previously added in the Product catalog module) to which the discount should apply.
Pass template
In case you use the Wallet module, you might want to select a pass template to be assigned to the coupons in the currently configured pool. The coupon pass that customers can add to their wallet application will be generated based on the selected pass template.
User group
In case you use the User group module and enabled the ‘Coupon pool’ and ‘Coupons’ entities in the settings you need to assign a group to the coupon pool. Unauthorized users will not be able to access the coupon pool in the Backoffice interface and the corresponding coupon statistics.
Saving a coupon pool
Don’t forget to click the ‘Save’ button at the end of the configuration process.
Uploading coupons
Click the ‘Upload coupons’ option in the sidebar
You’ll be redirected to the coupon import page of the Imports module. You can learn more about how to use the module here.Click ‘Choose file’ to upload a CSV format file with one code in each row
You can find the data fields that you can include in the CSV in the ‘Name’ column under the 'Fields’ section.Click ‘Upload’ at the bottom of the page
Configure the file import as per your need and make sure the correct coupon pool is selected in the ‘Coupon pool' dropdown field under Module options.
Click ‘Start import’
Right after the import is completed, coupons will appear in the list with a ‘Not claimed yet’ label.
Bulk-generate coupons
Navigate to the module configuration page
Click the ‘Edit’ button of the bulk-generated coupon pool to which you’d like to generate coupon codes
Navigate to the Coupons tab
Click the ‘Click here to start generation process’ link in the infobox
Enter the number of coupons you’d like to generate
You can generate a maximum of 5 million coupons at a time to ensure that all coupons in the batch are generated without delays.Click the ‘Start generation’ button
The coupon generation process will start immediately and coupons will be populated on the page.
After the first coupon generation, you can generate further coupons by clicking the ‘Bulk generation’ button at the top of the list.
Settings
Under the Settings tab, you can find a checkbox to enable the 'Auto redeem' functionality. This means that the Coupon redeem event does not have to be sent to set the coupon status to redeemed, but if the coupon code is included in the Checkout event, the Coupon redeem event is automatically registered.
Coupons
By navigating to the Coupons tab you can find the searchable and selectable list of coupons that have been uploaded or bulk-generated and/or assigned with the following information:
Code
Customer – assignee of the coupon
Claimed at – date of the coupon assignment
The expiration date of the coupon
Status
unassigned – the coupon has been uploaded, but not claimed by a customer yet
claimed – the customer has spent points to get the coupon reward or it was assigned by a Backoffice user manually or by a workflow
redeemed – the customer has used the coupon at checkout
Please note that usage information is only available if the coupon was redeemed by a Backoffice user manually or if the applied coupon code has been provided in the Checkout event.
A coupon that has been uploaded to a coupon pool can be redeemed without being assigned to a customer first.expired – the coupon has been claimed but expired without being used
invalid – the coupon has been invalidated by a Backoffice user
Usages – the number of times the coupon code has been used in a purchase
Invalidate coupons
Please note, that only coupons with ‘claimed’ and ‘unassigned’ statuses can be invalidated.
Invalidate one single coupon
This method is available only for coupons with ‘claimed’ status.
Click the hamburger button of the coupon code
Click ‘Invalidate’
Confirm the invalidation action by selecting 'Yes, go ahead' when prompted.
Invalidate multiple coupons at the same time
Tick the checkbox of each coupon code you’d like to invalidate
Click the blue ‘Invalidate selected’ button at the top of the page
Confirm the invalidation action by selecting 'Yes, go ahead' when prompted.
The manual invalidation action updates the status of the coupon to ‘invalid’ and if the coupon had been claimed and assigned to a customer, it triggers the registration of the coupon_invalidate event is registered on the event history of the assignee of the coupon.
Unassign coupons
Please note that only ‘assigned’ coupons can be unassigned.
Unassign one single coupon
Click the hamburger button of the coupon code
Click ‘Unassign’
Confirm the unassign action by selecting 'Yes, go ahead' when prompted.
Unassign multiple coupons at the same time
Tick the checkbox of each coupon code you’d like to unassign
Click the blue ‘Unassign selected’ button at the top of the page
Confirm the unassign action by selecting 'Yes, go ahead' when prompted.
As a result, the ‘Claimed at’ date will be cleared for the coupon, and a coupon_unassign event will be recorded in the customer's event history. Also, the number of claims for the coupon will be set to 0.
Transfer coupons
Please note, that only coupons with ‘claimed’ status can be transferred.
Click the hamburger button of the coupon code
Click ‘Transfer’
Enter the ID of the customer who will receive the coupon in the ‘Target Customer ID’ field,
and/or
Enter the ID of the customer who will receive the coupon in the ‘Target Customer email’ fieldClick ‘Transfer’
The manual transfer action triggers the registration of the coupon_transfer event on the event history of the previous assignee and the coupon_receive event on the event history of the new assignee.
Redeem coupons
Please note, that only coupons with ‘claimed’ status can be redeemed.
To redeem a coupon manually:
Tick the checkbox of each coupon code you’d like to redeem
Click the blue ‘Redeem selected’ button at the top of the page
Confirm the redeem action by selecting 'Yes, go ahead' when prompted.
The manual redemption triggers the registration of the coupon_redeem event on the event history of the assignee and increments the number of coupon usage.
Unredeem coupons
Please note, that only coupons with ‘redeemed’ status can be unredeemed.
Unredeem one single coupon
Click the hamburger button of the coupon code
Click ‘Mark as unredeemed’
Confirm the unredeem action by selecting 'Yes, go ahead' when prompted.
Unredeem multiple coupons at the same time
Tick the checkbox of each coupon code you’d like to invalidate
Click the blue ‘Unredeem selected’ button at the top of the page
Confirm the unredeem action by selecting 'Yes, go ahead' when prompted.
The unredeeem action updates the status of the coupon to ‘claimed ’, triggers the registration of the coupon_unredeem event on the event history of the assignee, and reduces the number of coupon usages.
Managing coupon pools
Editing a coupon pool
Go to the Coupons page
Click on the coupon pool in the list that you want to edit
Edit the coupon pool
Name
Source: uploaded, generated, remote, bulk-generated – this cannot be edited once 'Save and generate' is clicked for bulk-generated coupons
Pattern – this cannot be edited once 'Save and generate' is clicked for bulk-generated coupons
Number of coupons – only applicable in case of bulk-generated source
Type – percentage or amount
Value – the amount of discount you provide
Purchase minimum
Expiration time
Stores
Aggregation
Product
Updating Coupons
This section allows you to update any property of the coupon pool and apply it to all, or a specific subset of coupons in the pool.Update Criteria:
Do not update coupons – only the coupons that are added from now on will inherit the new pool properties
Update unassigned coupons – coupons that have been already created but not yet assigned to a customer will inherit the new pool properties
Update not yet redeemed coupons – coupons that are assigned but not yet redeemed will inherit the new pool properties
Update all coupons – all coupons will inherit the coupon pool’s properties
Matching
This checkbox means that only those coupons should be updated, which have a value field (Value: how much discount you provide) that is the same as the original number.
Don’t forget to save your changes by clicking ‘Save'.
Deleting a coupon pool
It is not possible to delete created coupon pools. If you want to stop using them, please make sure that the coupon pool is not selected in the configuration interface of loyalty program functionalities.
© Copyright 2022 Antavo Ltd.