A first-time visitor and a customer making their tenth purchase need very different things from your store. One needs reassurance the package will actually arrive, the other needs a reason to keep coming back. A wholesale buyer pricing a pallet has nothing in common with a retail shopper buying a single unit. Yet most PrestaShop stores show all of them the identical front page, the same prices, and the same blast of "20% off everything" email. Customer segmentation is the discipline of grouping customers by what they have in common and then treating each group as if you noticed. The good news for PrestaShop owners: a lot of the machinery to do this is already sitting in your back office, unused.

Last updated: June 2026.

This guide is specifically about acting on segments inside PrestaShop, which customers to split out, and the exact back-office tools (Customer Groups, Cart Rules, SQL Manager, segment-specific carrier and payment rules) that let you treat them differently. It is not about how to find your segments mathematically: if you want to score customers by recency, frequency and spend, that is RFM analysis, and it is the natural first step before you build the groups below.

Segmentation is not favouritism. It is relevance

Matte spheres sorted into separate colour clusters with one orange group, representing customer segments
Segmentation just sorts customers into meaningful groups so each one hears the message that actually fits them.

The instinct that stops merchants segmenting is a fair one: it feels like playing favourites. It isn't. Segmentation doesn't mean some customers get a worse store; it means each customer gets the version of your store that fits where they are in the relationship. A new buyer gets reassurance and onboarding. A loyal buyer gets early access and a thank-you instead of a generic discount they'd have got anyway. A dormant buyer gets a reason to look again. Same store, different doors. So what does that buy you? Higher email open rates because the message is actually relevant, fewer margin-destroying discounts handed to people who would have bought at full price, and a clear, defensible reason behind every promotion you run, instead of "discount everything and hope."

The segments worth building first

You do not need a dozen segments. Most PrestaShop stores get the bulk of the benefit from four or five, defined by purchase behaviour rather than guesswork:

SegmentRough definitionWhat they actually needThe mistake to avoid
New (first order)1 completed order, recentReassurance, onboarding, a reason to make order #2Selling them harder before they trust you
Returning2–5 ordersEffortless repeat buying, discovery of products they haven't seenTreating them like strangers every time
Loyal / VIP6+ orders or high lifetime valueAppreciation, early access, status, not constant discountingGiving them the same coupon a first-timer gets
At-risk / dormantNo order in 90–180 daysA genuine reason to come back before they're goneWaiting until they've already churned
Wholesale / B2BBulk quantities, tax-exempt, trade buyersTiered pricing, net-of-VAT display, minimum ordersShowing them retail prices and consumer UX

Notice these overlap with lifecycle stages on purpose. The loyal-vs-at-risk split in particular is where the money is. Keeping an existing customer is far cheaper than acquiring a new one, which is the whole argument for measuring customer lifetime value and for taking retention seriously once the first order lands.

Customer Groups: PrestaShop's built-in segmentation engine

The foundation is already in your back office under Shop Parameters → Customer Settings → Groups (in PrestaShop 1.6 it lived under Customers → Groups). Every install ships with three default groups, Visitor, Guest and Customer, and the PS_CUSTOMER_GROUP setting controls which one new registrations land in. You create your own groups (VIP, Wholesale, At-risk) right there with Add new group.

A group is far more than a label. Per group you can set:

  • A price-display rule, show prices tax-included or tax-excluded. This single setting is what makes a clean B2B experience possible: your Wholesale group sees net prices, your retail Customer group sees gross, on the same catalogue.
  • A category-wide discount, a standing percentage off chosen categories for everyone in the group, applied automatically with no coupon code. This is how a loyal group gets a permanent edge without you lifting a finger each month.
  • Module and category visibility, under Authorized groups on a category, and per-module hook permissions. You can hide entire categories (a trade-only range, an early-access drop) from everyone except one group.

A customer can belong to several groups at once, with one marked as their default group (which decides the price display they see). You assign membership manually on each customer's profile in Customers, and the underlying link lives in the prefixed customer_group table, usually ps_customer_group, useful to know when you want to move people in bulk (more on that under SQL Manager below).

