为 Vertex 主题配置 Shopify Markets 与多货币
Vertex 开箱即用,完全连接到 Shopify Markets — 无应用、无第三方货币转换器、无 FX 脚本。如果您向跨多国的采购团队、不同货币的经销商账户销售,或为不同地区运营贸易目录,本指南将带您从单一市场的起步店铺到精致的多市场 B2B + B2C 店铺前端,大约需要 30 分钟。
Shopify 中的 B2B 买家通过其公司分配固定到单一市场 — 他们无法自由切换货币。Vertex 仍然为他们渲染货币胶囊(信息性),以便他们始终一眼就能看到自己以何种货币付款。采购团队喜欢这一点 — 它减少了每个报价的一次往返邮件。下拉框中只会包含一个选项。
"Markets" 实际控制什么
Shopify Markets 是原生子系统,按国家/地区分组控制:
- 买家看到并支付的货币(从您的店铺货币自动转换,或通过市场特定的价目表覆盖)
- 店铺前端渲染的语言(来自您的
locales/JSON;Vertex 提供英语、法语、意大利语、德语、西班牙语) - 定价策略 — 以实时 FX 汇率自动转换,带可选调整百分比,或按市场使用固定手动价目表
- 域名 / 子文件夹 —
example.com/fr-ca/或完全独立的.ca域名 - 地理位置重定向 — 自动建议或自动将不匹配的访客重定向到他们最近的市场
- 税务 + 关税处理(在支持 DDP 的市场中,如 Shopify Markets Pro)
Vertex 的工作是忠实地渲染此配置:货币胶囊、语言胶囊、hreflang 标签、每市场价格格式以及 B2B 问候栏都会在每个请求上查询实时 localization 对象。
前提条件
| 要求 | 原因 |
|---|---|
| Shopify 套餐:Basic 或更高 | Markets 包含在所有付费套餐中,但您需要至少 Basic 才能添加辅助市场。Shopify Plus 解锁无限市场 + Markets Pro(关税 + DDP)。 |
| 至少发布一个辅助市场 | 当 localization.available_countries.size > 0 时,Vertex 的货币胶囊会渲染。没有辅助市场,只存在一个国家,下拉框没有切换内容 — 不过 B2B 买家的胶囊仍然渲染(请参阅下方的特殊情况:B2B + Markets)。 |
| 主题已发布或预览中 | 某些 Markets 配置(地理位置重定向、默认市场)仅在主题已发布或通过自定义器预览时才能正确渲染。 |
| 已安装语言 | 如果您想要语言切换器(而不仅仅是货币切换器),请在 Settings ▸ Languages 中发布相应的语言。Vertex 提供英语、法语、意大利语、德语和西班牙语的完整 UI 翻译。 |
Markets — 包括多货币和多语言 — 在所有 Shopify 套餐中均包含。您只需通过 Shopify Payments 费用支付 FX 转换(已是您交易费的一部分),而不是为 Markets 功能本身付费。关税 + DDP 收取(Markets Pro)是付费附加组件。
逐步:启用 Markets
第 1 步 — 在 Shopify 后台打开 Markets
在您的 Shopify 后台中,导航到 Settings ▸ Markets。
您将进入一个页面,列出您的主要市场(在您开设店铺时自动创建,通常是您的注册国家),以及您添加的任何辅助市场。

第 2 步 — 配置主要市场
点击进入您的主要市场。确认:
- 国家 / 地区正确(这驱动默认税务 + 关税)
- 货币是您的店铺货币(订单存在后无法更改)
- 语言是您的默认语言(Settings ▸ Languages 中标记为 "Default" 的语言)
这是后备市场 — 每个未匹配到辅助市场的访客都会看到主要市场的定价和语言。
第 3 步 — 添加辅助市场
点击右上角的 Add market。
对于每个新市场,您将配置:
| 字段 | 输入内容 |
|---|---|
| 市场名称 | 内部标签 — "European Union"、"Canada"、"Asia-Pacific Wholesale" |
| 国家 / 地区 | 共享此市场的定价 + 货币 + 语言的一个或多个国家。欧盟买家可以共享一个市场;如果您想要不同的 VAT 处理,可以将英国 + 欧盟拆分。 |
| 货币 | 本地货币(例如,欧盟为 EUR,英国为 GBP,加拿大为 CAD)。除非您上传手动价目表,否则 Shopify 将以实时汇率从您的店铺货币自动转换。 |
| 语言 | 在 Settings ▸ Languages 中发布的一种或多种语言。如果您有匹配的语言,此市场的默认语言会根据国家自动检测。 |
| 定价策略 | Adjust prices by % from store currency(例如,+5% 以覆盖 FX 风险),或针对该市场Use a manual price list。 |
| 域名 / 子文件夹 | example.com/fr-fr/(子文件夹,推荐用于 SEO)或独立的 ccTLD,如 example.fr。 |
子文件夹 URL(example.com/fr-fr/)整合域名权重,会由 Vertex 自动配对 hreflang 标签,且无需 DNS 工作。独立的 ccTLD 域名会分散您的权重,需要手动设置 hreflang。除非您有强烈的税务或法律理由使用 ccTLD,否则推荐子文件夹。

