OnceOnly
EN
Install freeInstall

Discount protection for Shopify

One person takes your welcome discount twice. OnceOnly stops it.

Twelve months of your orders, analysed in two minutes. You see for free what repeat claims have cost you, and decide after that.

Get OnceOnly in the Shopify App Store

Free, no card. Nothing is declined until you mark a discount code.

The same person orders twice with two different email addresses. The first welcome discount goes through, the second is declined.anna@mail.comWELCOME10First order: discount appliesone person, two email addressesanna.b@mail.comWELCOME10Same person: declinedWorks on Plus and non-Plus stores
  • The twelve-month check is free, no card
  • Names and emails become checksums
  • Servers in the EU
  • No theme code to edit
  • Works with your existing discount codes
  • Declines nothing until you mark a discount code
  • Cancel any time, the check stays
  • Runs on Shopify’s own checkout rules
  • Works on every Shopify plan, no Plus needed

Shopify checks the account. OnceOnly checks the person.

Two buyers take the same path through your shop: one is buying for the first time, the other has been here before. Only the last step is different.

  1. Someone adds to cart

    The buyer browses and picks something out. OnceOnly stays out of the way.

  2. At checkout

    They fill in the usual details: name, address, email, sometimes a phone number.

  3. The discount code

    They enter WELCOME10, one of the codes you marked as protected.

  4. Has this person used a protected code before?

    This is where the two paths split, and it takes a fraction of a second.

    A handful of details is compared, not just the email address:

    • Email address
    • Phone number
    • Address and surname
    • Customer account
    • Device and network

    What gets compared are checksums, not the details themselves.

No
First order

The discount applies

Nothing points to an earlier purchase. The code goes through, and the buyer never notices that anything was checked.

Yes
Same person, new details

The code is declined

Something leads back to an earlier order, even though the email address and the address are new. The buyer sees the message you wrote and can still order without the code.

Every other discount code stays untouched. Only the ones you protect are checked.

See the bill before you change anything

OnceOnly reads the last twelve months of orders and works out how much of your welcome discount went to people who had already bought from you. That part is free, and it changes nothing in your store.

Recognise the person, not the email address

Shopify enforces “one per customer” by account or email. OnceOnly also compares phone number, street with postcode and surname, customer account and device. That way the same buyer is recognised behind a new address.

Decline the discount code in the cart, in your own words

You mark which discount codes are protected. Those are declined while the customer is still in the cart, with the wording you wrote. Every other code is left alone. Rather not turn anyone away? Let the order through and have OnceOnly tag it instead, so you decide afterwards.

How it works

  1. Install and let it read

    OnceOnly reads your last twelve months and works out what the repeats cost you. Nothing in your store changes.

  2. Mark the codes you want protected

    You pick them from your own discount codes. Everything you do not mark stays untouched.

  3. Repeat buyers are declined in the cart

    They see your wording while they are still in the cart. Without the code, the same order goes through at full price.

What you get to see

Twelve months of orders, the share that came from people who had already bought, and what that discount cost. This part is free and stays free.

An example of the overview: orders with a discount code, how many of them came from repeat buyers, and what that discount cost, with a twelve-month history.312orders with a discount code94of those, repeat buyers€2.847discount to repeat buyersOrders with a discount codeSepMarAug
Example figures. Your own appear a minute or two after installing.

Two things worth knowing before you install

It errs on the side of letting people buy.
If OnceOnly cannot check a cart, that cart goes through. Maybe the script in your shop was not loaded yet, or an express checkout skipped it. The shipping address is still checked, so someone who already used the code is recognised on that route too. Only after five orders have proven the check works does OnceOnly start treating an unchecked cart as grounds for declining, and you can switch that off entirely.
It never stores who your customers are.
Email addresses, phone numbers, names, postal addresses and IP addresses are turned into irreversible checksums the moment they arrive, with a secret key that lives outside the database. Nothing readable is kept, apart from the customer numbers you choose to put on an allow-list yourself, and the same person produces different checksums in two different stores. The database is in Frankfurt, Germany.

What it costs

The twelve-month check stays free, with no time limit. You only pay once you want OnceOnly to actually decline a discount code in the cart.Every paid plan starts with 14 days free.

Save 20%

Audit

Free

No volume limit

Shows you what discount abuse costs, without blocking anything.

  • Twelve months of orders, with the amount per code
  • Spots repeat buyers as new orders come in
  • Built with in Bremen & with servers in Frankfurt
Start free
Recommended

Protect

$49/month

Up to 2,000 orders a month

or $468 a year, 20% off

Stops protected codes from being used twice.

  • Blocks protected codes at checkout, or lets them through and tags the order
  • Your own wording, three protection levels
  • Email support
  • Built with in Bremen & with servers in Frankfurt
Install OnceOnly

Protect Plus

$149/month

No volume limit

or $1,428 a year, 20% off

For shops where more than one person works with orders.

  • Exemptions for B2B, resellers and staff – never wrongly turned away
  • Download order rows as a spreadsheet (CSV)
  • Priority support
  • Also hold detected orders until you have decided
  • Built with in Bremen & with servers in Frankfurt
Install OnceOnly

Billing runs through Shopify in US dollars and appears on your regular Shopify invoice. Every plan includes everything in the one below it.

Before you install

Will this block my real customers?
It errs the other way. At first any cart OnceOnly cannot check goes through; only once five orders have proven the check works does that become a reason to decline, and you can switch it off. Anyone trying to forge the check is always turned away. A code is only declined when the same buyer is recognised behind a new address, and you decide which codes are protected at all. Everything you do not mark is untouched. And if you would rather not turn anyone away at all: set OnceOnly to let the order through and tag it, and look at it yourself afterwards.
Do I need Shopify Plus?
No. The block runs through Shopify’s own cart and checkout validation, and that is part of every Shopify plan. What really requires Plus is editing checkout.liquid, and OnceOnly does not touch it.
Do I have to change my theme or my discounts?
No. You keep using Shopify discount codes exactly as before. OnceOnly adds a checkout rule and a small script; the free twelve-month check works without either.
Do I need a developer?
No. You install the app, switch on one toggle in your theme editor and mark the discount codes that should only work once per person. Nothing is edited in your template, and no code is added by hand.
What do you store about my customers?
Checksums, not data. Email, phone, street with postcode and surname are replaced by an irreversible value the moment they arrive. The same person produces different checksums in two different stores, so matching across shops is impossible, not just forbidden.
What if I cancel?
The free twelve-month check stays and keeps analysing your orders. Only the blocking stops. Nothing is deleted because you downgraded.
How long until I see numbers?
A minute or two. OnceOnly reads your last twelve months of orders in the background while you look around, and the overview fills up on its own. You do not have to wait on the page.
What happens to shoppers who are wrongly declined?
They can still buy, just without that code, and the wording they see is yours to write. Switching a discount code back to unprotected takes one click and takes effect immediately. On Protect Plus you can also put single customers on a permanent exemption list.

See your own number.

Get OnceOnly in the Shopify App Store

Free, no card. Nothing is declined until you mark a discount code.