Building an online marketplace from scratch - order processing

This series of articles describes one of the modern approaches to designing and building e-commerce applications. It focuses on showing how to ship CRM-related features fast, so the business gets decent time to market. If you want to get along with business people or you’re thinking of becoming a CTO, then this series might well be worth reading.

This is the second installment of a series of posts, here you can quickly jump to other parts:

Welcome back!

In this post, we’ll describe how to design and implement order management functionality for Manufaktura (our online marketplace business).

As you read in the previous post, Manufaktura is an early stage business. This means that orders are handled manually, emails go back and forth, customers and manufacturers want to be updated about the status, and new “exceptions” keep popping up every day. In such conditions, building an order management system is like dismantling a bomb. You need a short-term and a long-term solution. Short - turn off the timer, long - take away the explosives otherwise the problem isn't solved.

Translating this into the software world, it means you need to figure out how to automate order processing as asap as possible. Otherwise, your team will sink in manual work. At the same time, you need to keep in mind business scale and plan how you’re going to map long-term data analysis out. Without the latter, your quick & dirty solution will start generating more and more problems in operations and will impede drawing insights from data.

So exactly how do you approach order management with a 3rd party SaaS & API platform approach then?

Meet Salesforce and its API platform.

We’d like to show you how an early business can use a SaaS giant to:

  • build a base for a software platform,
  • respond to ever changing requirements,
  • decrease time to market.

But before we jump into architectural stuff, let’s get an overview of what the business requirements are. This is crucial to learn how Salesforce is going to help us solve the problems and to see what makes it a leader in its category.

Requirements in a nutshell

There’re a couple of tasks which make this project challenging. We have several people involved in the process, and each of them brings their must-haves to the table. Even though it’s an early stage business, order processing won’t be efficient without taking into account the following facets:

  • Lead/contact management - marketing
  • Order data validation - operations
  • Marketing channel tracking - marketing
  • Status tracking and pipeline management - sales/operations
  • Responsible agent - customer service
  • Reporting - sales/operations/finance

Apart from these basic CRM features, we need quote management to cover the order workflow. Speaking of which, here’s a sketch of the order process we want to map with the platform:


  • Hardware designer (HD) - wants to have their product manufactured
  • Manufaktura (M) - our business, online marketplace
  • Manufacturers (MS) - bid for the contract


  1. HD submits RFP
  2. M screens the RFP and requests an in-advance partial payment from HD
  3. M starts a call for bids
  4. MS submit their proposals
  5. M selects the winner according to a current strategy
  6. The manufacturing starts and will run through several stages (see the scheme below)
  7. Product Validation Tests are finished, mass production starts
  8. The first batch is delivered, M charges HD full price
  9. HD runs a QA session - if all is fine, MS gets paid by M
The process of mass manufacturing takes several steps and usually takes months. If you’re interested in details, read a fantastic article from Andrew Dupree.

The process of mass manufacturing takes several steps and usually takes months. If you’re interested in details, read a fantastic article from Andrew Dupree.

Big up-front design

As you can imagine, in reality, the process has many corner cases and potential problems at every step. It’s our role as developers to solve them with the software and so, off we go to the planning session! Let’s design the database scheme, choose the database vendor, count story points in JIRA, argue over front-end frameworks, and hold an hour-long discussion on how to tackle a super specific corner case, twice.

That’s one way of doing it, but before you gather up your team in front of a whiteboard, take a minute to go over these points:

  • FIRST, although this approach gives value by letting developers adapt to each other and improve their social skills, like the art of reasoning and arguing, it takes time. And the business people can’t wait that long. They are very eager to have their orders automated.
  • SECOND, remember it’s a new business and a lot of theories and, therefore, requirements have not been validated with the market. The organizational structure of the company isn’t known yet either. All this brings the risk that your design and estimations won’t be valid in a month or so.
  • THIRD, at this stage of the business, some specific and rarely occurring cases can be done manually by non-tech people. Or, at least you can use some smart bypass like a magic Excel formula or a 10-line bash script invoked when necessary. With small scale, there’s no need for full-blown automation for every cumbersome job.

If these points are valid for your case, let’s put off a big planning meeting and think of a faster way to get the order management system up and running.

Prioritize & iterate

