How do customer tags and segments built up over years on the old platform migrate to Shopify's customer tagging and segmentation system?
Customer tags migrate through Shopify's customer CSV import as a comma-separated Tags column. Saved segments do not migrate. Shopify segments are rebuilt as ShopifyQL queries, and metafield-based filters work only for four data types: date and time, number, text, and true or false (per Shopify Help Center, September 2026).
Tags are easy. Segments are a rebuild.
Shopify's customer CSV import includes a Tags column described as "a comma-separated list of tags used to tag the customer" (per Shopify Help Center, September 2026). Tags come across intact, and they are the cheapest thing in this entire migration.
Segments are different in kind. A Shopify segment is a ShopifyQL query evaluated against live customer data, not a stored list of customer IDs. There is nothing to import. Every saved segment on the old platform has to be re-expressed as a query, and some of them will not re-express.
What re-expresses cleanly, and what does not
| Legacy segment logic | Rebuilds in Shopify? |
|---|---|
| Has tag X | Yes, directly |
| Spent more than $X | Yes, amount_spent |
| Ordered in the last N days | Yes |
| Located in a given country or region | Yes |
| Subscription status | Yes |
| Custom field equals a value | Yes, if the field is a customer metafield of a supported type |
| Custom field of any other metafield type | No |
| Behavior the old platform tracked and Shopify does not (page views, email opens, session data) | No |
| A hand-curated static list of accounts | No, not as a segment. Becomes a tag |
| Logic depending on order line items or product attributes | Partially, and often not the way you expect |
The metafield limit is the one that surprises people. Shopify documents customer segment filters built from metafields of four types: "date and time," "number," "text," and "true or false" (per Shopify Help Center, September 2026). A metafield you migrated as a JSON blob, a reference, a rating or a rich-text field is invisible to segmentation, no matter how important it is to the business.
The two failures that are not about Shopify at all
Behavioral segments belong to the ESP. A large share of what a mid-market merchant calls "segments" lives in Klaviyo or an equivalent, built on email engagement and browse behavior that Shopify never sees. Those do not migrate to Shopify because they were never in the old commerce platform either. They migrate, or fail to, between marketing tools. Scope that separately or it will be discovered at the wrong moment.
Half your segments are dead. Years of accumulation produce a lot of one-campaign segments that nobody has opened since. Migrating them is work with no return.
The sequence we insist on
- Export every tag with a customer count. Tags with a count of one or two are typos or one-offs. Clean them now. Cutover is the only cheap moment.
- Export every saved segment with its definition and last-used date. Kill anything untouched in twelve months, with the owner's name against the decision.
- Classify the survivors into: rebuilds as a query, becomes a tag, becomes a metafield plus a query, or lives in the ESP.
- Migrate tags first, before segments, because most segment rebuilds depend on tags existing.
- Define customer metafields before importing customers, choosing supported types wherever the field needs to be filterable. Changing a metafield type after import is more painful than choosing it correctly once.
- Rebuild the surviving segments and compare member counts against the legacy system before anyone sends a campaign against them.
When NOT to rebuild a segment
- When it has one member. That is a customer, not a segment.
- When its definition depends on data you are not migrating. Rebuilding it half-populated produces a segment that silently under-targets.
- When the ESP already has it. Duplicating segment logic across Shopify and the ESP guarantees they diverge, and the divergence will be discovered by a customer receiving the wrong email.
The Deploi point of view
Our own position, from building on Shopify. Separate from the facts above.
- Our take: Budget for the segment rebuild as a marketing workstream with a marketing owner, not as a line in the data-migration plan. It is query authoring and business-rule archaeology, and a data engineer is the wrong person to do it.
- What we’ve seen: The tag export is where the real discoveries happen. Free-text tagging over a decade produces the same concept spelled four ways, and nobody knows which spelling the automations depend on until one of them stops firing.
- Where we disagree: Migration vendors quote "customers and segments" as one line item. Customers are a file transfer. Segments are a requirements exercise. Pricing them together produces an estimate that is too low and a scope argument in week four.
- What this page adds: that Shopify's segment filters read only four metafield types, so the metafield type you choose at import time decides whether a migrated attribute is ever filterable, and that choice is made in the data workstream months before the marketing team discovers it.
Reviewed by Martin Dejnicki, Director of SEO & AI Search. Facts verified 2026-09-14.
Where we worked this out
Our decision records