Discounts
Unique Discount Codes for Shopify Popups
Most Shopify stores start with one popup code for everyone: WELCOME10, FIRST15, something like that. It works until the code gets posted on a coupon site or picked up by a browser coupon extension. From then on, shoppers who never saw your popup (and never gave you their email) get the discount at checkout.
Unique discount codes fix that. Each signup gets its own code, usable once, tied to the popup that issued it. Here's why it matters and how to set it up.
Why a shared popup code leaks
A shared code has no owner. Anyone who knows it can use it, as often as your discount settings allow. That creates three problems:
- You pay for discounts you didn't need to give. A shopper who was going to buy anyway finds your code at checkout and takes the discount.
- The exchange breaks. The point of a welcome discount is to trade it for an email address. A leaked code gives the discount away without the email.
- You can't measure the popup. If WELCOME10 appears on an order, you don't know whether the shopper came through your popup or found it online, so you can't tell what the popup is worth.
What makes a code "unique"
A unique code is generated for one signup at the moment they submit the popup. A good setup has four properties:
- Hard to guess: a random string, not a pattern someone can work out.
- Limited use: ideally once per customer, so a code that does get shared stops working after its first use.
- Expiring: a deadline adds urgency and keeps old codes from piling up.
- Traceable: when an order uses the code, you know which popup produced it.
How Poppy handles popup discount codes
When you turn on Enable discount reward for a campaign, Poppy creates a new discount in your Shopify store for every signup.
- Random codes with your prefix. Codes are your chosen prefix plus 8 random characters (for example
WELCOMEK7Q2M9XA). - Created in Shopify. Each code is a real Shopify discount, visible under Discounts and named after the campaign, so it works with Shopify checkout like any other code.
- Your choice of reward: percentage off, fixed amount off, or free shipping.
- Once per customer, by default. You can also set a usage limit per code and an expiry in days.
- No farming with the same email. If someone submits the same campaign again with the same address, they get the code they already have, not a new one.
- Disposable email addresses blocked. Addresses from known throwaway email services are rejected with a request to use a real address, so the code goes to a contact you can actually email.
- One-click apply. An optional "Apply discount" link applies the code for the shopper, so they don't have to copy it at checkout.
Spin-to-win prizes too
Spin wheels are where shared codes hurt most, because the biggest prize code spreads fastest. In Poppy, you set a probability for each wheel segment. When the visitor spins, Poppy's server picks the winning segment and issues a single-use spin token that expires after 10 minutes. The prize code is only created when the visitor submits their email with that token, so nobody can claim a prize they didn't win by editing the page. Each winner's code is unique, like any other Poppy discount. More on the spin-wheel popup.
Unique codes make revenue attribution possible
Because every code belongs to one campaign, an order that uses it can be tied back to that campaign. Poppy matches orders two ways: by the discount code redeemed, and by the browsing session of a shopper who signed up through a popup. An order that matches both is counted once. The Analytics page then shows attributed orders, revenue and average order value per campaign.
With a shared code you'd only know that someone used WELCOME10. With unique codes you know which popup brought in the order.
Setting it up in Poppy
- Open your campaign and go to Reward / Discount.
- Switch on Enable discount reward.
- Pick the discount type and value, and set a short code prefix that matches the offer.
- Set Expires after (days). Zero means the code never expires; a limited window is usually better.
- Leave Once per customer on, and set Usage limit per code to 1 if each code should work only once.
- Optionally switch on Show auto-apply link after submission.
- Save, activate, and submit a test email from a private browser window. The new code should appear under Discounts in your Shopify admin.
What unique codes don't do: they stop a code being shared and reused, but someone determined can still sign up again with a second real email address. An expiry and the once-per-customer limit reduce how much that costs you. And if you'd rather not discount at all, you can run a popup with no reward.
New to popups? Start with how to add an email popup to Shopify.