Voucher rules: who owns which code
Assign a discount code or a code family to its publisher, what the trailing star matches, the 500-code cap and why unowned codes are never flagged.
By The AffCheck team · Updated
A discount code usually belongs to somebody: a creator, a cashback site, your newsletter, your customer service team. The Voucher rules screen is where you write that down, so AffCheck can flag the sales where a different publisher claimed the commission on someone else's code.
What a voucher rule does
A rule is two things: a code or a pattern, and the publisher that owns it. Optionally, the network it applies to.
When a pending transaction is on an order that used an owned code and the publisher claiming it is not the owner, the row is flagged R05 · code owned by another publisher, with the code, the owner and the claimant as evidence. Awin lists unauthorised voucher code use, as a breach of programme terms, among the legitimate reasons to decline.1
Adding a rule
Enter the code, pick the owner and save. The owner list is built from the publishers your own imports have actually seen, so you are picking a real publisher id rather than typing one from memory; you can still type one if the publisher has not appeared yet.
Leave the network empty for a rule that applies everywhere, or pick one network when a code is exclusive to a publisher on that network. A global rule is one row, not one per network.
The ledger below the form shows every rule, the owner, the network and how many of your store's codes it currently claims.
The trailing star
STYLE* claims every code your orders have used that starts with STYLE: STYLE10, STYLE20, STYLEVIP. One star, at the end, and nowhere else.
Two deliberate limits:
- A bare
*is refused. "Every code belongs to this publisher" is a typo, not a rule. - A pattern that claims more than 500 codes is marked "too broad" and only the first 500 are used. Handing the rules forty thousand owned codes would make every discounted order look leaked.
The expansion runs against the codes your orders have actually used, and it runs each time the rules are re-checked — not when you save. A code used for the first time tomorrow is covered by yesterday's pattern without you touching it.
Importing your Shopify discount codes
If you already keep your codes in Shopify, export them (Discounts → Export) and drop the file on the Voucher rules screen. It reads the Code column on your device and nothing else: no value, no usage count, no dates, no customer eligibility. The payload has no field for them.
You still choose the owner. Importing codes gives you the list; it cannot know who each one belongs to.
Codes nobody owns
A code with no rule is never flagged. That is the deliberate default and it means an empty ledger is safe: it produces no false alarms, and no R05 at all.
It also means a leaked code you have not written down is invisible to this rule. If a creator's code is being used by a coupon site, the rule that catches it is the one you have not added yet.
Your programme terms come first
A decline for unauthorised voucher use is much easier to defend when your terms say which publishers may use which codes. Awin's own guidance warns that "Inaccurate or unexplained declines can damage partner relationships".1 Write the clause, then apply it from the next cycle.
One owner per code
A code has one owner on a given network. Saving the same code for a different publisher moves it rather than adding a second owner — two owners for one code is exactly the state the rule exists to resolve.
When a rule takes effect
Immediately. Saving, editing or deleting a rule re-checks your pending transactions in the background. A rule that needed a fresh import to work would not be a rule.
Deleting a rule removes the flags it raised — except the ones you already decided on. Those keep your decision and are marked as having a changed suggestion, so nothing you did quietly disappears.
What this costs
Voucher rules are on the Growth plan and above. A workspace on a lower plan sees the screen with a measured number instead of the forms: the pending commission on codes that more than one publisher is already claiming, per currency. That figure is computed from your own imports — it is not an estimate.
The background is in the coupon code leakage guide.
Network facts checked on 18 Sep 2026 against each network’s own documentation.
FAQ
Questions, answered
What does a trailing star match?
Every code your orders have actually used that starts with the text before the star. A bare star is refused, and a pattern that claims more than 500 codes is marked too broad.
Does the Shopify discounts import read the discount values?
No. It reads the Code column on your device and nothing else — no value, no usage count, no date, no customer rule.
Is an empty ledger dangerous?
No. A code nobody owns is never flagged, so an empty ledger produces no false alarms. It simply means no sale is flagged for unauthorised voucher use.
Related
- Reason codes R01 to R07 explained What each AffCheck reason code means, which Shopify facts it was raised from, what it suggests and what to write in the network’s reason box.
- Coupon code leakage: stop paying for leaked codes How creator and affiliate codes leak to coupon sites and extensions, how to block the next leak and how to decline this month’s unearned commission.
- Voucher rules Tell AffCheck which publisher owns which code. Sales where a creator’s code turns up with another publisher are flagged.
- Billing, plans and what each includes What Free, Starter, Growth and Pro include, how the limits are counted, how to upgrade or cancel, and what happens to your data if you stop paying.
See what you paid for last month.
Two exports, five minutes, a dollar figure for your store. Files never leave your browser.