How to Build Your Own Promotion Engine?
Running a myriad of irrelevant, one-fits-all offers will get your business nowhere. Stop wasting money on offers that were never meant to work. Instead, release highly personalised offers to predefined customers and deliver engaging and impactful content to your audience. Engage customers in the right context and at the right time across the web, mobile, email, social media, and ads. All this is just a step away from you.
Do you feel any of this is true for you?
- You have a promotion engine integrated but current features that let you run promotions, loyalty programs, referral programs, offering coupons or gift cards are limited.
- You have the promotional infrastructure but every small change requires developers’ involvement, takes a lot of time and resources.
- You do not know if your offers are successful – you spend a lot of money on promotions run on your own channels but your reporting is not advanced enough to be able to say which type of promotion worked best.
- You feel like paying for external advertising is a safer bet as they provide in-detail analytics, even though you would have preferred to focus on your own platforms.
- You are worried about wasting your budget due to incentivizing customers that would have bought your product anyways and because of possible fraud.
If any of these statements feel true to you...
...you need a more advanced promotion engine.
We are going to guide you through different elements of the promotion engine infrastructure you need to include in your ideal solution. We hope it will help you to make estimations of the developer effort tied to building the solution yourself, making a wish-list of features you want from a bought solution or preparing a tender for such a solution. Whatever you prefer in the end — build or buy — the most important is to start with the set of features you need. So let’s start!
List of contents:
Promotion engine software – types of campaigns
- Coupon campaigns
- Loyalty campaigns
- Referral campaigns
- Cart-level promotions
- Giveaway campaigns
- Gift card campaigns
- Mixed promotions — stacking promotions on top of each other
Promotion engine software – other must-have features
- Products catalogue
- Redemption validation mechanism
- Redemption rollback mechanism
- Customer data import or CRM integration
- Validation rules
- Customer cockpits
- Mobile-friendly landing pages
- Branding options
- Bulk updates
- Campaign editor that can be used by marketers
- Landing pages creator
- Budget-controlling features
- Role-Based Access Control
- Tracking and reporting
- A/B testing possibilities
- Training and documentation
- Compliance with legal requirements
- Reduce the maintenance and running costs to minimum
How a promotion engine infrastructure looks like, based on our experience
Promotion engine software – types of campaigns:
The most important part of the promotion engine is allowing you to create different types of promotions for your customers and allowing your customers to redeem (use) their rewards. In this section, we are going to give you a high-level overview of types of campaigns you should be able to run with your ideal promotion engine to give you maximum flexibility and some examples of campaign types you should be able to create.
The main types of campaigns you should have available in your promotion engine software are:
- Coupon campaigns
- Loyalty campaigns
- Referral campaigns
- Cart-level promotions
- Giveaway campaigns
- Gift card campaigns
- Mixed promotions
Coupons can help almost every business type and size, if only a strategy is well thought through and planned accordingly to the current budget and clear marketing goals. The ubiquity of coupons in sales promotions comes from their versatility and the possibility of multi-level customization.
Examples of coupon campaigns you should be able to run with your promotion engine:
- Re-engagement campaign: if a customer hasn’t purchased anything in the last 6 months, send an automatic message with a coupon code.
- Event-specific campaign: if a customer visits your page on a Black Friday, display a banner with a public code BLACKFRIDAY19 redeemable once per customer.
- Acquisition campaign: if a new customer signs up, send a unique 10% discount code valid for 30 days.
- Volume- or spend-based campaign: if a customer spends $50 or makes at least 2 orders, send a 20% unique coupon.
- Up-selling campaign: if a customer subscribes to your event, send an email with a 20 EUR gift card for any future event.
- Location-based campaign: 20% off if a customer’s delivery address is Porto.
- “We are sorry” coupon: 20$ off offered to a dissatisfied customer, assigned by the customer service on an individual basis.
- Abandoned cart offer: 5% off for the whole purchase, coupon offered to customers who have abandoned their cart, offered for a limited period of time for example 1 day, to entice customers to complete their purchase. (Research says that the abandoned cart offers recover between 3% and 11% of orders. Instant messages with a 5% or 10% discount are usually enough to note a significant uplift in recovery rate).
Coupon campaigns should enable 5 main discount types:
- Amount ($10 off)
- Percentage (20% off)
- Unit (2 piano lessons)
- Free shipping
- Fixed amount
You should be able to offer public (one code can be used by all customers, example Halloween2020) and personal coupon codes (unique per customer).
Choose how your vouchers look like:
You should be able to define a code pattern of your vouchers using several parameters:
- Charset (alphanumeric, alphabetic lower & uppercase, numbers, custom)
If you are using an offline POS, you should also consider enabling generating QR and barcodes.
Harvard Business Review says that businesses find it 5 to 25 times harder to get a new customer than to keep an existing one. A good loyalty program software is an investment that comes back.
What should a good loyalty program engine enable you to do?
1. Create custom events for points or credits collection — reward engagement of your choice. You should be able to add earning rules based on custom events performed by your customers on your website/app, such as:
- A customer signed up.
- A customer completed the ride.
- A customer updated subscription.
- The platform should also support custom events like points for social media activity or rewards for providing feedback/reviews.
2. Reward customers with targeted incentives – personalize offers with different types of rewards in your campaigns:
- Discount vouchers
- Gift card credits
- Loyalty card points
- Material rewards
- Free delivery
- Free samples
- Buy one, get one free
- Volume discounts — amount- (save X when you spend Y) and quantity-based (X% off selected items, product bundling)
- Gift cards — redeemable once or more
- Cash payout — e.g., for referrals
- Earning loyalty points — points can be exchanged for the rewards
3. Create different earning and spending rules per segment of customers or per country. Personalize the loyalty program based on the preferences of your audience to maximize your ROI.
4. Create custom loyalty program tiers – loyalty programs with multi-level structures have a greater chance of keeping customers interested. A very effective method of increasing engagement is by adding a Premium group to the top of the loyalty layers. This helps you to distinguish the most valuable customers and primarily, gives a clear goal to all people who participate.
5. Multiply the points granted on special days or for VIP customers – the system should enable you to give more points/rewards per event if the event is performed on a “special” day (e.g. “2x points, only on Sundays” promotion) or by a specific segment (e.g. Premium customers get 1.5x points for each $ spent).
6. Offer gamification – the system should provide milestones which marketers can use to build powerful loyalty programs. The milestones should be based on time, frequency, revenue, earned points or any other custom “currency”.
7. Set the expiration date for points/rewards earned to protect your budget.
8. Offer a self-serve customer portal integrated with your online shop or app, where the customers see their progress and previous rewards.
9. Send reminders – remind your customers of loyalty programs and let them track their progress.
Referral programs take advantage of the power of recommendation. From all of your customers who claim that they would recommend your services to their friends, only a few will actually do it unless you make them feel more motivated by offering a gift card, voucher or free product.
Your referral promotion engine should enable you to:
1. Launch both, one-sided and double-sided referral programs
2. Enable online and offline redemptions (web app, offline with the mobile app)
3. Set different amount of reward for referrer and referee
4. Set limits for the amount of people referrer can refer
5. Set when the discount is given (When the referee purchases something? When the referee creates an account?)
6. Create different earning and spending rules per segment of customers or per country. Personalize the loyalty program based on the preferences of your audience to maximize your ROI.
7. Trigger messages with the rewards for both, referrer and referee automatically
8. Set referral program tiers
Each tier is a separate level in your referral program. If you want to have different rewards or/and different rewarding criteria then tiers are what you need. For example, tier 1 can reward each referrer who refers at least 1 customer with a $5 gift card; tier 2 can reward each referrer who refers at least 3 customers with a 30% discount.
Interested in using world-class promotion engine at a fraction of a cost?
Sales promotions with auto-applied discounts (cart-level promotions) are typical for online stores. Retailers define a cart structure which applies for a discount. Each cart is validated automatically by a system, and if promotion rules are met, a discount is added at the checkout without any code or additional steps. Such promotions enable you to deploy many diversified scenarios and cart-level rules at the same time.
Examples of cart-level promotions your promotion engine should enable you to run:
1. Flash sales
Flash sales are dynamic promotions wrapped in a short time window (example — happy hours). Expiration dates in such campaigns drive traffic and cut customers' hesitations. Research claims that people find sales promotions much more attractive if limited in time. Read our guide to successful happy hours campaigns!
Buy one and get one free (BOGO promotion) is a popular type of sales promotion which can help you to promote a new product or clear your stores at the end of the season. Moreover, if you combine such campaigns with time limits, you can increase traffic in the quietest time of a week/season. This kind of offer is based on the power of the word "free" which usually sounds very convincing in a consumer’s ears.
3. Free sample
Free samples for new customers is a tactic that may be more beneficial than you probably think. The research shows that endowing an unexpected gift and simple gestures towards clients influence their buying decisions significantly. It’s called the reciprocity effect which can be an effective tool to increase the average spent amount. The key is to offer a free product, sample or discount before a customer purchases; reciprocity makes your potential buyers feel obliged to repay and order or sometimes to order more than they intended at the beginning.
4. Free shipping
When people see something free, two things happen:
- They forego the mental cost-benefit analyses usually associated with making a purchase.
- They actually perceive the benefits of a free product as higher than they really are. In other words, people overestimate the positive qualities of a free product, and this is true even when the freebie is the shipping.
5. Product bundling
Bundling together multiple products, or products and services, can boost sales, improve profit realization, and cement customer loyalty.
An important feature of cart-level promotions is personalization enablement. You should be able to set different promotions for different customer segments, based on e.g. location of the customers, behaviour, average spend, loyalty program tier level of the customer.
Why invest in giveaways? They make customers excited about your business and increase brand awareness. You can boost product exposure by offering your own products as rewards in your online contests.
What are the important features of a promotion engine to be able to run successful giveaway promotions?
1. Creating online contests to create brand or product awareness and bring traffic to your website. Successful online contests can become viral and promote your business better than standard advertising.
2. Offering various prizes ranging from material rewards to numerous non-monetary incentives.
3. Landing page with information-collecting widget (to collect the information from participants).
4. Automatic prizes assignment and reward notifications.
5. Possibility to run offline-to-online campaigns.
Examples of giveaway promotions:
1. Run a photo contest for the best Halloween Costume and choose winners by allowing customers to upload images onto your landing page.
2. Create a giveaway with the winner(s) receiving a MacBook Pro. Limit the participants of your giveaway to particular customer segments to boost customer loyalty or run an open giveaway campaign to generate more leads.
3. Encourage customers to sign up for your monthly newsletter by offering them a chance to win 10, 15 and 20% discount on specific products or if their order volume exceeds $300.
Gift card campaigns
You can use gift cards as a product – selling them on the nominal or below-nominal value in your store. You can also use it as a campaign tool and use them in different promotions.
Examples of gift card promotions you should be able to run with your promotion engine:
1. Give temporary free balance to spend
Adding a temporary, free balance drives the customer into Loss Aversion behavior. People endowed with unexpected gains usually try very hard not to lose them. In the case of a sales promotion, this means they are very likely to make a purchase due to saving the balance for themselves before it’s gone.
“We added an extra $10 to your card! Spend it in our store. Hurry up, the free balance will be gone by midnight!”
2. Birthday present gift card
Personalized gift cards have the power to keep customers coming back and invoke repeat purchases.
3. ‘I am sorry’ gift card
Issued by your Customer Service department on an individual basis, to dissatisfied customers.
You should be able to enable gift card redemptions in your offline stores with your mobile app or a QR code saved on a customer's phone with a generic app for storing loyalty/gift cards.
To be able to track your outstanding liability, it is useful to have a feature that enables you to calculate the sum of all remaining, available credit on all the gift cards.
To manage your budget, you should be able to set the expiry date for the generated gift cards. It is recommended to do so based on the location of the users as some countries have regulations regarding gift card expiry dates.
Mixed promotions — stacking promotions on top of each other
If you create various campaigns, loyalty and referral programs, it is important to have control over which promotions can be combined with each other and which ones are exclusive. Stacking promotions should make sense from an ROI perspective — you should be able to protect yourself from potential opportunistic behaviour of your customers.
Promotional engine software – other must-have features:
In the previous part, we have focused mostly on campaign types your promotion engine should support and the main use cases you should be able to use it for. These were just high-level features you should expect from a promotion engine to serve its purpose — create promotions. Let’s jump into other features and enablers of a good promotion engine software that are important to your internal departments like Marketing, Sales, Customer Service and IT. We will go through more back-office related enablers that are important for smooth operation of your departments, increased efficiency and control over the budget.
1. Products catalogue – you will need it to be part of your promotion engine to be able to set up product-specific promotions. To map more advanced relationships like series, families, brands etc. you will also need custom metadata fields.
2. Redemption validation mechanism – it should check if a customer profile and its current context (order structure, attributes) are eligible for a discount. It should also save the details about successful or failed redemption trials and potentially notify you (for example, via a webhook) if fraudulent behavior is detected (e.g. in case of multiple redemption trials from the same account). You should be able to connect the redemption validation with every customer touchpoint easily, to make the promotions truly omni-channel.
3. Redemption rollback mechanism – an option to cancel a redemption if it was granted to a non-eligible customer.
4. Customer data import or CRM integration – to personalize the promotions you will need to have the customer data reachable from your promotion engine software. You can either import the relevant information or connect the 2 systems: promotion engine and your CRM system. The connection with CRM is crucial for running the campaigns and reporting on their outcomes.
5. Create customer segments – to personalize your promotions and maximize your ROI, you should be able to create customer segments, both static and dynamic.
Segments allow you to group customers based on spending habits, interactions with the brand or other custom attributes. Thanks to segments you can precisely define who is eligible for a certain promotion.
- Static customer segments always contain the same number of customers. Once you create a segment, new customers are not added there automatically.
- Dynamic customer segments mean that customers dynamically join or leave the segment if they match a given filter (once the customer matches the requirements to be in that segment, the customer will automatically join the segment).
Examples of customer segments:
1. The most loyal customers (e.g., 'customers with at least 5 orders in the XX period of time' or 'the total amount of orders more than $500 in the XX period of time').
2. Customers from designated locations (e.g., 'postal code 65-737' or 'city London').
3. Clients who have been the most active lately (e.g., 'the last purchased order less than 14 days ago' or 'signed up less than 5 days ago').
You should be able to group your customers by:
- Created date
- Postal code
- System attributes: Source ID, Source metadata, Source
- Gift cards
- Events and custom attributes: Metadata, Events
- Total count of customer orders
- Total amount of customer orders
- The last order total amount
- The last purchased order
- Referred customers
- And more.
6. Validation rules – needed to set up who is eligible for which type of promotion. To allow for creativity with creating promotional campaigns, you would need the flexibility to create validation rules based on the:
- Order structure
- Order volume
- Budget constraints
- Customer location
- Purchase history
- In-store activity
- Redemption logs – how many and what kind of redemptions the customer has already made
- Marketing permissions
- Custom attributes (metadata)
You should be able to mix different validation rules to create more targeted campaigns and protect yourself from unnecessary spending or fraud.
Validation rules examples:
- The previous purchase history of customers – only customers who have spent last year at least 1000 EUR in your store.
- The number of purchases in a timeframe – only customers, who have shopped at least 1x per month in the last 1 year.
- Customers segment – customers from London, who redeemed at least once, who spent more than $1000.
- Total discounted amount – the total value of applied discounts from campaign X has to be less than $10 000.
- Total orders value – the value of all orders made within the Y campaign cannot be more than $20 000.
- Total number of redemptions – customers can redeem codes from a campaign 3 000 times.
- Total redeemed gift amount – customers can spend $10 000 of the balance from a gift card.
- Redemptions count per customer campaign – customers can redeem max. 3 codes within a campaign but only once per day.
- Validation rules based on metadata – all customers who work for pharmaceutical companies (type of industry is stored as metadata).
7. Customer cockpits with loyalty points/rewards accessible to your customers on your website or mobile app will take the heat off customer support agents by helping the customers to self-serve.
8. Mobile-friendly landing pages – As of 2019, 55.9 percent of the time spent on websites comes from desktop users, compared to 40.1 percent for mobile users. Your landing page creator for your promotion campaigns has to make the pages responsive, if you do not want to let go of 40% of possible traffic.
9. Branding options – you should be able to add your branding to the landing pages, messages and customer cockpits.
10. Distribution – to engage customers in the right context and at the right time across web, mobile, email, social media, and ads you will need a powerful promotion engine. The best way to have one content hub from which you send out coherent promotional content is to store the content either in the promotion engine or some sort of CMS system and have API connections to the different distribution channels you use. This way, you will be able to connect easily to any new distribution channels in the future.
You should be able to distribute your promotional campaigns via:
- Automated emails
- SMS messages
- Push notifications
- Social media ads
- Landing pages
- In-app banners
- Live chat
- Affiliate ads/links
- Display ads
You should also be able to automate incentive delivery with:
- CSV export – allowing you to download incentives details and upload them manually or programmatically to delivery channels e.g. send coupons as merge tags in the email.
- Manual send out – enabling you to send incentives to specific groups on demand, from some dashboard (e.g. send a push notification with a referral code to Berliners).
- Real-time triggers – building real-time segments and allowing you to define conditions under which your loyalty program software sends a contextual incentive automatically, e.g., customers who have spent more than $500 get an automated message about 10% off valid next weekend.
11. Bulk updates
To make your work more efficient, you might want to have a possibility of creating bulk updates — changing multiple vouchers or promotion tiers in a single request.
12. Campaign editor that can be used by marketers without the need to program each campaign, that enables fast changes to campaigns, saves a lot of developers’ time and time-to-market.
Marketers and Customer Service Agents should be able to, for example:
- Find and deactivate a single coupon.
- Check the single user view to see the customer’s history - used coupons, loyalty program tier, segment he belongs to.
- Quickly change the promotion mechanism in response to any legal requirements or competitor landscape.
- Double-check the validation mechanism in case of a customer complaint.
- Launch “I am sorry” coupon for an dissatisfied customer, in a couple of clicks.
- Return the money to a gift card in case of reimbursement.
- Generate gift cards for a partner as an ad hoc activity.
- Launch a flash sale in a couple of clicks to meet the daily turnaround goal.
13. Landing pages creator speeds up greatly time-to-market and lets marketers create the campaigns by themselves. It should contain a couple of page templates, reusable widgets and e-mail collection forms. It should have branding possibilities.
14. Budget-controlling features
You would want to manage your campaign budget e.g. stop the campaign if the overall value of the discount that your customers redeemed in a campaign exceeds a given number or if the number of redemptions exceed the set limit.
Your promotion engine software should let you control the promotion budget by setting up safety limits which automatically deactivate your promotion. It should be possible to set budget constraints based on:
- Total discounted amount
- Total orders value
- Total number of redemptions
- Total redeemed gift amount
- Redemptions per customer
- Redemptions per customer in a campaign
- Redemptions per customer per day
You should be also able to set the start and expiry dates for each promotion or validity of the rewards — not only to save the marketing budget but also to keep your team from nasty database cleaning tasks.
15. Role-Based Access Control
Your promotion engine software should let you establish roles and access flow for your team members to prevent any unauthorized changes. Team members from customer service shouldn’t be able to launch new campaigns, but they should assign an “apologize” coupon for a customer. Junior marketers shouldn’t be able to give 50% off discounts for the whole inventory, but they should be able to compile a performance report from A/B tested campaigns. You should be able to create specific read/write, read-only, no-access permissions for every team member or partner.
A couple of useful features:
- Campaign deployment approval
- Projects permissions
- API-level access rights to isolate campaigns by chapters, countries, partners, or any other basis
- Team management in a centrally managed account
16. Tracking and reporting
You should be able to get some insights on the performance into existing campaigns so that you can plan the next ones better. The most efficient solution is to let your marketers track any promotional campaign without wasting developers’ time. Therefore, your promotion engine should have built-in tracking, that does not require a set-up done for each campaign, 1:1.
Examples of KPIs to report on:
- Total order value vs discounted amount
- Average order value when the discount is applied.
- Total balance on sold gift cards.
- Balance of the gift card spend.
- Total number of loyalty points.
- Information on the type, value, and limits of your vouchers.
- A number of vouchers created.
- How many publications (codes assigned to customers) were successful and failed.
- How many messages were delivered successfully or failed.
- List of failed redemptions with detailed failure reason (this will greatly help with troubleshooting).
- Redemption limit of your vouchers set up at the creation stage.
- Track changes made to the campaigns (especially important if multiple people can access the promotion engine).
- Total number of redemptions per single coupon, campaign, user, or global incentive.
- Individual metrics within the 360 customer profile (your customer support agents will love this feature!)
Read more on how to calculate ROI from digital coupon promotions.
17. A/B testing possibilities
You should be able to schedule multiple discount experiments to figure out the optimal promotion strategy.
18. Training and documentation
Make sure that your promotion engine has an up-to-date, understandable manual so that your employees/colleagues can use it as self-service. Make sure all the documentation is kept up to date to make future changes fast and efficient.
19. Compliance with legal requirements
One of the important things you should keep in mind is involving the legal department in making sure the data storage, processing, and all consents they collect are compliant with the local laws. Keep in mind that they might not be the laws that apply to your company based on your location but the laws of the countries where your customers are located. This might be very complex if you have an international business online, with many customers coming from different countries. You have to comply with the majority of the rules. For writing terms and conditions and for defining technical requirements regarding data processing and data storage, we strongly advise you to get a knowledgeable law practitioner. In the long term, it’s cheaper than paying fines.
A couple of topics to be on top of:
- Unfair and deceptive trade practices.
- Having an expiration date on gift cards might be prohibited in some countries/states.
- Privacy and data security – many countries have different rules on data storage and processing.
- Tax implications if clients use their points/gift cards as payment.
- Check if the name of your program is not a registered trademark and consider registering yours, especially if it does not contain your brand name.
Those are just some of the points to keep in mind; we strongly advise you to consult a legal/tax advisor on those and any other regulations that may affect your program before you launch it.
20. Reduce the maintenance and running costs to minimum
Developers’ time is not cheap. There are a lot of more important projects on your backlog than simple changes to the promotions, which could be potentially done by your Marketing or Sales departments. You should ensure that the solution you implement is reducing the maintenance and running costs to minimum.
The best way to cut the maintenance time and costs is to go for an API-first solution. API-based promotion engine software will make implementing all the previously mentioned features faster and cheaper. For example, having an API-first solution will enable your developers to quickly integrate it with other software like CRM systems, data analytics solutions or distribution channels.
A couple of developer-friendly API characteristics:
- Custom metadata
- Custom events creation
- Custom segments creation
- Custom earning rules
- Logs and monitoring
- Webhooks with notifications in case of errors or fraudulent behaviour
- Built-in analytics
- Page templates and widgets for the landing page creation
- Email collection widget ready to reuse on the landing pages
- API-first platform (it will make adding new distribution channels and integrating with other software easier)
Check out our article on how to use API-first platforms to build your websites faster.
These features will also make the time-to-market of each campaign way faster. Sometimes your team might want to personalize loyalty programs in response to external events. Real-life examples? If it’s raining, send out a 10%-off coupon to invite a shopper to your brick-and-mortar stores. Or, if a competitor’s price drops under some value, you show a discount too. To achieve this in the future without hassle, you might extend your API with endpoints to create, start, and stop campaigns programmatically.
How a promotion engine infrastructure looks like, based on our experience
A right promotion engine software is extremely important for a right promotional strategy. If it is flexible enough, it can let you create your campaigns in a couple of minutes, without the need for additional development. There are various features you should consider when choosing what’s right for you, starting from types of campaigns you want to run, through how to set-up the campaigns and on to the easiness of use and legal compliance. You should check what’s possible and choose what’s the most important for your business. Once you know what you need, the next step is to think about whether you want to build it or buy it.
Building and maintaining such a complex system is hard work and needs a lot of time. Do not lose the revenue opportunities by postponing the launch due to long time-to-market. There are many out-of-the-box solutions that can bring you your dream ROI in a couple of days/weeks, depending on the time of integration. Paying a license fee for a ready software can ensure fast time-to-market and predictable time and costs of setting up the infrastructure.
Be careful while choosing the right off-the-shelf SaaS as your promotion engine software as there are a lot of solutions that are overpriced and will charge you for 100% of the system capabilities, out of which you will finish up using only 10% or less. Choose which features are important to you, find the system that supports them and can scale the offered features (and pricing) as you grow.
Voucherify is a cloud-based, API-first platform which helps companies build promotional campaigns worldwide. Unlike most promotion management softwares, we offer you total flexibility in the way you design, distribute and track coupon, referral and loyalty programs. The marketer-friendly user interface enables growth teams to manage and track promotion performance on their own, reducing development effort. The developer-friendly RESTful API allows you to plug the redemption point into any system, be it a website, mobile app or POS.The pricing depends on your needs – you can start small and grow to a more advanced solution, once you need it.
Interested in using world-class promotion engine at a fraction of a cost?