To achieve decent time to market you should do 3 things: 

  • Narrow down the real business pain points
  • Research tools that can fix these pain points and can be adapted to your context
  • Solve the problem with the least amount of code

So, instead of hand-picking tools for your dream tech stack and building a skeleton of the application with Jenkins, one-click builds, triple-layer test net, let’s outline the showstoppers, break them down to what’s really crying out for automating and plan the very next iteration.

In the next sections, we’re going to show you how you can embrace the “prioritize & iterate” process and finally how to implement the critical elements for the business - fast.

We’ll focus on the first and most cumbersome part of Manufaktura’s process, so:

  • Validating and storing requests details from HDs
  • Handling bids
  • Announcing the winner and commissioning the manufacturing process

(We’re leaving some parts of the process for the next posts, e.g. payments, customer support, promotions)

But first of all, we need to replace orders.xlsx because it’s becoming more and more difficult to maintain by the ops and marketing folks.

Alright, so let’s recap - the business requirements emerged and now we can get to the heart of the matter, let’s look around for tools which can help us out. If your case sounds similar (you need to basically build wrap an order management process with software), give Salesforce a chance.

Let’s take a tour around the Salesforce platform to understand its features and ultimately to see why it’s a tool worth considering for fast pace software development.

Salesforce - the mighty platform

Ok, you probably had enough of business requirements talk by now. But we had to go through at least the basic ones to show you how much Salesforce gives you out of the box.

If you (like me 3 years ago) have paid little attention to what Salesforce has produced over the last decade, you might think they’re just a Software as a Service CRM application. Another app you have to deal with because VP Sales signed up for it. But it’s not the case anymore. Salesforce has evolved into a massive software platform for building business applications.

If you’re willing to spend some time learning their ins and outs, it will turn your software tech team into a productivity monster. For example, pretty much everyone I know involved in implementing business apps complaints about a helluva lot of tedious jobs:

  • Connecting application user interface to DBs
  • User data validation
  • The process of DB schema change
  • Handling users, roles, and profiles
  • Controlling access to records and fields, adapting user interface to different roles
  • Handling concurrency and transactions
  • Allowing for end-user reconfigurability

At the same time, these mundane problems are super important for companies because data integrity is one of the pillars of sound business. And the online marketplace we’re building here is no different.

Now imagine that you can implement all of them, saving enormous time and energy for your team. How? Salesforce team has already solved these issues for you. As Dan Appleman points out in the article on why Salesforce might become another VB:

  • When you add tables or fields to the Salesforce platform database, they appear in the language as objects with properties, already strongly tied to the correct data type.
  • If you reference those objects and properties anywhere, the underlying tables and fields can’t be deleted or changed to an incompatible type. The platform creates and enforces data integrity.
  • When fields are displayed on the user interface, which is easily customizable without programming, validation and the correct user interface for the fields just happens automatically.
  • Security is baked in – if a given profile isn’t allowed to access a table or field, they just quietly disappear from the user interface for users that aren’t allowed to access them. That applies to forms and reports (reporting and charting being built-in as well).
Adding a custom field

Adding a custom field

And Salesforce’s approach to mapping custom, more advanced business processes also works like a charm. Most of the complex scenarios can be built with the interactive process builders. Want to come up with a multiscreen form with validated inputs? No problem, open up the builder and define your scenario using the drag and drop wizards. No coding…

… unless you have to. If you need more flexibility or a custom feature, then there’s a built-in Java-like programming language (Apex) and the ability to connect to 3rd party apps through the API. More about that in the next post. Let’s get back to what Salesforce offers for Manufaktura’s requirements out of the box.

Salesforce - what’s inside the box

When it comes to Manufaktura, Salesforce offers robust built-in order management features. What we get is a range of standard CRM functionalities, including:

  • Contact, account, and order management
  • Order status tracking
  • Sales pipeline visualization
  • Business reports
  • Agents management
Salesforce offers almost 30 built-in objects which help you model your entire business

Salesforce offers almost 30 built-in objects which help you model your entire business

In case you didn’t notice, this list covers almost all the items our stakeholders requested for Manufaktura. As we learned in the previous paragraph, these built-in features can be customized without coding. You can add/modify/remove fields, link different entities, restrict access to particular records, create custom dashboards, and finally build custom reports on top of it all.

