EN
Shopify 知识库 · 概念

客户分群:Segments、标签与营销对象

说明 Shopify 客户分群(Segments,用 ShopifyQL 条件描述的动态名单)与客户标签、客户 metafield 的分工,分群在折扣资格与营销邮件中的用法和数值上限,营销同意状态如何限定可触达对象,以及使用客户数据时的隐私边界。

客户分群(Segments)是按条件自动维护的客户名单:官方页称其为“dynamic, rule-based customer lists”,顾客满足条件即被加入,不满足即被移出。它解决的是“把一批具有相似特征的客户圈出来,用于分析、发营销邮件或限定折扣资格”;它不解决“这些人是否同意被联系”(那是营销同意状态,见隐私与同意),也不是给单个客户贴的手工标记(那是客户标签)。

本库哪些内容依赖它

本文是该平台机制的权威来源,其他文章只写各自页面语境下的用法。

核心对象与概念

对象含义备注
分群(segment)由 ShopifyQL 的 WHERE 条件定义的动态客户名单Admin API 的 Segment 有 name、query、创建与最后编辑时间;成员可同时属于多个分群,一个分群只含单个店铺的成员
过滤器(filter)分群条件的基本单元:过滤器名称、运算符、值组成部分页给出全部运算符与连接词
客户标签(tag)手工或批量打在单个客户资料上的文本可作为分群条件,但标签本身不是分群
客户 metafield在客户资源上自定义的结构化字段分群只支持特定类型,详见下文
营销同意状态邮件、短信、WhatsApp 各自的订阅状态分群可按状态筛选;发送时另有订阅门槛

标签与分群的区别:标签是数据,附着在每个客户身上,由人或应用写入;分群是查询,结果随数据变化。官方标签页写明标签既可整理客户列表,也可用来创建分群。标签页没有说明标签在 Flow、B2B 或客户列表筛选中的用法,本文不展开。注意本站的浏览器采集、服务端 GTM 与标签网关讲的是 Google 标签,与客户标签无关。

在哪里配置

  • 创建:Admin 的 Customers 页或 Segments 页,点 Create segment;官方页列出四种起点:模板、已有分群、直接编辑 ShopifyQL、Sidekick 生成(AI 生成的描述需先审阅再保存)。默认查询为 FROM customers SHOW customer_name, note, subscription_status, location, orders, amount_spent WHERE [filters, operators, values] ORDER BY updated_at,FROM 与 SHOW 不可改,只能改 WHERE。编辑器用 Run query 测试,匹配人数显示在编辑器上方。
  • 编辑与删除:Customers > Segments > 选分群,改后点 Apply 测试,再 Save segment 与 Save changes;删除走 More actions > Delete > Delete segment。
  • 导出:可导出 CSV,有“CSV for Excel, Numbers, and other spreadsheet programs”与“Plain CSV file”两种格式。
  • 用于折扣:Customers > Segments > 选分群 > Use segment > Discount,可选 Amount off products、Amount off order、Buy X get Y、Free shipping。
  • 用于营销邮件:官方页称 Shopify Messaging 用于向所选分群的客户发送邮件营销活动。Shopify Messaging 是 Shopify Email 的现名(见营销消息);分群过滤器里仍以 shopify_email.EVENT 命名邮件事件。
  • 标签:客户资料的 Tags 区添加或点 X 移除;批量编辑可加或用 Remove tags 移除。
  • 客户 metafield:定义入口见自定义数据;分群只能使用已建立定义的 metafield。

与主题、Liquid 和 API 的连接

  • Liquid:customer 全局对象只在顾客登录时存在,否则为 nil。可读 customer.tags(字符串数组)、customer.metafields、customer.accepts_marketing(布尔)。本次未读到店面 Liquid 中读取“某人是否属于某分群”的入口。
  • Admin API:segment 与 segments 查询,segmentCreate、segmentUpdate、segmentDelete 变更;需 read_customers 与 write_customers 权限。Customer.tags 是逗号分隔的标签列表;tagsAdd 支持 Customer、Order、Product 等资源。营销状态旧字段 acceptsMarketing、emailMarketingConsent、smsMarketingConsent 已标为弃用,改用 customerEmailMarketingConsentUpdate 与 customerSmsMarketingConsentUpdate。
  • 折扣:开发文档写明可通过 discountCodeBasicCreate 把折扣应用到指定分群。
  • 旧接口:官方页称分群取代已弃用的 SavedSearch,仍用 customerSavedSearches 的应用需迁移,否则商家新建的分群不会同步给它们。

限制、数值与易错点