Cart Rules: turning a group into an offer

A group decides who; a Cart Rule decides what they get. Under Catalog → Discounts (labelled Cart Rules in 1.6/1.7; Discounts in PrestaShop 8/9), every voucher has a Conditions tab with a Limit to a single customer field and a group restriction. Set the group, and the offer is invisible and unusable to anyone outside it.

That is the whole mechanism behind segment-specific promotions, and it covers the realistic cases without any add-on:

  • Loyal-only reward, a Cart Rule limited to your VIP group, optionally auto-applied (leave the Code field blank so the rule applies automatically to every eligible cart) so they never have to hunt for a code. The separate Highlight tickbox doesn't auto-apply anything; it just surfaces the voucher as a suggestion on the cart and checkout.
  • Win-back for dormant buyers, a single-use, time-limited Cart Rule restricted to your At-risk group, sent in a re-engagement email. Set a real expiry date so it creates urgency and doesn't leak.
  • First-order nudge, a small voucher limited to the new-customer group to convert order #1 into order #2.
  • Free shipping by segment. Cart Rules can grant free shipping rather than a percentage, which often feels more generous to the customer for less margin cost than a discount.

Two settings save you grief here: Total available and Total available for each user on the Conditions tab cap how many times a rule can be redeemed, and the Priority field controls the order in which rules are applied. To stop several rules from stacking unintentionally, use the compatibility settings, usage limits and restrictions, not Priority alone. Set these deliberately, or a "loyal only" reward quietly becomes "everyone who shares the code."

SQL Manager: building behavioural segments PrestaShop can't see by default

Groups and Cart Rules are powerful, but they don't automatically know who spent the most or who went quiet. You have to put people into the right group first. PrestaShop has no built-in "auto-tag my best customers" button, so the honest path is to query the data and assign groups from the answer. The tool for this ships with the platform: Advanced Parameters → Database → SQL Manager, which runs read queries against your live database and exports the result to CSV.

A query like the following surfaces your highest-spending customers in a given window (adjust the prefix ps_ to match your install and the table/date as needed):

SELECT c.id_customer, c.email, COUNT(o.id_order) AS orders, SUM(o.total_paid_real) AS spent, MAX(o.date_add) AS last_order FROM ps_customer c JOIN ps_orders o ON o.id_customer = c.id_customer WHERE o.valid = 1 GROUP BY c.id_customer ORDER BY spent DESC;

Swap the ORDER BY for last_order ASC and you have your dormant list. The people whose most recent valid order is oldest. From that CSV you assign the customers to your VIP or At-risk groups, and from then on every group-restricted Cart Rule and price rule above applies to them automatically. This is exactly the recency/frequency/spend logic that RFM analysis formalises. SQL Manager is simply where you run it without a data degree.

SQL Manager only reads; it will not write groups back for you. If running queries and re-importing groups every month sounds like a chore you'll abandon by February, that's the honest reason to reach for reporting tooling that keeps the segments current for you. Our Financial Revolution module surfaces order, customer and revenue breakdowns from the same data without writing SQL by hand, so the "who's loyal, who's slipping away" view stays in front of you instead of being a query you keep meaning to re-run. So what? The segment work stops being a one-off spreadsheet and becomes a standing part of how you run the shop.

Email is where segmentation pays off fastest

The single highest-return use of segments is email, because relevance is the entire game there. The same offer sent to "everyone" gets ignored; sent to the right segment it gets opened. New customers get a "here's how to get the most from your first order" message; loyal customers get genuine early access; at-risk customers get the win-back voucher you built above. If you use PrestaShop's newsletter or customer export, or a dedicated newsletter module, the customer-group structure feeds straight into whatever sending tool you use, so the segments you defined here become the lists you actually mail. Just check the export carries the right consent fields, since which subscription and consent data you get depends on your PrestaShop version and installed modules, and only properly opted-in contacts should be mailed. The mechanics of building those flows. Welcome series, win-back sequences, timing. Sit in the retention strategy playbook rather than here.

Segmentation beyond marketing