With these features, you can get Manufaktura’s workflow mapped and ready to handle new orders by the end of the day. This would include:

  • Configuring built-in objects to match the requirements
  • Defining order statuses according to the process
  • Automating the manufacturer selection process

Important note: it’s all quite easy even if you don’t have Salesforce experts in your organization. SF also provides a superb site with educational resources at By going through the modules, you can quickly wrap your head around basic and semi-advanced topics from a user and admin point of view.

Let’s see what it takes to prepare a real-life Salesforce-based software architecture for our processes. We’re going to create a semi-automatic order management process for the following steps:

  • An order is requested by a Hardware Designer and it gets PENDING VALIDATION status - the tender effective date should be at least 3 days in advance so that there’s time for submitting offers.
  • After the operations team verifies the order, it goes to AWAITING PROPOSALS stage. Manufacturers can start submitting their proposals.
  • Every day, in the morning, our engine selects the best price offer and the order ends up with a MANUFACTURER SELECTED, or CANCELLED NO PROPOSALS status if no proposals have been sent.

This is a simplified visualization of the relationships and the process (the entity names in square brackets stand for built-in Salesforce objects)



Order workflow

Order workflow

Getting work done

Objects & basic workflow

We’ll start off by adding 2 account types for our marketplaces: Hardware Designers and Manufacturers.

  1. Go to Configure Accounts (Setup -> Object Manager -> Account):
  2. Add Account Record Types: Manufacturer and Hardware Designer.

The second step is to sketch out the process’ workflow; the initial stages will look like these:


Here’s how to do it:

Go to Configure Orders (Setup -> Object Manager -> Order) and define Statuses in Draft Category.


Now let’s make a field for linking the Order to a winning Manufacturer. We’ll do it with a custom object Order Proposal. It’s a regular “one to many” relationship - Manufacturers submit Order Proposal for a specific Order. This is how to create it:

Go to Object Manager -> Create Custom Object and:

1. Define name as Auto Number with the following pattern: OP-{0000000000}

2. Enable the following features: Allow Reports, Allow Activities, Track Field History, and Allow object in Search Result. We can also allow adding Notes and Attachments for future reference.


3. Add new fields to the created object:

  • Order as a required Lookup Relationship to Account Order
  • Manufacturer as a required Lookup Relationship to Account and define a filter for Record Type equals to Manufacturer
  • Description as a LongText field
  • Price as a required Currency field

Now let’s setup this relation from the Order point of view. Add the following fields (see the screenshots below):

  • Proposal as a Lookup Relationship to Order Proposal and define a filter for Order ID at Proposal (it must match the current Order ID)
  • Manufacturer as Lookup Relationship to Account and define a filter for Record Type equals to Manufacturer
  • Manufacturer Selected Date as DateTime field

Great, we’ve just got the basic relationships modeled. Now, let’s add some constraints so our process is more robust and less error-prone. First, add a Validation Rule for orders with AWAITING PROPOSAL status which enforces that the Order effective date must be at least 3 days in the future. In this way, we avoid sending outdated RFPs to Manufacturers.


Then, add a rule saying: when the Order gets MANUFACTURER SELECTED status, the Manufacturer and Proposal must be chosen. Again, this time the system won’t bother HDs if somebody from the operations department forgot to fill in the necessary information. It’s just a bit of extra validation measures to reduce the communication chaos.

Fine-tuning the layout

Apart from rapid business logic development, Salesforce gives you pretty decent control over how the objects present the information to the user. The powerful Layout Designer lets you configure multiple layouts for the same object. You can improve the UX by revealing/hiding different information for different user roles. On top of that, it offers a dozen or so built-in widgets, Preview As…option, and even Undo/Redo functionality.


Implementing RFP send out mechanics

The basic structure and constraints have been modeled, let’s move the needle now. The next section describes how the selection of the winning Manufacturer works. The process looks as follows:

  1. The selection process is run every day at 7 am.
  2. The script goes through all AWAITING PROPOSALS orders and selects the proposal with the best price (this is business criteria for the moment).
  3. The orders which didn’t get any traction are marked as CANCELLED NO PROPOSALS.

