
What each type is actually good at
An automatic discount applies at checkout whenever the cart meets the conditions you set. No code, no field, nothing for the customer to type or forget. That makes it ideal for sitewide sales, spend-based tiers, volume pricing, and bundle offers where every eligible shopper should get the deal. It also means there is nothing to leak. A coupon site cannot publish an automatic discount because there is no string to publish, and a browser extension cannot harvest it. Historically, automatic discounts have applied to everyone who meets the cart conditions, so they are a poor fit for offers meant for a specific person or group. Related: How Coupon Abuse Eats Your Margin
A code is a key. It can be given to one customer, one creator, one email list, or one segment, and its usage can be counted per key. That is why codes dominate for attribution, win-back, loyalty, and partner marketing. The price of the key is that keys get copied. Every leaked code story in ecommerce is a code that was meant for a few people and reached everyone. So the decision is really about whether you need the targeting and attribution that codes provide, or whether you are using a code out of habit for something an automatic discount would do more safely. Related: Spotting a Leaked Discount Code
Keep reading: How Coupon Abuse Eats Your Margin, Spotting a Leaked Discount Code, Coupon Stacking and How to Prevent It. See how CouponFence helps you discount and coupon abuse guard for shopify stores.
A short decision test
Ask three questions. Should every shopper who meets the cart condition get this discount? If yes, use an automatic discount. Do you need to know which channel or person drove the order? If yes, you need a code or a tracked link. Is the offer meant for a specific subset of customers who cannot be described by cart contents? If yes, use a code restricted to those customers or a segment. A sitewide weekend sale passes the first question and fails the others, so it should be automatic. A creator partnership fails the first and passes the second, so it needs a code or link.
The interesting cases are the ones in the middle. A free shipping threshold is almost always better automatic. A first-order discount is usually better as a code restricted to a new-customer segment, because the eligibility depends on who the customer is, not what is in the cart. An email newsletter offer can go either way: a code lets you measure the campaign, but a shareable discount link that applies the code automatically for the recipient gives you measurement without asking anyone to type anything, and it is harder to copy from a screenshot.
Combinations, limits, and what to watch
Shopify lets you decide, per discount, whether it combines with product discounts, order discounts, and shipping discounts. This is where automatic discounts and codes interact, and where unintended stacking happens. If your sitewide automatic sale is set to combine with order discount codes, a shopper with a leaked code gets both. Decide combinations deliberately: many merchants allow a shipping discount to combine with one other type and nothing else. Review the combination settings on every active discount whenever you launch a new one, because the default that made sense for last month's promotion may not for this one. Related: Coupon Stacking and How to Prevent It
Shopify also caps how many automatic discounts can be active at once, so check the current limit in your admin before planning a complex tiered promotion. Codes have no such practical limit, which tempts merchants to run everything as codes. The better pattern is a small number of well-scoped automatic discounts for cart-based offers and codes only where a key is genuinely needed. Fewer active discounts also make the monthly review easier, since you can read the whole list in one screen and see what is combining with what.
Migrating an existing promotion from code to automatic
If you have a long-running code that is effectively public, such as a free shipping code that has been on coupon sites for a year, you are already running an automatic discount with extra steps and worse data. Convert it. Create the automatic version with the same conditions, deactivate the code, and update any on-site messaging. Shoppers who arrive from coupon sites will find the discount applied without the code and will not notice the difference; the aggregators will slowly mark the code as expired. Related: Repeat Abuse by the Same Accounts
Where the code was carrying attribution, replace it with a tracked link or with distinct codes per channel that have caps and expirations, so a single leak no longer affects everything. Then compare margin on the promotion before and after. What you typically see is similar conversion, sometimes a slightly higher average order value because the discount is visible in the cart earlier, and a drop in unexplained redemptions. That last number is the leak you were paying for.
- Automatic discounts cannot leak because there is no string to copy; use them for any offer every eligible cart should get.
- Codes are keys: necessary for attribution and customer-specific offers, and copied whenever they reach the wrong hands.
- Set combination rules deliberately on every discount so a leaked code cannot stack on top of an automatic sale.
- Convert long-running public codes to automatic discounts and move attribution to tracked links or capped per-channel codes.
Stop discount codes from eating your margin
Discount and coupon abuse guard for Shopify stores. CouponFence is built to help you put this into practice.
Protect my promosMore from the CouponFence blog

How Coupon Abuse Eats Your Margin

Spotting a Leaked Discount Code

Coupon Stacking and How to Prevent It
Get the CouponFence playbook
Practical guides on promo protection, straight to your inbox as we publish them. No spam, unsubscribe any time.