Once you've drawn the lines, they pay off in places that aren't promotions:

  • Catalogue and merchandising. Look at what your loyal group actually buys and make sure those lines are always in stock and easy to find. Group-restricted category access lets you run a genuine "VIP early access" drop using only the built-in Authorized groups setting, no add-on.
  • Shipping and payment. Carriers in PrestaShop can be restricted by group (a carrier's Group access tab), and so can payment modules under Payment → Preferences. That's how you offer net-30 or a freight carrier to wholesale buyers only, while retail customers never see options that don't apply to them.
  • Support. A long-standing customer with a problem is worth more patience than a first-timer testing the limits of your return policy. Not unfairness, just recognising that an established relationship has value worth protecting. This is the practical side of why support quality matters.
  • Post-purchase flow. Someone on their sixth order does not need the "how to navigate our store" email a first-timer gets. Skipping it signals you're paying attention. The broader post-purchase experience is the place to design that fork properly.

Start with two groups, not twelve

The failure mode of segmentation is over-engineering it, twenty groups, nobody maintains them, the whole thing rots. Don't. Create one VIP group and one At-risk group, populate them with two SQL Manager queries, attach a single Cart Rule to each, and run it for a quarter. That alone, recognising your best customers and catching your slipping ones before they're gone, captures most of the available upside. Refine when you've learned which segments respond to which offers. The goal isn't perfect segmentation; it's progressively better targeting, built on tools you already own, that makes each customer feel like you noticed them.

Frequently asked questions

Where do I create a customer segment in PrestaShop? Under Shop Parameters → Customer Settings → Groups (in 1.6 it was Customers → Groups). Every install ships with Visitor, Guest and Customer; you add your own, VIP, Wholesale, At-risk, with Add new group, then assign membership on each customer's profile.

Can one group show tax-excluded prices for B2B buyers? Yes. A group carries a price-display rule (tax-included or tax-excluded), so your Wholesale group can see net prices while retail customers see gross, on the same catalogue, with no duplicate products. A customer can belong to several groups; their default group decides the price display they see.

How do I make a discount apply only to one segment? Build a Cart Rule under Catalog → Discounts and set the group restriction on its Conditions tab. The offer becomes invisible and unusable to anyone outside that group. Leave the Code field blank to auto-apply it; set Total available and Total available for each user so a "VIP only" reward doesn't quietly leak.

Does PrestaShop auto-tag my best or dormant customers? No, there's no built-in "tag my best customers" button. You query the data in Advanced Parameters → Database → SQL Manager (read-only) and assign the resulting customers to your VIP or At-risk groups by hand. From then on every group-restricted rule applies to them automatically. Reporting tooling can keep that view current so it doesn't become a query you keep meaning to re-run.

Can I restrict carriers or payment methods to a segment? Yes. A carrier has a Group access tab, and payment modules can be restricted under Payment → Preferences. That's how you offer a freight carrier or net terms to wholesale buyers only, while retail customers never see options that don't apply to them.

Share this post:
David Miller

David Miller

Founder, mypresta.rocks

David Miller is a PrestaShop specialist with over a decade of hands-on experience and the founder of mypresta.rocks, a software studio in Tychy, Poland. He builds and maintains a catalogue of 152 PrestaShop modules, including 21 "Revolution" suites spanning SEO, checkout, security, performance, marketing, search, support, and warehouse operations, that improve real stores every day, all tested against PrestaShop 1.7.8, 8.x, and 9.x. He also acts as caretaker for production stores turning over millions in annual sales, so his work is judged on live revenue, not demos. His experience runs the full breadth of ecommerce, performance, security, SEO, and marketing, and reaches beyond PrestaShop to WooCommerce, Shopify, and custom-built systems. On the blog he writes about the code-aware side of PrestaShop: what the platform really does under the hood, what breaks in production, and which fixes hold up.

Comments

No comments yet. Be the first!
Enjoyed this article?

Get our latest tips, guides and module updates delivered to your inbox.

You may unsubscribe at any moment. For that purpose, please find our contact info in the legal notice.

Loading...
Back to top