Because this is a slightly more complex scenario, you can’t do it with the built-in process builder. We simply have to code it. As mentioned, Salesforce has got you covered here. Let’s see how easy it is to instruct Salesforce how to handle our processes. It’s actually no different than most popular programming environments (see this guide to learn more).

Let’s create a class in the built-in sort of IDE. Go to Setup -> Custom Code -> Apex Classes and put the logic inside:

global class ManufacturerSelectJob implements Schedulable {
   global void execute(SchedulableContext SC) {
       List<order_proposal__c> acceptedProposals = 
           [ SELECT Id, manufacturer__c, order__c 
               FROM order_proposal__c
              WHERE order__r.EffectiveDate < TODAY
                AND order__r.Status = 'AWAITING PROPOSALS'
           ORDER BY order__c ASC, price__c ASC ];
       List<Order> acceptedOrders = new List<Order>();
       Set<String> acceptedOrderIds = new Set<String>();
       for (order_proposal__c acceptedOrderProposal : acceptedProposals) {
           if (acceptedOrderIds.contains(acceptedOrderProposal.order__c)) { continue; }
           Order acceptedOrder = new Order();
           acceptedOrder.Id = acceptedOrderProposal.order__c;
           acceptedOrder.proposal__c = acceptedOrderProposal.Id;
           acceptedOrder.manufacturer__c = acceptedOrderProposal.manufacturer__c;
           acceptedOrder.manufacturer_selected_date__c =;
           acceptedOrder.Status = 'MANUFACTURER SELECTED';
       update acceptedOrders;
       List<Order> cancelledOrders = 
           [ SELECT Id, Status
               FROM Order
              WHERE EffectiveDate < TODAY
                AND Status = 'AWAITING PROPOSALS'
                AND Id NOT IN (SELECT order__c 
                                 FROM order_proposal__c) ];
       for (Order cancelledOrder : cancelledOrders) {
           cancelledOrder.Status = 'CANCELLED NO PROPOSALS';
       update cancelledOrders;

We won’t be talking much about language specifics, you can learn more here, but a few comments to point out the nice things about Apex are:

  • it looks like Java/C#
  • it has an SQL-like query builder with intellisense
  • it offers ORM-like methods for CRUD operations on objects

Now that we have the class with the job, let’s schedule it. Again, Salesforce is bundled with a scheduler which makes triggering super easy. Visit Setup -> Environment -> Jobs -> Scheduled Jobs and with a click of the button, you can set/schedule the job to be triggered every day.


Testing the whole process

Salesforce also gives you a standalone and easy to use testing environment. Here are 2 features which help us verify our process seamlessly:

  • Sandbox - as you might’ve noticed (top panel in every screenshot), each action we have taken in the course of this tutorial is done in a sandbox environment. This helps you safely test the changes before they end up in production. Modifications are grouped in changesets which you can deploy if you’re 100% sure.
  • Developer console -  you can programmatically access all objects and classes through an embedded console. Plus, you can see all debug logs in there too.

Now, we can deactivate the Order Start Date rule and add some test orders manually:

  1. Add a few Accounts (Hardware Designers and Manufacturers)
  2. Add Orders with the yesterday Order Start Date and change their status to AWAITING PROPOSALS
  3. Simulate that Manufacturers submit proposals by creating assigning OrderProposals to Orders
  4. Then, go to Developer Console / Debug / Open Execute Anonymous Window and type:
new ManufacturerSelectJob ().execute(null);

Our code should do the job then - the Orders will have the Manufacturer with the best price assigned and the status will change to MANUFACTURER SELECTED. In case there were no proposals, the status will be set to CANCELLED NO PROPOSALS.


The only database you need

If we have basic business objects set up, we should finally transfer the current spreadsheet-based order database to Salesforce.

By the way, how about treating Salesforce as a master of data. No external database? That’s right, storage flexibility, performance, and backup capabilities at Salesforce are good enough to set it up as the only data storage in the early stage of the project (our experience shows this setup might be enough for an online marketplace for 2 years). But what then? Worry not, in the next post we’ll show you how to get the data out with Heroku Connect when the scale hits.

Let’s get back to migration. The Salesforce Business App Store offers a handful of reliable tools which help you design, manage, and migrate data. Take Data Loader for example.

This simple tool gives you the ability to easily import data into Salesforce. It has an intuitive field mapping tool and gives a list of well-explained errors when the import cannot be done. With Data Loader, you can redesign your database in no time at all. Just add new fields to the object, export records to xlsx, munge the data so they match the new schema, and import them back.

Yep, in the early stages, when the number of records is at max dozens of thousands, you can do it all in Excel. We found it to be a huge productivity boost when the schema changes frequently.

For brevity, we won’t showcase how to transfer the Excel with orders via Data Loader, but you can see for yourself how simple it is with this video.

Additionally, SF gives you record history (audit log) out of the box. You can see who changed what and what was the previous value. These features (custom fields with validation, easy migrations, and backup with audit logs) ensure your data integrity without investing time in countless schema modifications and mundane migrations.

This all means, you really can treat Salesforce as core data storage for an early stage, yet-to-be-predictable business.


Using mostly the out of the box capabilities of Salesforce, we configured the fundamental processes related to the order management in our online marketplace. The orders.xlsx has been successfully migrated and now the operations people can manage data in a streamlined way. All fields are validated and monitored, so you can always ensure data integrity.

We have achieved this without implementing or using any other external system or applications - even getting the external database wasn’t necessary. Within a couple of hours, we have responded to the real business needs.

Now the marketing/sales/ops/customer service people save tons of time and invest their time in creative tasks. They also have an opportunity to use the collected data to improve their processes even more.

And finally, all of the data model changes and consecutive data migrations are super easy to handle. Adding a new field or creating a validation rule is a 1-minute no-coding job. In other words, the system is open for change and scale - 2 things we’ll cover in the next articles.

Coming next

We have a basic setup of entities and workflows. But what if we want to model more complex scenarios? Let’s imagine we want to update the policy for selecting the winner of the tender. What if we want to automate some mundane tasks such as sending out email confirmations? This is where Salesforce really shines. In the next post, we’re going to showcase Apex and API’s awesome capabilities, best practices, and caveats. And what’s more important, we’re going to cover Salesforce licensing, cost estimates, and support possibilities so you can learn how to communicate all this with management.

Lastly, let’s update our architecture diagram. Salesforce has emerged as a major SaaS platform. In the next article, we’ll connect it to the other parts of the system.


12 hacks to build the omni-channel coupon experience


In this consumer-centric World, you need to provide a seamless customer experience regardless of channel or device.



What is omni-channel marketing?

The Omni-channel approach uses a variety of channels to create one, seamless user experience and build the ongoing real-time dialogue with customers who interact with a brand. Omni-channel technology gives business the opportunity to register customers’ responses to sent messages and based on this, brands can decide about the next best action (NBA).

Follow this article to see how to shape up your omni-channel marketing with coupons and, by using our 12 field-tested hacks, inscribe your promotion system in the omni-channel model.


#1 (More than) emails. Emails are the most effective marketing medium once you can turn them into personal, well-targeted offers. Remember that personalization is far more than just a name in a subject line and a coupon code inside - read our white paper to learn advanced personalization coupon tactics in email marketing.


#2 SMS is the best choice once you reinforce your strategy with geofencing and geo-oriented coupons. Using geolocation increases the chances of catching a customer in the right place at the right time. If you need some geomarketing inspirations, go here.

4 out of 5 consumers use smartphones to shop.



#3 Push notifications with coupons to empower customer service. As e-commerce goes mobile, notifications coming from apps are an effective form of communication with your audience. According to recent data, 25 percent of consumers engage in online shopping only via mobile. You can use short notifications with coupons to keep your customers informed about current deals and improve your customer service. Effort put into customer care is much more beneficial than care about sales itself. In the era of the internet, when almost everyone in connected, notifications are not only easy but also a cheap way to reach an enormous group of consumers. Nevertheless, you must use your app wisely and never push out poor, anonymous content even if it’s just a short note.



#4 Ads with coupons. The world of ads is very tricky, it’s easy to pay for something that may never be noticed but costs a lot, as often happens with social media ads. This is why it may be worth using more creativity and new ideas in order to start advertising your brand. Well-targeted coupon campaigns make ads more reliable and noticeable wherever you put them. With attractive discounts wrapped into catchy campaigns, your ads get a proper chance to compete with the market giants who occupy the best places in social media and AdWords.


#5 Facebook and the social family. The marketing power of social media is undeniable. Although giant brands have dominated the world of social ads in the same way they rule Google AdWords, small and middle-size business still have a chance in this race.


To stand out from the crowd, use creative, personalized ideas:

  • Provide your social profiles with personalized and tailored coupon deals.
  • Launch a social group for your customers to let them build relationships and share opinions.
  • Ask for reviews of your products/services and reward the most active buyers.
  • Create movement - use coupons to encourage your buyers to share photos with your products or to check in when they shop in your store. With time, you’ll be able to define some behavioral patterns typical for your audience and use them to improve a sales strategy or your customer service.
  • And finally, be on! People very often ask for help or offers they are interested in by using their social profiles. If you decide to start with social media marketing, you need to be prepared for questions round-the-clock.

One of the best examples of a brand which knows how to leverage coupons in social campaigns is Starbucks which regularly release coupons via their social profiles.

In October 2013, Starbucks launched a ‘Tweet-a-Coffee’ coupon campaign that allowed people to give a $5 gift card by putting ‘@tweetacoffee’ and a friend's handle in one tweet. The campaign ended up with global success and almost 30 000 tweeting fans.

In October 2013, Starbucks launched a ‘Tweet-a-Coffee’ coupon campaign that allowed people to give a $5 gift card by putting ‘@tweetacoffee’ and a friend's handle in one tweet. The campaign ended up with global success and almost 30 000 tweeting fans.


#6 Influencer marketing with coupons; Influencer outreach pays off and increases ROI on condition that you can effectively secure your brand against fraud. The huge power of influencers’ outreach has made it a source of a growing number of misuses.

By adding vouchers for your influencers, you can emphasize your marketing message and avoid fraud at the same time.

Unique incentives provide your campaigns with detailed tracking of influencer’s interactions amongst the whole campaign, so there is no need to worry about fraud and you can focus on choosing the right influencers.

The good news is that there is a chance for small companies as well, you don’t have to spend lots of money and search far away to find the best influencers.

If you put yourself into the consumers’ shoes, whose opinion would you value the most? Of course, the other consumers who are already familiarized with your products/services. Opinions from your customers can firstly be displayed on your blog, landing page or app (testimonials) and then you can ask customers to share your content on their social profiles or blog and offer a special coupon in response, sounds good?

You can follow the example of Manhattan-based startup Glossier (named one of Most Innovative Companies of 2017) which asked “regular women” to participate in their advertising strategy as reliable influencers:      

"What's very motivating to us is this idea of every single woman being an influencer."

Glossier recently introduced a referral program to enable the most influential users to offer product discounts to their unique society.


#7 Coupon aggregators and affiliates - distributing coupons at wholesale.
When considering large scale marketing campaigns, implementation across a distributed organization that spans multiple business partners may easily become the elephant in the room. Collaboration with coupon websites is a great way to increase coupon sales but it has to be well-planned and secured by building an appropriate distribution network. You have to provide automatic coupon management and maintain it with an overview of a current campaigns’ performance. To find out how to do it step by step, follow this article.


#8 Brick and mortar shops in the omni-channel model. If you aim at a true omni-channel strategy, you have to treat mobile technology with the highest priority. If you provide a user-friendly app with coupons and QR codes, you significantly increase their usability. Just think if you know anyone who shops without their phone? Smartphones have become multi-functional tools which can redeem a coupon, serve payment, and scan your codes. Your customer service should be ready to allow consumers seamless changing from your landing page to a mobile device and give them in-store service without any slowdown during the journey.


Looking for a real example?

Check out IKEA’s omni-channel approach reflected in their website and mobile app working fluently on every device. If you allow the app to use your location, you’ll get a plan of the nearest store and a current storage status on your phone. Moreover, in the main view, they display current discounts and promotions which consumers (after logging in) can use with their loyalty cards. The entire Ikea strategy shows perfectly how the omni-channel approach should affect a customer’s experience.

#9 Printed out coupons and a handmade message. An Omni-channel strategy doesn’t turn away from a traditional hand-to-hand delivery. While searching the Internet, you can find many inspiring examples of coupon campaigns, such as Marina Auto Body campaign, where company owners have used Starbucks coupons to thank their customers. What’s inspiring here is that they wrote and signed up handmade thanks and added them to each coupon.


#10 Popups done right. Should you display popups on your web page? Yes, you should. Should you add a coupon to a popup? Yes, of course. But primarily, you have to be sure your popup is done right. If you take care about an appropriate incentive (nice coupon) it will be enough to make a popup attractive for your visitor; there is no need to dazzle a user with a big, flashing box. If your popup disturbs users, they’re very likely to leave your site and never come back. When you already have a nice popup, the best practice is running tests which estimate which places and discounts bring the best results.


#11 New affiliate collaboration: co-marketing.

“Co-marketing is about sharing audiences and resources between two complementary brands to execute a campaign that neither one could do as effectively alone.” 

Why co-marketing? If you step out of your market, you’ll find many companies which target a similar audience. Affiliate programs don’t have to be only about sales, indeed, by cooperating, both brands get access to new clients. Coupons can be a great beginning to encourage a foreign audience to try your products/services.

Virgin America + Netflix

Follow the market giants and find your marketing partner!

#12 The quality of integration is critical for omni-channel marketing. In the following paragraph, by using Voucherify as an example, we are going to show you the technology basics of omni-channel campaigns.


With modern technological possibilities, you can be sure that appropriate coupon software will cover your omni-channel needs entirely, without harming your budget.

12 hacks to build the OMNI-channel coupon experience  (1).png


Initial preparation of your team for omni-channel software solutions is vital to make them efficient in the future. Today’s technology offers immersive possibilities but only if you learn how to use them first, and fit them into your kind of business.


Even if omni-channel technology requires additional time and effort to put into a coupon system, it is definitely worth it. The studies show that most marketing teams still use just the basic software features and leave plenty of advanced, marketing tools unused.

The average customer is still using the basics. Many have not begun to use lead scoring, triggers, omni-channel, personalization, or advanced segmentation. - @JeffPedowitz

If you give your team enough time to get on well with a chosen technology, they’ll be able to make the most of each feature and deliver a real omni-channel coupon experience.


While looking for something to start with, you can use our ideas for coupon campaigns with required software features to leverage the omni-channel approach.

Building regular audiences

First purchase is a critical moment on the journey from a new customer to a loyal one. To ensure a customer experience which makes the client willing to come back, you need to take care of a new relationship from the very beginning:

  • Create a segment of new customers who already made their first order.

  • Right after the first purchase, send them an automatic email or SMS with a personalized coupon.
  • Track customers’ response to ensure appropriate Next Best Action (NBA).
  • Allow clients to redeem coupons by using a mobile app, your landing-page or coupon code displayed on their mobile device.
  • When the redemption is made, analyze order data and choose NBA (send another coupon or offer a gift card, etc.).
  • Keep customers informed about all channels and redemption possibilities that you provide.

The quality of integration is critical for omni-channel marketing. Your existing infrastructure, especially CRM, should be easily integrated with all service providers to ensure seamless data flow and multi-channel coupon distribution. In the section below, you can see how it works in practice (Voucherify):

Key Voucherify features: integration with CRM, dynamic segmentation, customer tracking, mobile app, QR codes, email automations, unique codes.

Coupons combined with a dynamic segmentation and automatic delivery, can efficiently guide customer through the shopping path and lead to a purchase. You can launch numerous campaign ideas which fit your omni-channel strategy:

12 hacks to build the OMNI-channel coupon experience  (2).png

Why your gift cards fail all the way?

Estimated sales of digital gift cards reached $15 billion in 2017. For 9 years in a row, they have been one of the most requested gifts, continuously reducing the number of mismatched choices found in this secondary market.

The huge numbers of gift cards in the market prove not only their marketing power but also show how common a tool they have become in marketers’ hands. To stand out from this crowd you need something more than just a nice piece of plastic. With our new white paper, we want to show you how to combine the marketing power of gift cards with a modern e-commerce environment. This approach demonstrates an affordable and easy to maintain marketing infrastructure which allows you to make the most of each gift card bought.

Scaling coupon distribution or how do you eat a herd of elephants

I’m sure you’ve heard this line before:

“How do you eat an elephant? One bite at a time!”

What about a herd, though? Without a big enough appetite, you might find yourself wondering how to go about eating more than one and at that point, what do you do? Well, by the same logic, you go one at a time! For that amount of elephants, however, you’d better invite some friends over for dinner.

Don't they look tasty?

Don't they look tasty?

So, what’s with the elephants?

Well, isn’t a marketing campaign a bit like this proverbial elephant? You allocate a nice big pool of coupons or vouchers, and then they get redeemed, one at a time.
You may, however, need to scale beyond that. Especially at large multi-tier organizations where it becomes necessary to distribute the efforts involved in running campaigns by delegating campaign execution to partners – and also to coordinate and monitor their efforts efficiently.
If you find yourself looking for a coupon/voucher management system that would work well in such complex scenarios, you’ve come to the right place. In this post, we will discuss how to address these scenarios with bulk coupon distribution, making the best use of Voucherify.

Wholesale coupon distribution, how does this work exactly?

Imagine a global brand that wants to use coupons and vouchers to run marketing campaigns. The brand wants to manage these campaigns centrally, but it does not run their distribution networks directly. Instead, these networks are run by local partners.

To run the campaigns, the brand makes vouchers and coupons available to local partners, so that they can purchase them in bulk and thus participate in the campaign. Partners then distribute vouchers and coupons to their end customers, who in turn can redeem them at any merchant point each partner operates.

Right, now let’s put it to work

Needless to say, implementing such a scheme requires a capable coupon/voucher management system – and that is exactly where Voucherify fits in.
Firstly, as a marketing manager coordinating the global campaign, you are free to create as many projects in Voucherify as you need. Each of these projects can be assigned to a distribution partner you work with.
Partners will be assigned the User role for their project, which means that they will be able to distribute vouchers and coupons for campaigns you define, but they will not modify the campaigns.
With that in place, once a partner decides to participate in your campaign and purchases a voucher/coupon pool from you, you can simply create a Campaign in the partner's project that will contain the desired number of vouchers or coupons. The partner can then use Voucherify in the standard way to distribute the coupons to their end customers.
Furthermore, the partner is able to create merchant accounts as necessary for their distribution network. Each of these accounts will have limited functionality and only be able to redeem and validate vouchers and coupons.
They will, however, also be provided with dedicated API keys, so all redemptions that take place at the merchant point are uniquely associated with the corresponding merchant account.

Everybody gets what they need

Setting this up in Voucherify makes delegation and distribution a breeze. Voucherify provides everyone in the scheme with the tools they need to take care of their part in running the campaign.
The global campaign manager gets to allocate the coupon/voucher pools and can also see directly in the Voucherify GUI how well each of the partners is doing with the campaign. He doesn’t have to worry about the implementation details or information flows within the partner systems as everything runs on the Voucherify platform. He also doesn’t have to worry that partners will get in each other’s way as partner access to Voucherify is cleanly separated at GUI and API levels. Each partner will only see the coupons and voucher pools he works with, and not what is going on in other partner accounts.
Partners get access to all the effective means of distributing coupons and vouchers to the end customers that Voucherify has on offer. These include email and SMS distribution as well as integration with MailChimp. They also don’t have to worry about how to enable their merchants to redeem coupons and vouchers, the Voucherify API takes care of that. And, last but not least, they will be able to check the campaign performance of each merchant point as the Voucherify GUI will provide exact redemption numbers.
Finally, merchants don’t have to worry about how to make sure they can redeem the coupons and vouchers. Voucherify provides them with an API that can be integrated into any sales channel, including POS and online channels. As usual with Voucherify, the integration will only need to be done once and can then be reused across future campaigns.

Take care of the elephant in the room

When considering large scale marketing campaigns, implementation across a distributed organization that spans multiple business partners may easily become an elephant in the room.
With Voucherify though, this does not need to be the case. Voucherify cuts through the elephant and provides a single coupon/voucher management system that will support you and your partners throughout the voucher/coupon lifecycle.
Take the trial if you haven’t already, I’m sure you’ll find yourself considering larger scale campaigns in no time as, all of a sudden, they’ll feel much more manageable.


No elephants were harmed, consumed or in the room during the creation of this post. Any resemblance to actual elephants living or otherwise is purely coincidental.