CarpeMessaging
Request early access

Help · Audience

Building a segment

The builder writes rules as sentences. Every condition starts "Anyone who…" and finishes with words you would say out loud: anyone who placed an order at least 2 times in the last 90 days.

Give the segment a name, add labels if you want them — type a word and press Enter; labels are how you group your segments — and then build the rule.

You can also start by describing the segment in your own words: when the rule is still empty, type what you want into Describe your segment and press Draft it, and the conditions are drafted for you — editable, counted, and never saved until you save them. The Describe your segment page covers it.

Groups, and how they combine

The rule is made of groups of conditions, plus an optional exclusion block. Conditions inside a group combine as OR, groups combine as AND, and anyone who matches the exclusion block is excluded even if a group includes them.

Use Add condition inside a group, Add another group to require something else as well, and Add exclusion to carve people out. The exclusion block is a block of its own, not a setting hidden inside each condition.

The trash at the end of a condition takes it out. It is the same mark everywhere in the app that means "take this row out" — the same one on a form's rules and in a form's list of blocks — so it means the same thing in all three places. An × only ever means "close this".

A rule with no conditions at all matches everyone — the builder says so — but it cannot be saved. Add at least one condition first.

The kinds of condition

A condition can ask what somebody did or spent, their Shopify tags, a list they are on, what they did with your email, a hard bounce, their consent, their details and profile properties, where they are, when they were first seen, or whether you marked them as a person.

Add condition opens a short menu: What should this condition ask? Each entry there is one of the answers below, and several of them open onto more than one sentence.

Did something

The events your store has recorded — an order, a checkout, a product view. You pick the event, how many times (at least, more than, exactly, fewer than, at most, or between two numbers), and when: ever, in the last N days, since a date, between two dates, or before a date. Dates are days on your store's clock; the Your store's time zone page says exactly where each one starts.

Between counts both days you pick, whole: between August 1 and August 31 includes everything on August 31 up to your midnight. Before counts everything up to the start of the day you pick, and nothing on that day: before September 4 ends when September 3 does.

Anyone who did Placed Order at least 1 time between Aug 1, 2026 and Aug 31, 2026.

The event field lists the events your store records most first — the busiest of the last 30 days at the top, then everything else alphabetically. Type in it to find any of them.

Anyone who did Placed Order at least 1 time in the last 90 days.

The same sentence finds the people who send things back: Anyone who did Refunded Order at least 2 times in the last 365 days. A partial refund counts as one too. A refund is recorded only for an order we already have — see the What starts an automation help page.

Returns work the same way: Anyone who did Requested Return at least 2 times in the last 365 days finds the people who asked to return something more than once, counting every return someone asked for, including ones you declined. A return is recorded only for an order we already have.

Every event counts, wherever it came from. Orders and customer changes Shopify records for you, what people do on your storefront, and anything you push in yourself through the events API — a loyalty program, a reviews app, a subscription tool — all sit in the same menu and all count in the same rule. There is nothing to enable. The one exception is a metric you have removed yourself: it stops being offered here and stops counting everywhere, which the Metrics page explains in full.

Under the sentence sits Narrow by property, which asks which one — which product, which page, or whatever else the event carried. Anyone who Ordered Product at least 1 time where the product is “Brightening Concealer”. The Narrowing by property page covers it, including the wording difference between "never bought it" and "bought something else".

Spent money

The same shape, about money rather than counts: more than or less than an amount, on an event, within a window. It takes the same Narrow by property lines, so spent more than $200 on this one product is a rule you can write.

Anyone who spent more than $500 on Placed Order in the last 180 days.

Is tagged in Shopify

Your own Shopify customer tags, as they arrive from Shopify. Is tagged or is not tagged, naming one tag — type in the tag box to find one; the tags most of your profiles carry come first — or has any Shopify tag and has no Shopify tags, which ask whether Shopify has written any word on somebody at all and take no tag name.

Anyone who has no Shopify tags.

That last one is worth knowing about. A person who shops with you picks up tags along the way, so a record no tag has ever reached us for is often not a person at all. Has no Shopify tags matches an empty tag list and a record carrying no tag field at all, so nobody falls between the two halves of the rule. What it cannot tell you is which of the two you are looking at: a customer we have never synced tags for reads exactly like one Shopify says has none. The built-in Suspected bots segment is built on this condition, and the Segments page explains the rest of that rule.

Matching folds case: VIP is the same as vip. What Shopify sent is stored exactly as it sent it; the comparison simply does not care about capitals, so a rule cannot quietly miss half the people it means.

Is on a list

Whether somebody is on one of your lists: is on the list or is not on the list, and which one. Type in the list box to find it; the lists with the most people come first.

A campaign can be sent to a list directly. This condition is how a list joins a rule: anyone who is on the list Newsletter, combined with anything else the builder can ask.

