A blank paper discount tag on a checkout counter next to a card terminal with a red screen

Klaviyo Discount Code Not Working? Check How the Coupon Was Created

If your Klaviyo signup form shows a discount code that won't work at checkout, check how the coupon was created. A coupon set up as an uploaded code list with no codes in it will make Klaviyo fall back to a default code every time. If that default isn't a real discount in Shopify, every subscriber gets a code that fails.

We found exactly this a few days before a client's store launched. It's a five-minute check, and it's worth doing on every account before Black Friday.

What we saw

The client is a new direct-to-consumer brand, launching on Shopify with a Klaviyo welcome flow, a 10% signup popup and a Black Friday offer queued up behind it. On the day the store moved to its production domain, we ran a test signup.

The popup worked. The thank-you step showed a code. But it wasn't the code we expected. Instead of a unique WELCOME10 code, it showed LAUNCH10, the fallback we'd entered in the form's coupon block. We took LAUNCH10 to the cart and it didn't redeem.

Then we checked the emails. Seven of them used Klaviyo's coupon tag to insert a code: the first welcome email, the Black Friday version of it, a later welcome email, the last abandoned-checkout email and the three Black Friday campaign emails. Every one of them would have done the same thing.

Why it happened

Klaviyo can hand out codes in two ways. It can generate unique codes in Shopify for each subscriber, or it can hand out codes from a list you upload yourself.

Both coupons on this account, WELCOME10 and the Black Friday code, had been created as uploaded coupons. Nobody had uploaded any codes, so each pool held zero. Every time a form or email asked for a code, Klaviyo had nothing to give and used the fallback instead.

Nothing in the setup screens flagged it. The coupons existed, had the right names and were attached to the right form. They just had no codes in them.

The fix, and the part that surprised us

We recreated both coupons as Shopify unique coupons, using the same names, so the templates didn't need to change. With the Shopify type, Klaviyo creates a fresh single-use code in Shopify for each person, and the discount rules live in Shopify where checkout can see them.

The part that surprised us: deleting the old coupon unpublished the signup popup. No warning, no error. The form simply stopped being live. We only caught it because we checked the form status as part of the same test, and we republished it straight away.

The next test signup showed a real unique code in the welcome email. The Black Friday email still showed a preview placeholder in testing, so we flagged that code for its own redemption test before the sale. A placeholder in a preview isn't proof either way. A real code that works in a real cart is.

The pre-Black Friday coupon check

Your welcome offer is the first promise your brand makes to a new subscriber. If the code fails, they find out at checkout, which is the worst possible moment. Here's the checklist we now run on every Klaviyo account before a sale.

1. Check each coupon's type and code count

Open Coupons in Klaviyo. For every coupon a form or email uses, confirm whether it's a Shopify unique coupon or an uploaded one. If it's uploaded, check that it actually holds codes, and enough of them for the send you're planning.

2. Make sure the fallback code is real

Forms and emails can show a fallback code when Klaviyo can't produce one. That fallback has to exist as a working discount in Shopify. If it doesn't, a quiet failure becomes a broken promise.

3. Test the whole path, not just the email

Sign up through the live popup with a fresh email address. Open the email, copy the code and apply it in the cart. That's the only test that proves the code works. Klaviyo's previews can show placeholder codes, so a preview alone doesn't tell you much.

4. Check your forms after any coupon change

If you delete, rename or rebuild a coupon, go back and confirm every form that used it is still published. On this account, deleting a coupon turned the popup off without telling us.

5. Decide the stacking and timing rules in Shopify

Confirm each discount is single-use, can't be combined with other codes, and has the right start and end dates. For this launch, the welcome code expires December 1 and the Black Friday code runs only from 12:00 a.m. on Black Friday through the end of Cyber Monday. People who already had a welcome code still get the Black Friday offer, because it's the better deal, and the two can't stack.

6. Keep promotional codes where you intend them

If a code is meant to reward your email list, keep it in email. This client's Black Friday code is never posted on the site, social or ads. That protects margin and gives people a reason to subscribe.

Why this matters more in Q4

Q4 is when the most new subscribers arrive and the most discount codes go out, often from flows that were set up months ago and haven't been tested since. A broken code in July costs a few sales. A broken code during Black Friday week costs a lot more, and it lands on brand-new customers who've never bought from you before.

It's also one of the few problems that won't show up in your reports. Your flow still sends. Your open rates look fine. The failure happens later, in the cart, where your email platform can't see it.

If you run Shopify with Klaviyo, Klaviyo's getting started with Shopify guide covers how the integration is meant to be set up. The test signup is still the step that tells you it actually works.

Frequently asked questions

Why is my Klaviyo popup showing the wrong discount code?

Usually because Klaviyo couldn't generate or pull a code from the coupon you selected, so it showed the fallback code instead. Check whether the coupon is an uploaded list with no codes left, or whether it's connected to Shopify correctly.

What's the difference between Shopify unique coupons and uploaded coupons in Klaviyo?

With Shopify unique coupons, Klaviyo creates a new single-use code in Shopify for each person. With uploaded coupons, Klaviyo hands out codes from a list you provide, and it can run out or start empty.

How do I test a Klaviyo discount code before a sale?

Sign up through the live form with a new email address, wait for the email, and apply the code in your Shopify cart. Check that it applies, that it can't be combined with other codes, and that the form is still published afterwards.

Does deleting a coupon in Klaviyo affect my signup forms?

It can. On one of our accounts, deleting a coupon that a popup used unpublished the popup without warning. After any coupon change, check that your forms are still live.

The takeaway

Test your codes the way a customer would use them, from signup to cart, before the busiest week of the year. If anything comes back as a placeholder or fallback, find out why before it reaches a real customer.

If you'd like help pressure-testing your flows, forms and offers before Black Friday, take a look at our email marketing services or book a free consultation. And if you're thinking about what your email list is worth beyond the holidays, we covered that in first-party data and Google Ads.

Like what you're seeing?

We've got lots of news and knowledge for you...

Get our newsletter.