Shopify Discount by Customer Tag vs. Customer Segment

Shopify's August 2025 update quietly changed which one you should reach for. Most guides online still explain the old, more limited way.

For years, the honest answer to "can I discount by customer tag" was no, not automatically, only through a workaround. That changed quietly enough that a lot of guides still floating around online are describing a limitation that no longer fully applies.

A Shopify customer tag is a label you attach manually or via automation to organize customers, while a customer segment is a saved, dynamic query built from tags, order history, or other attributes, and as of Shopify's August 2025 update, automatic discounts can target segments directly, which effectively covers most tag-based use cases without a workaround. The two aren't interchangeable, but the practical gap between them closed more than most content on this topic acknowledges.

What changed with Shopify's August 2025 discount update?

Before August 2025, Shopify's native automatic discounts couldn't target tagged customers directly, forcing merchants toward code-based workarounds; the update added Customer segments as a native eligibility option for automatic discounts, alongside All customers and Specific customers. One guide documenting the update confirms it directly: as of August 2025, Shopify natively supports automatic discounts for tagged customers and customer segments, letting merchants specify eligibility by segment without a third-party app or theme-code injection.

This matters because a segment can be built directly from a tag condition ("customer.tags contains VIP"), which means the old tag-vs-segment distinction mostly collapsed into "build a segment from your tag, then target the segment."

Why do people still search for a tag-based discount workaround?

A meaningful amount of content and community advice describing "Shopify can't discount by tag" predates the August 2025 update and hasn't been revised, so merchants following older guides still build unnecessary Liquid-based workarounds. One older guide's workaround pushes a discount code to a tagged customer via a Liquid snippet after login, explicitly noting it doesn't work if the customer logs in directly at checkout, since Shopify restricts scripts on that page. That workaround is now unnecessary for most cases: the native segment-based automatic discount handles it without a login-page limitation.

Do tag-based and segment-based discounts still behave differently at all?

Yes, in two ways: segments update dynamically as customers meet or stop meeting their defining criteria, while a manually applied tag stays until someone removes it, and segment-based eligibility on a discount is checked at the moment of purchase against current segment membership, not a snapshot. Shopify's own documentation on discount types confirms the current eligibility model directly: discounts can target All customers, Specific customers, or Customer segments, with segments defined by whatever criteria the merchant sets when building them.

A tag like "wholesale" that's added once and never re-evaluated behaves differently from a segment like "customers who spent over $500 in the last 90 days," which shifts membership automatically as purchase behavior changes. For loyalty tiers that should update automatically, a segment is the better foundation even when a tag is what triggers it.

Where do merchants still hit real bugs or edge cases?

Segment-based eligibility isn't bulletproof: at least one documented case shows a segment intended to restrict by shipping location instead applying to all customers, because Shopify validated against billing address or account data rather than the shipping address the segment was built on. A Shopify Community thread walks through exactly this: a US-only segment covering 62% of the customer base let a Dutch customer with a Dutch address through, with the suggested fix being to switch to Markets-based discount eligibility for location-specific rules rather than a location-based segment.

The lesson generalizes: test a segment-based discount against a real account that shouldn't qualify before trusting it in production, the same way you'd test any conditional logic.

When does a Functions app add something native segments still can't?

Native segment-based discounts apply one condition at a time; combining a customer tag or segment with a product-level condition, a specific product tag or SKU, in the same discount rule isn't something the native Create Discount screen supports. Flowly: Discount Functions covers this gap: Customer Tag and Customer Segment are both condition fields on its visual canvas, combinable through AND/OR/NOT with Product Tag, Cart Subtotal, or any of its other ten condition types in one rule.

A rule like "10% off, but only for the VIP segment AND only on products tagged clearance" is one Condition node in Flowly. Natively, that combination still isn't achievable in a single discount object, segment or tag-based, even after the August 2025 update.

Tag vs. segment vs. Flowly's combined approach


Customer tag alone

Customer segment (native, post-Aug 2025)

Flowly (tag + segment + product conditions)

Native automatic discount targeting

No, not directly

Yes

Yes

Updates dynamically

No (manual)

Yes, if segment criteria are behavior-based

Yes

Combine with a product-level condition

No

No

Yes, via AND/OR/NOT

Requires a workaround

Yes, pre-Aug 2025

No

No

FAQ

Can Shopify apply an automatic discount to customers with a specific tag?

Not directly by tag alone, but as of August 2025, you can build a customer segment from that tag ("customer.tags contains X") and assign the segment as the discount's eligibility, which achieves the same result natively.

Is the customer-tag discount workaround from before 2025 still necessary?

Usually not. The native Customer segments eligibility option, added in August 2025, covers most cases the older Liquid-based workarounds were built to solve, without the login-page limitation those workarounds had.

Why did my location-based customer segment discount apply to the wrong customers?

This has been documented as a real issue: Shopify may validate segment membership against billing address or account data rather than shipping address. For location-specific discounts, Markets-based eligibility is the more reliable native option.

Can I combine a customer tag and a product tag in one discount rule?

Not natively in a single discount object. A Shopify Functions app like Flowly can combine Customer Tag, Customer Segment, and Product Tag conditions in one rule through AND/OR/NOT logic.

Does segment-based eligibility work the same for automatic discounts and discount codes?

The Customer segments eligibility option applies to both discount types in Shopify's native Create Discount flow, though the specific behavior should still be tested per discount before relying on it in production.

If your tag-based discount logic still routes through a pre-2025 workaround, or needs to combine with product-level conditions the native segment option can't reach, that's worth revisiting. Download Flowly directly from the Shopify App Store and combine customer targeting with product-level logic in one rule, or book a call with Subscribfy's team if your segment strategy spans more conditions than native eligibility can hold.

Image

Book a meeting with our sales team now!

Create predictable revenue from the customers you already have.