Log In

We use cookies to help us improve, promote, and protect our services.
By continuing to use the site, you agree to our cookie policy


How to generate unique coupon codes?

Nov 6, 2018

So, you’ve been asked to implement single-use vouchers in the system - Sounds easy, doesn’t it? Before going straight to implementation, check out these tips, they might save you several hours you’d probably have spent on vouchers maintenance and issues coming at you from frustrated customers. Oh, and we have a small gift for you.


Let’s start with the most obvious - you clearly don’t want your vouchers to be easily forgeable. The key to generating hard-to-guess coupon codes is a large set of possible codes where only a small fraction of them are actually valid.


Once you make your codes un-guessable, you should think about customer experience. First of all, keep in mind there’s a trade-off between codes security (particularly length) and ease of use for the end user. It’s you who decides how to compromise these issues in your business reality. There are, however, a few general tips that should cut down on customer complaints without substantial security trade-off or too much development effort:


Don’t make it too long - Usually, an 8-12 chars string should be un-guessable and unique enough.Avoid ambiguous characters - It’s difficult to see the difference between O and 0 in the random string. I (upper case i) and l (lower case L) is even more tricky. We all recall the feelings when forced to try different combinations over and over again. So, you’d better prevent this before it hits your customer service team. Just exclude them from the charset. Cut the code into a few small parts, e.g. ABCD-1234-XYZ - It’s a subtle change but it simplifies typing at the checkout view. This adds up to the overall buying experience and customer satisfaction.

Learn how to generate, manage and track numerous coupon campaigns without worries about fraud. Voucherify free trial shows how to make unique promotions in minutes and our dedicated team is ready to help. Sign up, it's free!


It’s often the case that you run different voucher campaigns at the same time. Once they’re finished, the marketing team asks you for the performance reports. How many vouchers have been redeemed, what’s the number of failed redemptions, how many new customers have been acquired and so on. To handle different campaigns separately and to help further data crunching, it’s reasonable to extend your codes with a proper prefix or suffix from the first campaign. For example: XMAS-ABCD-1234. 


If you’re a JavaScript developer, we have good news; we open sourced a small library that generates un-guessable coupon codes. It’s pretty flexible and enables all the small hacks we shared above (length, charset, prefix, suffix, and pattern). Take a look at Voucherify code generator: 

Looking for 1:1 personalized coupon promotions? Explore Voucherify platform.

Personalized promo campaigns convert

Sign up for education resources for teams who want to increase customer acquisition and retention rate

By registering, you confirm you have read and agree to the Subscription Agreement, and to the storing and processing of your personal data by Voucherify as described in the Privacy Policy.

Marketing Permissions

Before you send us your data, you must become acquainted with the Privacy Policy where you will find information on the personal data controller, your rights and our obligations, the purpose for which your data are processed and any other information which relates to the protection and security of your personal data.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.