第 4 步 — 选择您的定价策略
对于每个辅助市场,您有三种价格选项:
选项 A — 从店铺货币自动转换(默认)
Shopify 以实时 FX 汇率将您的店铺货币价格转换为市场货币,四舍五入到您选择的格式(例如,以 .99 结尾)。每天更新一次。免费;无需手动维护。
选项 B — 自动转换 + 调整 与 A 相同,加上百分比调整(例如,+5%、-10%)应用于此市场中的每个产品。当您想要统一吸收 FX 风险或运行区域折扣/加价时很有用。
选项 C — 按市场手动价目表 上传 CSV(或使用后台 UI),按市场为每个款式提供显式价格。当您在某个地区有固定合同定价时是必需的 — 对拥有协商区域经销商定价的 B2B 分销商很常见。
如果 B2B 买家已登录且其公司分配了目录,则该买家的目录价格优先于 Markets 定价。当 B2B 买家未分配目录时,或对该市场中的 B2C / 访客购物者,Markets 定价是后备方案。
第 5 步 —(可选)启用地理位置重定向
仍在 Settings ▸ Markets 中,滚动到 Geolocation 卡片。
两个选择:
- Recommend a different market — 在 店铺前端顶部显示一个小栏("Looks like you're in France. Visit our French store?"),带 Visit / Stay 选择。不那么激进 — 推荐用于 B2B,因为某些采购买家故意使用美国店铺前端来比较价格。
- Automatically redirect — 服务器端将访客重定向到他们最近的市场,无选择权。在纯 B2C 中转化率更高,但可能让 B2B 买家和机器人感到沮丧。
除非您有强烈的相反理由,否则选择 Recommend。Vertex 尊重您的任何选择 — 无需更改主题代码。
第 6 步 — 发布您的辅助市场
每个市场在市场列表中都有一个 Active / Inactive 切换。当您准备好让买家看到时,切换到 Active。Vertex 中的货币胶囊将在下次页面加载时立即开始呈现新市场的货币。
Vertex 如何渲染切换器
Vertex 的货币 + 语言胶囊由一个共享 snippet — snippets/localization-switchers.liquid — 渲染,该 snippet 包含在两个位置:
- 桌面 header(≥1170px) — 对于已登录的 B2B 买家,内嵌在琥珀色 B2B 问候栏中,或对于访客 + B2C 买家,内嵌在主白色 header 中
- 移动抽屉 + 平板(<1170px) — 在汉堡抽屉顶部,作为 2 列网格中的两个胶囊,方便单手操作

胶囊解剖
每个胶囊都是一个紧凑的圆角按钮,带三个元素:
- 圆形国旗头像 — 国家的国旗,来自精灵图或回退到 ISO 国家代码
- 2 行文本堆栈 — 标签("Currency" 或 "Language")位于 ISO 代码("EUR"、"FR")上方
- 箭头 — 表示胶囊会打开下拉面板
点击胶囊会打开一个自定义下拉面板 — Vertex 故意在 chrome 中不提供任何原生 <select> 元素。每个下拉框都使用共享的 <details> + <summary> + 自定义面板模式:
- 在当前选定的选项旁渲染一个对勾图标
- 高亮悬停状态
- 在 Escape / 外部点击 / 同级下拉打开时关闭(互斥)
- 以 120 ms 渐入动画进入
这意味着完整的键盘导航和 AT(辅助技术)支持,同时看起来不像默认浏览器下拉框。