You can find and email the right customers straight from Shopify → Customers. No tags required.
Shopify lets you target certain fields in the segment editor such as product_subscription_status
(added by your subscriptions app, e.g., Ongoing), which is great for finding a group customers & targeting them for an email campaign.
The segment filter product_subscription_status
(provided by your subscriptions app, e.g., Ongoing) lets you target: SUBSCRIBED
, PAUSED
, CANCELLED
, EXPIRED
, or NEVER_SUBSCRIBED
.
TL;DR
Customers → Filters (segment editor)
product_subscription_status → is / is any of → pick statuses
email_subscription_status → is → SUBSCRIBED (respect consent)
Run → Save → use in Shopify Email (or Export CSV)
Statuses you can target
SUBSCRIBED — active
PAUSED — on hold
CANCELLED — churned
EXPIRED — ended term
NEVER_SUBSCRIBED — never had a sub
Segments update automatically as customers move between these. You don’t need customer tags. These audiences are built dynamically from the product_subscription_status
field.
Status guide
Status | Who’s included | Good use cases |
SUBSCRIBED | Active subscribers | Announcements, upsells, bundles |
PAUSED | Subs on hold | Gentle win‑back, reminder to resume |
CANCELLED | Churned customers | Recovery offer, feedback request |
EXPIRED | Fixed‑term or ended | Renew or switch to flexible plan |
NEVER_SUBSCRIBED | Never had a product subscription | Education, first‑time offer |
Consent matters: only send marketing to people with email_subscription_status = SUBSCRIBED
.
Create your segment (point-and-click)
Go to Customers in the admin.
Click Filters (opens the segment editor).
Add a condition:
product_subscription_status
→ is → pick a status.Multiple statuses: use is any of and select several statuses at once (recommended). Or stack OR conditions (e.g., Paused OR Cancelled OR Expired).
Add consent (recommended):
email_subscription_status
→ is → Subscribed.Press Run to preview results.
Keyboard: ⌘ + Enter (Mac) or Ctrl + Enter (Windows) to run the query.Click Save, give the segment a clear name (e.g., Subs – Reactivation).
Copy‑paste queries (safe + short)
Build one segment that includes several non‑active statuses:
FROM customers WHERE product_subscription_status = 'PAUSED' OR product_subscription_status = 'CANCELLED' OR product_subscription_status = 'EXPIRED' AND email_subscription_status = 'SUBSCRIBED' ORDER BY updated_at
Tip: Each additional status goes on its own line with OR.
Ready‑made segment examples (Copy & Paste)
Use these in the editor if you like the code view. Parentheses keep logic correct.
1) Never subscribed (prospects)
FROM customers WHERE product_subscription_status = 'NEVER_SUBSCRIBED' AND email_subscription_status = 'SUBSCRIBED' ORDER BY updated_at
2) Current subscribers (active)
FROM customers WHERE product_subscription_status = 'SUBSCRIBED' AND email_subscription_status = 'SUBSCRIBED' ORDER BY updated_at
3) Reactivation (paused, cancelled, or expired)
FROM customers WHERE product_subscription_status = 'PAUSED' OR product_subscription_status = 'CANCELLED' OR product_subscription_status = 'EXPIRED' AND email_subscription_status = 'SUBSCRIBED' ORDER BY updated_at
4) Broad outreach: never subscribed OR churned
FROM customers WHERE product_subscription_status = 'NEVER_SUBSCRIBED' OR product_subscription_status = 'PAUSED' OR product_subscription_status = 'CANCELLED' OR product_subscription_status = 'EXPIRED' AND email_subscription_status = 'SUBSCRIBED' ORDER BY updated_at
If you prefer the point‑and‑click UI, choose Filters → product_subscription_status → is any of → [pick one or more statuses], then add email_subscription_status → is → Subscribed.
Send it
Shopify Email: Marketing → Create campaign → Shopify Email → To: Customer segment → pick your segment.
Other ESP: Open the segment → Export → Customers in this segment → import CSV.
Export to CSV: Open the segment on Customers. Click Export → Customers in this segment. Import the CSV into your email platform and target that list.
Tips
Clear names: Prefix segments (e.g.,
Subs – Active
,Subs – Reactivation
).Dynamic audiences: Saved segments update automatically as customers’ statuses change.
Test first: Send to yourself and a small sample before a big send.
Tight copy: Tailor subject lines and offers by status (e.g., “Pick up where you left off” for paused).
Troubleshooting
I don’t see
product_subscription_status
: Ensure your subscription app is installed and exposes this field to Customer Segments. Refresh the page after installation.Zero customers show up: Switch
AND
toOR
when combining multiple statuses, remove extra filters, and confirm customers have marketing consent.Can’t email some customers: They might have Email subscription status: Not subscribed. Obtain consent first or use permitted transactional channels.
Glossary
product_subscription_status: A customer‑level field supplied by your subscriptions app that indicates their relationship to subscription products.
email_subscription_status: Whether a customer is opted‑in to marketing email in Shopify.
That’s it—build the segment, save it, and use it anywhere you target customer segments in Shopify (Shopify Email, discounts, flows, and more).
Where segments help (beyond email)
Discounts: restrict codes to a segment.
Shopify Flow: trigger automations for a segment.
Apps: many apps can target saved segments.
FAQ
Do I need customer tags?
No—this uses live subscription data. Tags are optional.
Can you auto‑tag anyway?
Yes. Ongoing can auto‑tag by status if you want static tags alongside dynamic segments.
Will the segment update?
Yes. Saved segments refresh automatically as customers’ statuses change.
—
That’s it. Build the segment once, reuse it for emails, discounts, and automations.
An example of a filtered query searching for customers that have never subscribed to a product before, you can add AND email_subscription_status = 'SUBSCRIBED'
.