Help · Audience
Segments
A segment is a rule. You write the rule; who is in it follows from the rule, and stays current on its own. Nobody is ever put into a segment by hand, and nobody has to be taken out.
That is the whole idea, and it is what makes a segment different from a list. A list holds the people who were put in it. A segment holds whoever matches, this minute.
Your segments
The segments screen is one table of every segment you have, with each one's count and when it was last edited. Search by name, filter by label, or use Filter by to see which segments use a metric, a property, a list, a tag or a consent state. Create segment opens the builder.
Search by name. Type more than one word and every one of them has to match, wherever each of them falls and in any order — searching Valentine buyers finds a segment called Valentine's Day 2026 repeat buyers. Filter by Label — type in it to find one, the labels most of your segments wear first. Labels are your own organizing words ("hygiene", "campaigns", "Q4"), added when you build or edit a segment. They are yours to invent; they are not Shopify's customer tags, which are a different thing and can be asked about in a rule.
Find what uses something. Filter by, the third field beside the search and Label, answers "which of my segments use this?" without opening each one (on a narrow window it drops onto a line of its own; on mobile it is under Filter). Type a metric, a profile property, a list, a Shopify tag or a consent state — the field lists only things your segments and automations actually use, the most used first, each with its kind and how often it appears. Pick one and the table shows only the segments whose rule uses it, with the part of the rule that does written under each name (Never Opened Email in the last 90 days). While it is on, a chip under the fields names the filter (Filter: Opened Email); press its × to clear it. When automations use the same thing, a line beside the chip says how many; open it to see each one and where — its trigger, its automation filter, a split, or a step. If nothing uses what you type, the field says so, which is itself the answer. Filter by works together with the name search, the label filter and the sort.
Clearing a field. Click into Label or Filter by and it empties, so you can type straight away; click away without picking and your choice comes back. The × at the right of any of the three fields clears it — the search empties, and Label and Filter by go back to All labels and Anything. Escape does the same from the keyboard: the first press clears what you typed, the next puts the field back to its All choice.
Your search, your label filter and your Filter by choice live in the address, so drilling into a segment and coming back — with the browser's Back button or the breadcrumb — puts you back in the view you left. The address is also bookmarkable.
The columns are Name, People, and Last edited.
- People is the segment's count. Hover it to see when that number was counted, in your store's time zone. A segment nobody has counted yet shows a dash, never a zero — a zero would be a measurement that was never taken.
- Last edited is compact in the cell and whole on hover, in your store's time zone.
Click a column's name to sort by it — Last edited shows your most recently edited segments first, People your largest — and click it again to reverse the order (on mobile, choose from Sort by above the segments instead); an arrow marks the column you are sorting by, segments nobody has counted yet always sit at the end, and this browser remembers your last sort the next time you open the screen.
Quiet marks can appear beside or under a name. Built-in means the segment ships with the product; its rule and name stay fixed, because campaigns depend on what it means. Imported means the segment arrived in an import; it is an ordinary segment in every other way, and your label filter offers the same word if you want to see only those. Created outside the builder means the rule was written somewhere the builder cannot draw — it still works and still counts, but it cannot be edited on screen.
Imported segments are always shown. One that imported whole sits in the table with everything else. One that is missing part of its rule sits in its own section above the table instead; A segment imported without one of its rules, below, explains it.
Paging. Under the table you choose how many to show at a time — 25, 50 or 100 per page — and step through with Previous and Next. The line beside them says where you are: Page 3 of 5. Type a number in the box to jump straight to a page. The page you are on is part of the address, so opening a segment and coming back puts you back where you were, and the size you choose is remembered the next time you open this screen. Searching or changing a filter takes you back to the first page. Very occasionally we cannot count your segments quickly enough to say how many pages there are; when that happens the line says Page 3 and nothing more, rather than guessing.
Create segment opens the builder.
The row menu
The three dots at the end of a row hold Clone segment, Pause emails… or Resume emails…, and Delete segment. Deleting a segment deletes only the segment — the people in it stay in your audience, and emails you have already sent are not affected.
- Clone segment — makes a copy named "Copy of …" and opens it so you can rename it. The fastest way to try a variation without touching a rule that works.
- Pause emails… and Resume emails… — your reversible hold on the mail you send to these people. Marketers, managers and owners; see the pause and resume page.
- Delete segment — removes the segment. Built-in segments do not offer it; to stop using one, disable it on Settings → Built-in segments.
Viewers do not see the menu at all. Waiting for the bot check and Checkout bots have no menu for anybody, and Turned away as not a person offers only Pause emails… and Resume emails…. The built-in segments that show the bot check at work are described below.
Deleting a segment deletes the segment, and nothing else (with one exception, below). The confirmation says so: only the segment is deleted — the people in it stay in your audience, and emails you have already sent are not affected. This cannot be undone. If any draft campaigns name the segment, they are listed too, because they will need a new audience.
The one exception is a segment you sync to Meta. Deleting it also stops updating the audiences it is synced as, and the confirmation says so instead: those audiences stay in Meta as they are until you delete them there.
It does not come back. The rule goes with the segment, so write down anything you want to keep before you press Delete — or use Clone first, which gives you a copy under a new name.
Anything you have already sent is untouched. A campaign that has gone out keeps its own record of who it went to and what rule chose them, and a campaign that is scheduled and locked in keeps the rule it was locked in with, so deleting a segment cannot change either of them.
A segment's own page
Open a segment to see four things: the rule written out as plain sentences, its count and when it was counted, a preview of who matches right now, and when it was created and last edited. The buttons at the top refresh the count, add its people to a list, edit it and export it.
What this rule says — the rule written out as plain sentences, the same prose the builder shows while you edit. If the rule was written outside the builder, or the segment is built-in, a line above says so and Edit is not offered. If one condition cannot be written out — a list that has since been deleted, for example — the sentence says so at that condition and names what kind it is ("matches a condition about a list that cannot be written out here"), and every other condition still reads in full. Where Edit is offered, it opens the rule with that condition as it is set.
Who this catches — the count, with the number of profiles it was measured against, and the moment it was counted, in your store's time zone. Refresh count re-measures it. If a refresh fails or the rule is too expensive to count right now, the card keeps the last number it honestly had and says what happened; the segment itself is unaffected and campaigns can still use it.
People in this segment — a preview of who matches right now, with a Show filter for Everyone, Paused only, or Not paused, and Show more people at the end. Paused people are included and marked; they are still members. If the rule is too expensive to preview, the preview says so, and the segment still counts and still sends.
About this segment — when it was created, when it was last edited, and its labels.
Meta audience — once your store has connected Meta, Sync to Meta here keeps the segment in step with a Custom Audience in your ad account, updated every hour; in Meta you choose whether an ad set includes or excludes it. Once synced, the card shows how many profiles are synced, when it last synced, and Stop syncing. Sync segments to Meta explains who is synced and who never is.
The top of the page carries this segment's buttons — Refresh count, Add to list, Edit and Export — and an Actions menu beside them that holds every one of them too, with Delete segment at the bottom. When there is not room for the words beside a long name or in a narrow window, the buttons show only their symbols; hover over one, or tab to it, and it says what it is. Press the name itself to rename the segment; a built-in keeps its name, so it is plain text there.
A segment imported without one of its rules
An import keeps every rule it could read and skips any rule this app has no way to ask. A segment missing a rule says so above its rule, cannot send, and is gathered under Imported segments that need a look. Change the rule and save to clear it.
A segment that arrived in an import can have a rule missing, and sometimes more than one. It happens when the tool you came from held a rule this app has no way to ask — a distance from a postal code, say, or another tool's own predicted numbers. Rather than refusing the whole segment and leaving you to build it again from memory, the import keeps everything it could read and excludes those rules.
A segment in that state says so above its rule:
A rule could not be imported:
then the rule in plain words, and every rule if there is more than one, written out one after another in the same line; and under it:
This segment cannot be used to send until you finish it. Change the rule and save — a changed rule clears this notice.
On the segments screen, every segment in that state is gathered above the table under Imported segments that need a look, with the number of them in the heading. Each one is listed with the rule that could not be imported and a Finish the rule link that opens it in the builder, where the same notice sits at the top. Search and the label filter narrow that section too.
You do not have to finish them all at once, or at all. Leave as is beside a segment moves it down into the table with your other segments, so the section holds only what you still mean to look at. Moving it does not finish it: it keeps its rule exactly as it was imported, still wears the Unfinished rule mark, and still cannot send until you change the rule. Everyone on your team sees it moved. It comes back to the section only if you import your segments again with this one ticked and the rule is still missing — any other import leaves it where you put it.
It cannot send until you finish it. A campaign cannot be armed with it, and its people cannot be added to a list. That is deliberate: a segment missing one of its rules is a wider audience than the one you wrote, and the safe place to stop is before the email goes out, not after.
Changing the rule clears it. Open the segment, put what is missing back in your own words, and save. The moment that change is saved the mark goes, and the segment sends like any other. It has to be a rule that changes — renaming the segment, or editing its labels, leaves the mark where it is.
Narrowing to something you know
A segment can be built from your own profile properties as well as from what people did — anyone whose skin type is sensitive — using the answers your forms and imports collected. The Profile properties page explains where they come from and how a rule over one behaves.
Where they are is a rule too. Pick a country, and — for the United States, Canada, Australia and the United Kingdom — one or more states or regions inside it, so anyone who is in New York, United States is a segment you can send to. A profile's location comes from your store's customer records where you have them and from onsite activity where you do not; a customer record always wins. Somebody you have never placed counts as not in the country, so is not in California keeps everyone whose location you have never seen. The Building a segment page covers the rest.
What a count promises, and what it does not
A count answers "how many people match this rule", measured at the moment shown. It is not a promise about a send.
Consent is checked again at send time, for every email you send. So is everything else that decides whether a person can be mailed. A segment of 12,000 people is not a claim that 12,000 emails will go out — it is a claim about who your people are. Segments are questions, never permission.
The base a segment is built from is your confirmed profiles — the ones with a verified identity. Profiles that are not confirmed yet are excluded from every segment and every count, which the verified identity page explains.
The built-in segments
We add the built-in segments for you, and their names and rules are fixed: three engagement tiers, Suspected bots, three that show the bot check at work, five about buying, and No birthday yet. The engagement tiers count an order as well as an open or a click; the buying segments read orders and nothing else.
You can disable any of the engagement tiers, the buying segments, No birthday yet and Suspected bots, and add Suspected bots if we held it back, on Settings → Built-in segments — the settings glyph beside Create segment, at the top of your segments screen, opens it. The bot check's segments are always on.
- Engaged 90d — anyone who opened or clicked one of your emails, or placed an order, in the last 90 days. Opens and clicks count people: an automatic open or click a machine made is not counted.
- Engaged 180d — the same question over 180 days. A wider net, and everyone in Engaged 90d is in it too.
- Lapsed 365d — everyone who received one of your marketing emails in the last 365 days and, in that time, did not open it and did not click it — and did not place an order either. Anyone who bought from you is never called lapsed, and neither is anyone whose Apple Mail opened one of those emails by itself, because nobody can tell whether they read it.
That third one reads backwards to almost everyone arriving from another tool, which is why the app spells it out on the page as well as here. The reason all three of them ask about orders is the last section on this page.
Suspected bots
The fourth one is a hygiene rule rather than an engagement rule. It gathers the records that look like nobody at all — the fake signups every store collects — so you can look at them before you decide what to do about them. The name says suspected because the rule is a good guess, not a certainty.
Somebody is in it only when all four of these are true.
- The record has no Shopify tags at all. Tags reach us from Shopify and nowhere else, so this means no tag has reached us for this record — which is usually because your store never wrote one. A record with an empty tag list and a record carrying no tag field at all both count, so nobody falls between the two halves of the rule.
- No email consent is recorded. Nobody ever asked them and they never agreed. That is not the same as unsubscribed; it is nothing at all.
- The record started a checkout at least once, ever.
- The record has never placed an order.
The tag row is the one doing the work. Somebody who really shops with you picks up a word from your store along the way, so a record no tag has ever reached us for, which got to a checkout and never bought, is usually not a person.
A real person can land in it, and you should expect a few. A browsing trail is strong evidence of a person; the absence of one is not evidence of a bot, and those are two different statements. Five ordinary ways somebody real ends up here:
- They declined tracking on your store, so the record of their visit never started.
- Their browser blocked it.
- You sent them an invoice or a draft order link, and they went straight to a checkout without browsing first.
- They browsed on their phone and checked out on their laptop.
- They have no customer record in Shopify at all — they reached a checkout without one ever being created — so no tag of yours has ever had anywhere to attach. (A profile that arrived with an email and nothing else is no longer a reason: we match those to your Shopify customer records by email address, and your tags follow.)
When you recognize somebody, vouch for them. Open their profile and choose This is a person on its Person row. They leave this segment and stay out of it, and the profile then shows who confirmed it and when. It is not consent and gives them none. If they were also held as a checkout bot, it releases them, and your marketing reaches them again as their consent allows.
Like the three above it, this one is built in, so its rule and its name stay fixed. Clone segment on the row menu gives you a copy of the rule that you can change, if you want your own version with more conditions in it.
Waiting for the bot check, Turned away as not a person, and Checkout bots
The first two are a window onto the bot check that guards your sign-up automations — every automation that starts on Signs up, or on the event Consented to Email (the automations help explains the check). The third, Checkout bots, is the same check applied to everybody, and nobody in it gets your marketing. You cannot edit, copy, rename, label, delete or disable any of them, use them under Send to or Exclude in a campaign, or add their people to a list.
- Waiting for the bot check — people who signed up at your Shopify store and are waiting, for up to 5 minutes, for their checkout to be checked for the signs of a bot before a sign-up automation starts for them. Somebody who signed up with no checkout at all waits the full 5 minutes, in case one is on its way. It is usually empty or small. It is for looking at only: its row has no menu, and its own page offers only Refresh count.
- Turned away as not a person — people the bot check stopped at the start of a sign-up automation, because one of their checkouts showed signs a machine made it. We keep the exact signs private, so the bots cannot learn to avoid them. Most of them ticked the box to get email at checkout, which is why Suspected bots, whose rule asks for no email consent, does not hold them. You can act on the people in it: Export on its own page, Pause emails… and Resume emails… on its row, and Settings → Delete profiles, where Never let these addresses back is already ticked for it, as it is for Suspected bots.
- Checkout bots — people your store reported a checkout for that showed those signs, who were new to you at that checkout, were not seen browsing your store before any of their checkouts, have never ordered from your Shopify store and carry no Shopify tags. Not being seen by your storefront is never a sign: shoppers who decline its cookies are never seen. Anybody whose consent or verified identity your store already had before that checkout is never in it, so a stranger cannot put one of your customers there by typing their address. Unlike Suspected bots, ticking the box to get your email at that checkout makes no difference, so a bot that ticked it is in it too. Nobody in it gets a marketing email or text from you: every campaign and automation message checks at the moment of sending, so you never need to exclude it. In an automation the message is skipped and the person carries on to the next step. Order updates and back-in-stock notices are never held, and there is no setting for it. Its row has no menu: you can Export its people on its own page, and delete them from Settings → Delete profiles, where Never let these addresses back is already ticked for it too.
All three are counted every time you open them, on the segments screen and on their own page, because who is waiting changes minute to minute. The number you see is the number now.
Turned away as not a person is a record of what the check decided, and it is kept. Somebody turned away stays in it, however long ago it was, until the check would let them through: they buy from you, they get a Shopify tag, they visit your store before a checkout, or you say they are a person. If you recognize a real person there, open their profile and press This is a person: they leave this segment, and the bot check lets them through on their next sign-up. Take the mark off again and, if nothing else lets them through, they are back in it.
The Bot Wars guide puts everything the app does about bots in one place.
If you do not see it
The first row of that rule — no Shopify tags at all — only means what it says if your tag records here are reasonably complete. So we hold this one back when we have not found Shopify tags on at least half of your profiles: on a store whose tags have not reached us yet, that row would be true of nearly everybody, and the segment would fill up with your real customers.
When we have held it back, Settings → Built-in segments says so, and gives you Add. Pressing it is you telling us something we cannot see from here: that your tag records really are complete, or that you tag few people on purpose and want the segment anyway. It adds the segment exactly as written above — the same rule, the same fixed name — and then counts it. Nothing about any profile changes, and nobody is emailed.
A manager or the store owner can press it. Everyone else sees the state and the reason.
And, like every segment, it only ever holds profiles with a confirmed identity, because that is the base every segment is built from.
The buying segments
These five sort the people who have ordered from you by two plain facts: how many orders they have placed, and how recently. That is all they read. There is no score, no prediction and no ranking behind them — the rule on each segment's page is the whole of it.
- Best customers — 3 or more orders, and at least one in the last 180 days.
- Repeat customers — 2 or more orders.
- One-time customers — exactly 1 order.
- At-risk customers — 2 or more orders, with the last one between 120 and 365 days ago.
- Lapsed customers — has ordered before, but not in the last 365 days.
They overlap where the words do: a best customer is a repeat customer too. A one-time customer is never a repeat customer.
Lapsed customers is about orders, not email. Lapsed 365d, above, is about people who stopped opening your emails. Somebody can be in one and not the other.
Canceled orders do not count, and neither do fully refunded ones. An order you canceled in Shopify, or refunded in full, is excluded from all five, so somebody whose second order was canceled is a one-time customer, not a repeat one. An order you refunded only in part still counts. An order refunded in a different currency from the one it was placed in still counts too, because we cannot tell whether that refund covered all of it. An order canceled before you installed Carpe Messaging is excluded once your store's order history has been read.
The orders in your store and the ones you imported from another email platform both count. Imported orders count once that import has finished; until then, these segments go by your store's own orders. And, like every segment, they hold only profiles with a confirmed identity.
In a segment of your own, a Placed Order row has the same choice: pick excluding canceled and fully refunded orders next to the time window, or leave it on including canceled orders.
If you want a different line — 4 orders instead of 3, or 90 days instead of 180 — use Clone segment on its row menu. The copy is yours, and you can change any number in it.
No birthday yet
No birthday yet holds everybody who has not told you their birthday. The Birthday Pop-up form example shows only to people in it, so somebody who saves their birthday leaves it, and the pop-up stops for them at once. Disabling it stops that pop-up too.
Two kinds of quiet, and why we keep them apart
Opening your email and buying from you are two different signals, and the built-in segments read both: a purchase counts. Nobody who bought from you in the window is called lapsed. In a segment of your own, pair an Email activity condition with an order condition to ask the same question.
There are two different questions that most email tools give one name to, and they come apart constantly.
Mailbox engagement — did this person open or click? This is what the mailbox providers watch. Sending to a lot of people who never open teaches Gmail and Outlook that your mail is unwanted, and everything you send after that has a harder time reaching an inbox. It is a fact about deliverability.
Customer activity — did this person visit, look at products, place an order? This is what your business runs on. It is a fact about value.
The same person can sit at opposite ends of the two. Plenty of good customers never open a marketing email: they see the subject line, come to the store directly, and buy. Your mailbox provider counts them as silent. Your bank does not.
The standard advice — sunset anyone who has not opened in a year — treats those two as one thing, and stops mailing people who are still spending money in order to protect a metric about people who are not. That is a real trade, and it should be yours to make deliberately rather than one a tool makes for you quietly.
So the built-in segments here read both signals. A purchase counts. That is why all three tiers ask about orders, and why nobody who bought from you in the window ends up in Lapsed 365d.
If you build your own version of this, do the same: an Email activity condition on its own answers "did the mailbox respond?", and that is not the same question as "is this still a customer?". Pair it with an order condition and you will be asking the one you meant.