Reject watched discount codes for returning customers (a phone already in your database).
Checked codes are enforced at checkout: a returning customer who enters one is rejected. Codes carry the full watch-list into checkout, so a code entered late is still caught.
Shown to the shopper when a watched code is rejected during checkout.
Numbers are populated automatically from your orders (hourly sync + the Sync all button in Settings) and from checkout abuse-attempts. Origin = how a number was first recorded; Orders = how many successful orders contain it.
| Number | Origin | Orders | First seen | Last seen |
|---|
Every blocked attempt counts as not succeeded immediately; within 7 days it upgrades automatically if the shopper still buys (banded: same checkout / ≤48h / ≤7d, each with or without another discount). Data refreshes every 15 min — or press Refresh.
| When | Outcome | Codes | Cart value | Saved (net) |
|---|
| When | Phone | Codes | Checkout token |
|---|
Orders sync automatically every hour. Use Sync all orders once to import your full order history (uses Shopify's bulk export; can take a while on large stores).
Paste the access token of your dedicated "Admin Access API" custom app. It powers order sync, the coupon list and guard status. In Shopify → Settings → Apps and sales channels → Develop apps → create the app → Admin API scopes: read_orders, read_all_orders (orders older than 60 days), read_discounts → enable Protected customer data access (phone/address) → Install → API credentials → reveal the shpat_… token.