Being on a list does not mean somebody may be emailed, and this condition does not change that. A list organizes; consent decides what may be sent, and every send checks it again for every person. If you want the people on a list who have also agreed to marketing email, say both: anyone who is on the list Newsletter, whose email consent is subscribed.

Removing somebody from a list takes them out of the rule from that moment, because the rule reads who is on the list now — not who ever was.

If you delete a list, every rule that names it stops matching anybody, and the reverse rule starts matching everybody. So a rule saying is not on the list Wholesale stops excluding your wholesale customers the moment that list is gone. Because of that, a list cannot be deleted while a campaign that is armed and waiting to send has an audience that names it — you will be told which campaigns, and you can cancel or unschedule them first.

Email activity

What people did with the email you sent: opened an email, clicked a link in an email, was mailed and didn't open or click any email, or had an automatic open from Apple Mail.

Opens and clicks can look back ever or in the last so many days, the same choice as under Did something. Ever counts every open or click on record, including your imported email history. Was mailed and didn't open or click any email always takes a number of days, because going quiet needs a period to go quiet in. When you describe a segment and name no time frame for opens or clicks, the draft uses ever.

Opens and clicks can be counted, the same way as anything under Did something: at least, more than, exactly, fewer than, at most, or between two numbers. Anyone who opened an email at least 3 times in the last 30 days. Between includes both numbers, so between 2 and 5 times counts 2 and 5. Every open a person makes counts, so someone who opens the same email twice has opened twice. Leave the count off and the condition means at least once, as it always has. Exactly 0, fewer than and at most include the people who never opened at all.

Opens and clicks count people. Apple Mail opens every email by itself to protect the reader's privacy, and some email security systems open emails and follow their links before anyone reads them. Those automatic opens and clicks are never counted here, so the segment's sentence says not counting automatic opens. The Opens and clicks by people, not machines page explains how they are recognized.

An Apple Mail automatic open is never read as going quiet. Was mailed and didn't open or click any email treats one as an open, because nobody can tell whether that reader read your email. Never opened, fewer than, at most, and any count of opens that includes zero still count people — someone with three opens of their own and one automatic open has opened 3 times — but a reader whose only opens are Apple Mail automatic ones is never picked out as not opening. They are in neither opened an email nor opened an email 0 times, and a segment that excludes anyone who opened an email excludes them too. Wherever a rule could have picked them out as not opening, its sentence says someone whose only opens are Apple Mail’s automatic ones is never picked out as not opening. A rule on the Opened Email event works the same way. To find those readers on purpose, use had an automatic open from Apple Mail: anyone whose Apple Mail opened one of your emails in the last so many days. It always takes a number of days and no count.

Read was mailed and didn't open or click any email carefully, because it is narrower than it sounds. It looks at your email and only at your email. Someone who visited your store yesterday, viewed six products and placed an order still matches it if they never opened a message — the condition never looks at any of that.

That is not a flaw in the condition; it is what the condition is for. But it means a rule built on it is a rule about your deliverability, not about whether a customer is still a customer. If you want the second thing, add an order condition beside it — placed an order at least 1 time in the last 365 days — and exclude those people, which is exactly what the built-in Lapsed 365d segment does.

Email bounce

Reached from the same menu entry: had a hard bounce, or never had a hard bounce, optionally within a window.

This one answers whether, not how many times, and the app says why underneath: hard-bounce history begins with the email you send through this app, and a window is measured from when the bounce was processed rather than from when the mail server gave up. A "bounced three times" condition would be a number the data cannot support, so it is not offered.

Consent is subscribed, unsubscribed, or never subscribed — for Email or Text messages.

People and their properties

Their own details and every property on their profile — a loyalty tier, a birthday, a skin type, whatever your forms and imports collected. Start with the details: First name, Last name, Email, Phone, with is, is not, contains, does not contain, starts with, is set, is not set.

Anyone whose email contains gmail.com.

The same field then lists your own profile properties — the answers your forms and imports collected, spelled the way your data spells them — so anyone whose skin type is sensitive is a rule you write here, with the same text comparisons. The Profile properties page covers them, including why is not deliberately catches the people who never answered.

The comparisons follow what the property holds. We look at the answers your profiles actually carry and put the comparisons that fit at the top of the menu — you never have to tell us what kind of property it is:

Every property but a yes-or-no one also offers is set and is not set at the top — a yes or a no is not something an email can print, so there is yes and is no lead.

Every other comparison is still there, under Other comparisons at the bottom of the same menu. We read a sample of your profiles, and a sample can guess wrong — a points balance an app wrote as words, say — so nothing is ever taken off the menu. When a property's answers are a mix of kinds, or too few profiles carry it for us to say, the menu lists every comparison in one list, text first.

For a number, a date or a yes-or-no rule, the rule is the other way round from is not: an answer that is not a number, a date, or a yes or a no matches none of them — not even is not, and not is no — so whose VIP is no does not catch people who were never asked. The same page covers why. A rule you saved keeps its comparison even if that property's answers later look like a different kind.