核验于 2026-09-29,逐条标来源。

  1. 运算符与连接词(组成部分页):=、!=、>、<、<=、>=、BETWEEN、CONTAINS、NOT CONTAINS、MATCHES、NOT_MATCHES、IS NULL、IS NOT NULL;函数类条件须配 MATCHES 或 NOT_MATCHES;AND 先于 OR 执行,需要时加括号。
  2. 条件数量:segment query language 参考页称一个查询最多 10 个子句,超出返回错误;列表参数最多 500 个 ID(摘要级读取)。
  3. API 查询上限:分群概览页与管理页写明单次最多查询 250 个分群,first 与 last 最大 250;这是 API 分页上限,不是店铺可创建的分群数量上限,后者官方页未读到。
  4. 过滤器的前提(Shopify 过滤器页):predicted_spend_tier 仅在店铺销售超过 100 笔后可用;companies 仅 Shopify Plus 可用,条目填公司 ID 而非名称;product_subscription_status 需要订阅应用;customer_account_status 只针对旧版账户;邮件与店面事件类过滤器的数据窗口为 26 个月,店面事件数据始于 2023 年 5 月(摘要级读取)。
  5. 标签:标签不区分大小写,用 customer_tags CONTAINS 'GoldStatus' 这类写法;segment query language 页另写“标签是否存在不做校验”,拼错的标签不会报错,只会匹配不到人;合并客户资料时合并后的标签总数不得超过 250 个;单个标签的长度上限官方页未写。
  6. metafield 过滤:只支持 date and time、number、text、true or false 四类;须先有 metafield 定义。写法两处并列:帮助页写作 customer.[namespace].[key](例 customer.points_balance >= 100),开发文档页的示例是 metafields.facts.birth_date。哪种适用于哪个入口未核验,以查询编辑器实际报错为准。metafield 定义页还写明最多 250 个定义,是否按资源类型分别计数未读到。
  7. 折扣里的分群上限:折扣管理页写明自动折扣单个折扣最多 5 个客户分群,折扣码最多 100 个。折扣 FAQ 写明:针对特定分群的折扣只对老客户生效,首次结账的新顾客还没有客户资料,要等首单完成后才进入分群。
  8. 营销同意不等于可触达:邮件订阅者管理页写明只有选择接收的人才能收到邮件,“Email subscribers” 分段是同意接收营销邮件的客户;点击 Unsubscribe、标记为垃圾邮件或在账户中退出的人会被移出。管理分群页同样写明只有邮件订阅者会收到 Shopify Messaging 活动。因此“分群里有他”不代表“可以给他发”。
  9. 合并资料的同意状态:客户营销同意页写明,两个资料合并时只要有一个订阅了邮件与短信,合并后即为订阅。
  10. 数据口径:测试订单与已删除订单不计入分群计算;分群列表的人数在打开分群详情页或有应用(如 Shopify Messaging)使用该分群时才更新,所以列表页的数字可能滞后。
  11. 状态取值:email_subscription_status 列出 SUBSCRIBED、NOT_SUBSCRIBED、UNSUBSCRIBED、PENDING、INVALID、REDACTED;sms_subscription_status 列出 SUBSCRIBED、UNSUBSCRIBED、PENDING、NOT_SUBSCRIBED、REDACTED;两个过滤器的运算符只有 =、!= 与空值判断。

隐私边界

  • 分群是客户个人数据的子集:导出 CSV 与在第三方应用中使用分群,都会把邮箱、姓名等数据带出后台。导出前应明确用途与接收方(这是本文建议,不是官方条文)。
  • 用哪些数据分群、能否据此发送营销、是否需要额外同意,各地区要求不同,需要合规确认;官方页也提示自动化同意设置不能替代法律意见,见隐私与同意。
  • 不要把客户的敏感属性(例如健康、宗教)写进标签或 metafield 再用来分群;Storefront API 读取客户 metafield 需要令牌,Customer Accounts API 的 metafield 访问由定义设置控制,详见自定义数据。
  • 后台员工能否看到客户与分群取决于其权限;本次未读到具体权限项,按店铺、组织与权限先确认角色。客户登录账户体验见客户账户。

验证一次

  1. 在测试店铺建 3 位测试客户:一位订阅邮件并带标签,一位未订阅带同一标签,一位无标签;
  2. 新建分群 customer_tags CONTAINS '<标签>',点 Run query,确认匹配 2 人;再加 AND email_subscription_status = 'SUBSCRIBED',确认变为 1 人;
  3. 把标签改成大小写不同的写法,确认结果不变;再故意拼错标签,确认不报错、匹配 0 人;
  4. 如已定义客户 metafield,用其建一个分群,分别试两种写法,记录哪种被接受;
  5. 用该分群创建折扣,资格选 Customer segments;用一位新邮箱走结账,确认首单前折扣不适用,首单完成后才进入分群;
  6. 在 Shopify Messaging 里选该分群建活动(不发送),核对收件人数是否只含订阅者;
  7. 记录:查询文本、客户资料状态、店铺时间、看到的人数与实际收件人数。

待继续完善

  • 店铺可创建的分群数量上限、分群成员的刷新时延;
  • Shopify Messaging 创建页的收件人选项、是否有发送量限制(该页本次未读到细节);
  • 员工权限对客户与分群的影响;
  • 两种 metafield 写法各自适用的入口;
  • 短信与 WhatsApp 营销的发送对象规则;
  • 各地区营销与数据使用要求,全部需要合规确认。