Skip to main content

Discount codes

Two different things are called a discount code on DZBuild. The first is a promo code you create for your buyers: they type it at checkout and the order total drops. The second is a code DZBuild issues for your own subscription payment. They live on different pages and neither one works in the other's field, which is where most of the confusion comes from. This page covers both, starting with the buyer-facing one.

Free add-on, off until you turn it on

Promo codes come from the free Promo codes add-on, available on every plan including Free. Until you activate it, no code field exists anywhere on your storefront and /dashboard/promo-codes sends you back to the add-ons page.

Video

Turning the add-on on

Open the Add-ons page at /dashboard/addons, find the Promo codes card in the Management Tools section, and switch it on. The card then shows a Manage codes link to /dashboard/promo-codes. There is no sidebar entry for the page, so that card is your way back to it.

Creating a code

On the promo codes page, click Create a code and fill the dialog:

FieldWhat it does
Promo codeThe text buyers type. 2 to 30 characters, letters A-Z, digits, - and _ only. Lowercase is turned into uppercase as you type, so sale20 and SALE20 are the same code, and each code has to be unique inside your store.
Discount typeFixed amount (DA) or Percentage (%).
Discount valueThe amount in DZD, or the percentage. A percentage above 100 is refused.
Minimum order amountOptional. Under this products subtotal, the code is refused and the buyer is told what the minimum is. Leave it empty for no minimum.
Maximum usesOptional. Empty means unlimited.
Start dateOptional date and time. Before it, the buyer is told the code has not started yet. Empty means it works right away.
Expiry dateOptional date and time. After it, the code is refused as expired. Empty means it never expires.

A saved code is active immediately.

Where buyers enter the code

Your storefront shows the field in two places:

  • The cart checkout page. A Use a promo code button sits in the order summary and opens a small dialog. Once the code is accepted, a green discount line appears above the total and the total updates on the spot.
  • Fast checkout on the product page. An Enter a promo code link under the total does the same thing without leaving the product page.

Both surfaces exist in the Digital theme as well.

Landing pages have no promo code field at all. A buyer who orders from a landing page cannot use a code, so if your ads point at a landing page, build the offer into the price instead.

How the discount is calculated

The discount is taken off the products subtotal, never off shipping. A percentage code takes that percentage of the subtotal; a fixed code subtracts its amount, and it can never take off more than the subtotal itself, so a 1,000 DZD code on an 800 DZD cart makes the products free and the buyer still pays delivery.

Your free-shipping threshold is measured on the subtotal before the discount, so a code cannot push an order under the threshold and lose the buyer their free delivery.

When the order lands in your dashboard, the order detail page shows a Discount line with the code that was used, so you can tell which campaign produced the sale.

Single-use codes and codes for one customer

There is no per-customer field on a promo code. What you can do is give one person a code nobody else has: create it with a name only they receive, set Maximum uses to 1, and give it a short expiry. Nothing prevents them from passing the code to a friend, so keep the text hard to guess when the discount is generous.

A use is counted the moment the order is placed, including orders you cancel afterwards. Cancelling does not hand the use back; raise Maximum uses by one if you want to return it. If two buyers check out in the same second, a capped code can also go one use past its cap.

Managing codes you already created

Each code is a card on the promo codes page showing the discount, the usage counter (used out of the limit, or when there is no limit), the minimum order, the start date, the expiry, and a status badge: Active, Disabled, Expired or Exhausted. A card carries three actions:

  • Disable turns the code off while keeping its history, and Enable brings it back.
  • Edit changes the discount, the minimum, the cap and the dates. The code text itself is hidden while editing and cannot be changed. To rename a code, create the new one and disable the old one.
  • Delete removes it. Orders that already used it keep the code recorded on the order.

What promo codes cannot do

  • Apply to one product, one category or one variant. The discount always applies to the whole products subtotal.
  • Restrict a code to a specific customer, or to first-time buyers.
  • Cap how much a percentage code takes off a large cart.
  • Give free shipping. Free delivery is set in your shipping rates, not with a code.
  • Stack. One order carries one code.
  • Generate a batch of codes in one action. Codes are created one at a time.

DZBuild subscription discount codes

This is a separate system, and merchants regularly mix the two up. When you pay for your own plan, the checkout sheet at /dashboard/subscribe has a field for a discount code: type it in and press Apply before you pick a payment method. DZBuild issues these codes during offers; you cannot create them yourself, and a promo code from your storefront is not valid there.

Percentage codes are honoured on every payment method. A flat-amount code applies only when you pay by global card, and the sheet tells you so when you apply it. See Subscriptions for the full checkout.

Tips

  • Give each campaign its own code. The order detail records the code, so separate codes are the only way to tell an Instagram offer from a returning-customer offer.
  • Set a minimum order on generous codes. Without one, a 500 DZD code on a 600 DZD basket eats the margin and you still pay delivery.
  • Percentage codes read better in ads, fixed codes protect you better on expensive carts. Pick per campaign, not per store.
  • Put an expiry on every promotional code. Codes with no end date resurface in screenshots months later and still work.
  • A code is not a sale. For a real markdown that every visitor sees, drop the prices from Products with the bulk price action and set a compare-at price so the old price is struck through.

What's next