How to block a phone number from ordering in Shopify
Not with a built-in setting. Shopify has no phone blocklist, and Flow or order tags act only after the order exists. A checkout validation function can read the buyer's phone and the delivery address phone during checkout and reject the checkout, so the order is never created. For it to work every time, set the shipping address phone number to Required in Settings > Checkout.
Why block by phone at all
When the same person keeps coming back, the email is the first thing they change: a new address takes seconds. The phone number usually stays, especially on cash-on-delivery orders, where the courier has to reach the buyer and a fake number means a failed delivery anyway.
That makes the phone number the most stable thing a repeat offender gives you. It is also why most stores that block by phone are blocking one or two specific people, not running a long list.
What Shopify gives you natively
Nothing that blocks a number. Merchants have asked for a customer blocklist in the Shopify Community for years, and the answers point either to apps or to workarounds that act after the order exists: tagging the customer, cancelling the order, or hiding checkout for signed-in customers only.
A phone number has the same problem as an email in those workarounds. Tagging a customer record does nothing when the buyer checks out as a guest, and a cancelled order has already taken the payment and the fee.
Where the phone number appears at checkout
Shopify's checkout validation input exposes two phone numbers: the buyer's own phone (when they choose phone as the contact method or a signed-in customer has one) and the phone on the delivery address. A rule that only reads one of them misses buyers who typed the number in the other field.
OrderGate's phone rule reads both, and points the error at whichever field the buyer actually typed the number into, so they see the message next to it.
Make the phone number required first
A phone rule can only match a number the buyer entered. On new stores the shipping address phone number is Optional by default, so a buyer can simply leave it empty. In Settings > Checkout, under Customer information, set Shipping address phone number to Required.
Two limits from Shopify's own documentation: the requirement applies only when the checkout has a shipping step, so digital-only orders skip it; and choosing "Phone number or email" as the contact method does not by itself make the phone mandatory.
How the number is matched
Buyers type the same number many ways: with or without the country code, with a leading zero, with spaces, dashes or brackets. OrderGate compares phone numbers by their digits only and by the last ten of them, so "+90 532 123 45 67", "0532 123 45 67" and "(532) 123-4567" are the same number. Numbers with fewer than seven digits are ignored, because they cannot identify anyone.
- A rule blocks one number. If the person switches to a new SIM, the new number needs its own rule.
- Two different numbers that share their last ten digits would match each other. Across countries this is rare, but it is a real edge of comparing by the last ten digits.
- Start in log-only mode: it shows which past orders the number would have stopped before anything is blocked.
What the buyer sees
The buyer sees a message next to the phone field, by default "This phone number can't be used for orders at this store.", and cannot complete checkout. You can write your own message per rule. No order is created, so there is no payment, no fee and nothing to cancel or restock.
In accelerated wallet sheets such as Shop Pay or Apple Pay, Shopify does not display the message; the buyer is returned to checkout without an explanation. The block itself still applies.