is not and does not contain both catch the people who never answered, for the same reason: anyone whose email does not contain @example.com is true of somebody with no email address at all, and excluding them would be a rule reading one way and matching another. starts with is the other way round — it asks for something that is there, so a blank answer never matches it.

An exclusion only takes out the people its rule is true of. Exclude anyone whose source is Spin to Win takes out the people whose answer is those words; everybody with no source at all stays in, because the rule is not true of them. The same goes for every comparison on every property.

Is in a place

Where somebody is: is in or is not in a country, and — for the United States, Canada, Australia and the United Kingdom — one or more states or regions inside it. Countries without states in the app offer the country alone. The countries and states your own profiles are in come first when you search.

Anyone who is in New York, United States.

A profile's location comes from two places. Your store's customer records, where you have an address for somebody, and what the app can tell from their visits to your site, where you do not. A customer record always wins, because a visit only ever shows roughly where somebody was at the time.

"Is not in" keeps everyone you have never placed. Most stores have a great many profiles with no location at all — no order carrying an address, no visit while the app was watching — and a rule saying is not in California keeps every one of them. That is almost always what you meant, and the builder says so under the row so it cannot surprise you either way. If you want only people you know the location of, say the country as well.

There is no city rule. A profile shows its city where the store's records carry one, and a rule cannot ask about it: cities are typed a dozen ways, and a rule that quietly missed half of them would be worse than not offering it.

When they were first seen

The same menu entry offers First seen: more than or less than N days ago.

It is called "first seen", not "added" or "customer since", and that is a deliberate honesty. It is when this app's record of the person began. After you import a store's people, your longest-standing customers are newly seen here — not newly acquired.

Has a birthday coming up

The month and day people gave you — on a form, in an import, on their profile, or in your store's Birth date field in Shopify. The row starts as Birthday is in the next 7 days; its first chip also offers is in a month you pick, is this month, is given and is not given.

Anyone whose birthday is in the next 7 days.

"In the next 7 days" counts today. It means today and the seven days after it, by your store's calendar, so a birthday a week from today is in. In the next 0 days is today alone. A February 29 birthday counts on February 28 in years without a February 29.

Somebody who never gave a birthday is never "in the next 7 days" — and so excluding birthday is in October keeps everyone who has not told you theirs. To keep only people who gave one, add a group with Birthday is given.

A store with no birthdays yet can still add the row; it counts 0 until people start giving them.

Is marked as a person

Whether you have vouched for somebody: is marked as a person or is not marked as a person. There is nothing else to fill in.

The mark is yours. Somebody on your team opened a profile, decided there was a real person behind it, and pressed This is a person — the Profiles page covers the button. Nothing arriving from your store sets it, and neither does an import.

The built-in Suspected bots segment uses it to keep the people you have vouched for out of the rule. In a rule of your own it reads either way: exclude the marked, or gather them up.

The live count

Beside the rule sits Who this catches — a number that updates as you edit, shown against the size of your store's confirmed base.

That base is your confirmed profiles: the ones with a verified identity. Profiles waiting to be confirmed are never counted and never emailed, which the verified identity page explains.

If a rule is too expensive to count while you type, the count says so and the rule still saves. If the count simply cannot be taken at that moment, it says that instead, and your rule is untouched either way.

Under the rule, What this rule says shows the whole thing back to you as prose. It is the same reading a segment's own page shows, so what you approve here is what you will read there.

Seeing who the rule catches

Under the number is View these profiles. It opens a panel over the editor showing the people the rule catches as it stands on screen — including edits you have not saved — so the list and the number above it are always answers to the same question.

Each row is a person: their name, their email address, their consent, and when you last heard from them. Names link through to the profile. Anyone whose emails you have paused is shown here too, marked Paused beside their name — a pause is your own hold on sending, not a change to who the rule catches, so the count includes them and so does this list.

The panel shows the first 25 people and says so when there are more. It is a sample you read to check a rule, never the final audience: who receives a campaign is settled when you send it, and consent is checked again for every email you send.

Closing the panel puts you back in the editor with everything exactly as you left it. Nothing is saved, and nothing is lost.

If the rule is half-written — a condition still waiting for a value — the panel says which lines need finishing rather than showing a list it cannot stand behind. If the rule is simply too expensive to preview, it says that, and the rule still saves.

The choices offered are your store's own

The event names and Shopify tags offered in the menus come from your own store, so a condition can never name something that does not exist there. If they take too long to read, the builder says so and keeps working — every field the menu would have filled in also accepts a typed value.

Saving

The page draws no Save button of its own. When you have unsaved changes, a save bar appears — Shopify's own contextual save bar inside the admin, and the app's equivalent when you are working outside it. Save commits; Discard puts the rule back exactly as it was when you opened it.

Editing a segment changes who it catches from that moment on. It does not change anything already sent.