checkoutUrl 跳到 myshopify 域名怎么换主域
现象#
站点跑在 www.example.com,点结账却跳到 example.myshopify.com/cart/c/...,购物车里的 UTM、登录态和自定义 cookie 全丢,GA4 里出现两个域名。
原因#
- checkoutUrl 的 host 取决于店铺主域名与初始化客户端时使用的 shop 域名,用 myshopify.com 初始化就会拿到该域名
- Headless 渠道未绑定自定义域名,或 Markets 的 web presence 仍指向默认域
- 反向代理改写了 Host 头,Shopify 按改写后的域名生成链接
- 前端把 checkoutUrl 存进 localStorage,域名变更后仍在复用旧值
处理步骤#
- 用 Admin API 查
shop { primaryDomain { host url } },与后台 Settings → Domains 对照 - 把前端初始化用的
PUBLIC_STORE_DOMAIN改成主域名,不要用 .myshopify.com - 每次进结账前重新查
cart { checkoutUrl },不要复用缓存值 - 确认反代透传原始 Host,不要在边缘改写成内部域名
- 若必须换 host,只替换协议与域名,保留 /cart/c/... 路径和 key 参数
验收标准#
地址栏显示主域名,结账页仍能识别同一个购物车,GA4 里不再出现 myshopify.com 的落地页。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。