Applying Discounts Based on Customer Segments
THIS FEATURE IS COMING SOON, AND THIS ARTICLE IS A WORK IN PROGRESS.
Regios Discounts allows you to create discounts based on customer segments. For example:
- Automatic discounts for an "email subscribers" segment
- Discounts for customers from a specific email domain
- Offers based on customer LTV.
Example

You can easily combine customer segment eligibility conditions with other types of discount conditions to create precise targeting.
Limitations
- Unlike like other logic conditions, customer segment eligibility conditions can only be used in certain types of logic branches. For example, you cannot use segment eligibility in any "Otherwise" branch. You also can't add an "Otherwise" branch to a "Check if" step that contains a customer segment eligibility condition. This is because the Shopify API only allows discounts to have a single list of allowed segments, rather than letting discount apps decide eligibility at calculation time.
- Customer segment eligibility will not work with the "discount on product page" or "auto add to cart" feature without custom coding.
Using Customer Segments With the "Discount on Product Page" or "Auto Add to Cart" Feature
Unfortunately, Shopify Liquid does not give apps a direct way to read which segments the customer belongs to. Therefore, outside the cart/checkout, our app can't automatically detect eligibility based on customer segment. To work around this, you would need to use custom JavaScript coding to inform the app which segments the customer belongs to.
Pseudo-code example (a combination of Liquid and JavaScript):
<script>
const notifyRegiosOfCustomerSegments = async (api) => {
console.log("DOPP API initialized", { api });
// Report segments to the Regios API
const customer = await api.getCustomer();
await api.setCustomer({
...customer,
segments: [
...(customer?.segments || []),
// Maybe you have a segment for customers from a specific email domain
{% if customer.email != blank and customer.email endswith: "@example.com" %}
0123456789,
{% endif %}
],
});
// Example: Tell the Regios DOPP API to reload discounts on the product page.
// Check the "DOPP API Reference" for examples of how to trigger a refresh on other pages.
window.dispatchEvent(new CustomEvent("regios-dopp:variant-change", {
detail: {
selectedVariant: RegiosDOPP_ProductPage.variants[0],
quantity: 1,
}
}));
};
const onLoad = () => {
if (window.RegiosDOPP?.api?.v0) {
notifyRegiosOfCustomerSegments(window.RegiosDOPP.api.v0);
} else {
window.addEventListener("regios-dopp:api-initialized", (e) => {
notifyRegiosOfCustomerSegments(e.detail.api);
});
}
};
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", onLoad);
} else {
onLoad();
}
</script>
Your Feedback Matters
Your review helps keep this small business running. Please leave one on the Shopify App Store.
Updated on: 26/02/2026
Thank you!