Discount for customer segment works for all.

Topic summary

A merchant created a customer segment for US customers (62% of their base) and set up a discount code restricted to that segment. However, a Dutch customer with a Dutch shipping address successfully applied the code and completed checkout.

Possible causes identified:

  • Shopify may be validating based on billing address, account location, or IP address (VPN/proxy) rather than shipping address alone
  • The discount code might be applied based on customer account/email instead of shipping location
  • Customer segment rules may not be fully enforced during checkout

Suggested solutions:

  • Use market-specific discounts instead of customer segments for more accurate location targeting
  • Switch to customer tag-based discounts for better control over eligibility
  • Verify segment setup uses the correct location template (shipping vs. billing address)
  • Note: Shopify shows discounts to all users by default but validates eligibility only after customer login

Status: Another user reported the same issue recently, suggesting a possible platform change or deprecation affecting segment-based discounts that previously worked correctly.

Summarized with AI on October 28. AI used: claude-sonnet-4-5-20250929.

I’ve set up a segment for US customers. Shopify correctly shows that segment contains 62% of my customer base, all in US.

I then set up a discount code for that segment. Shopify correctly shows the discount code is for US customers only.

A Dutch customer with a Dutch shipping address only then applies the code successfully and is able to checkout and pat without problem.

Why are customer segments not working?

3 Likes

Hi Graham,

It sounds like there might be an issue with how Shopify is applying the customer segment rule. Even though you’ve set up the discount for US customers, Shopify’s customer segment feature may not be fully enforcing the location-based restriction during checkout.

One possibility is that the discount code is being applied based on the customer’s account or email, rather than their shipping address. To fix this, check the settings of the discount to ensure it is specifically restricted to customers with a US-based shipping address, not just their billing address or account. If the issue persists, you might want to contact Shopify support to make sure there aren’t any technical glitches affecting the segment rule.

If this was helpful, hit the like button and accept the solution.
Thanks

Hi @Graham256 :blush: I’m Ellie, a Shopify promotion expert (5+ years experience).

Could you please show me how you set up your location-based customer segment?

If you use the template I show below, then the issue should be:

→ your Dutch customer has a Dutch shipping address BUT HAS BILLING IN THE US (or use a VPN or proxy with a US IP address)

  • → Shopify still considers your Dutch customer to be in the US.

Much as this is not a regular scenario, if you want to fully cover this case, I recommend using market-specific discounts instead.

:glowing_star: If you’re looking to run gift offers like BOGO, Buy X Get Y, Gift with Purchase,… for US customers only (which would work more accurately), I recommend using the BOGOS app:

:glowing_star: Claim your 7-day to try it for free (4.9 average ratings, 2.600+ reviews)

It’s so lovely of you to Like and Accept as Solution. I’m really appreciated :blue_heart:

Hi @Graham256 ,

As another idea for your setup, you can also apply or exclude customers based on customer tags. Might give you more control, especially if you’re working with a regular userbase rather than random clients.

In Alpha Sale, for example, you can find a setting like this:

Hope this helps!

I am also having this issue. It was fine a few weeks ago, but for some reason something must have deprecated and this no longer works (it applies the discount to all customers). I am not segmenting by location, but rather by custom segments using tags.

I haven’t made any changes to my discount codes or segments so I am confused as to why it has suddenly stopped working correctly.

Hi @Prad14 , just to double-check — how are you testing this? By default, Shopify shows the discount to all users until they’re logged in. But once the customer logs in to make the actual purchase, Shopify validates the customer’s email, and if they don’t belong to the specified segment, the discount gets removed.

Hi @Graham256

If you are still looking for a solution to this, I would suggest that you create the Discount based on Customer tags. Customer tags are an easy way to achive this, you can simply assign a common tag to the customers and then create the Discount based on Customer tags.

Once done you can use any discount app to create discount based on Customer tags.

Let me know if you still have any further doubts related to it.