Reseller orders with different emails, same phone number

We’re seeing an issue where resellers are using our first-time customer discount repeatedly by using different email addresses but the same phone number.

We have restricted the first-time discount code to be one use per customer, but since they are using different billing addresses & email addresses, they’re technically different phone numbers.

The frustrating thing is that they’ll be using the same phone number across 50+ orders, but since they have different email addresses, shopify doesn’t see this as a problem.

Has anyone found a way to get Shopify to look at the billing phone number to help them recognize whether this is a new/returning customer?

Use Shopify Flow in order processing to check if any users have already used the same phone number

Xrtotech’s suggestion regarding Shopify Flow is a good safety net, but it is a reactive measure. By the time Flow triggers, the fraud order is already placed, payment is captured, and you have likely incurred transaction fees. You are then stuck manually canceling and refunding orders, which defeats the purpose of automation.

The root cause here is that Shopify’s native “limit 1 per customer” logic relies strictly on unique Email addresses. Since your resellers are generating unique emails, they bypass the standard checks entirely.

To solve this for 50+ orders without manual intervention, you need a proactive block that runs during the checkout process, not after. This usually requires a custom implementation using Shopify Functions (specifically the Cart & Checkout Validation API).

Here is the architecture needed to stop this:

  • Data Normalization: You need logic to strip incoming phone numbers of all formatting (dashes, spaces, country codes) so that +1 555-1234 is recognized as identical to 5551234.

  • Real-time Lookup: The Function runs when the customer attempts to pay. It checks the normalized phone number against your historical order dataset.

  • Hard Block: If the phone number is found in a previous order, the Function invalidates the discount code or blocks the checkout entirely with a custom error message.

This prevents the order from ever hitting your admin panel, saving you the operational debt of refunds.

Best regards, Alexander