本文要点
- 2026 年 10 月 1 日起,GraphQL 与 REST 的 ScriptTag 创建、更新都会失败,旧 API 版本不能延期;已有标签暂时继续运行。
- 2027 年 3 月 1 日起,Shopify 不再向 storefront 注入 ScriptTag,依赖它的界面、跟踪或业务逻辑会停止。
- 店面 JavaScript 或 UI 通常迁到 theme app extension 的 app embed;分析、转化和行为采集优先迁到 web pixel。
- app embed 需要商家在主题中启用,并在切换主题后重新检查;web pixel 不依赖商家手动激活。
- 新旧实现并行可能导致重复加载、重复统计或重复 UI;必须设置可观测的切换与回滚条件。
具体场景:代码已迁移,已发布主题却仍没有新功能
应用团队完成 app embed 后,测试店正常、真实商店却没有变化,后台仍能看到旧 ScriptTag。可见症状是同一版本在不同主题表现不一致,或分析事件突然重复;代价是店面功能停摆、归因数据污染和商家工单集中出现。
错误直觉是先批量删除 ScriptTag,逼所有商店走新实现。正确第一步是导出每个商店的 ScriptTag、脚本用途、当前 published theme 和替代方案激活状态;没有逐店激活证据时不要删除旧标签。
发生了什么:两个截止日期对应两种不同风险
Shopify 官方迁移文档明确,2026 年 10 月 1 日起禁止创建或更新 ScriptTag。GraphQL 的 scriptTagCreate、scriptTagUpdate 与 REST 的 POST、PUT 都会失败,使用旧 API 版本也不能绕过;已有 ScriptTag 在这一阶段仍运行。
2027 年 3 月 1 日起,Shopify 停止向 storefront 注入现有 ScriptTag,相关脚本和依赖功能停止。不要把这个时间表与 order status page 的独立迁移日期混在一起;本文只处理 storefront ScriptTag。
用选型表决定迁到 app embed 还是 web pixel
需要在店面加载 JavaScript、展示组件或改变交互的功能,迁到 theme app extension 的 app embed block。只做分析、转化或行为事件采集的代码,迁到 web pixel。不要把需要渲染 UI 的代码塞进 pixel,也不要继续为纯分析脚本维护店面注入。
app embed 支持 vintage themes 与 Online Store 2.0,但必须按主题启用;商家切换主题后要重新核验。Web pixel 不需要商家手动启用。Admin-created custom apps 不能使用 theme app extensions 或 web pixels,只能评估 Custom Liquid 或主题代码,并接受失去自动升级路径的限制。
逐店迁移、激活与删除的六步清单
第一,盘点 active ScriptTag、用途、负责人和依赖页面。第二,按 UI/店面逻辑与分析采集分类。第三,构建 app embed 或 web pixel,并准备旧实现开关。第四,用 deep link 引导商家打开主题编辑器并激活 app embed。第五,在 published theme 验证脚本、事件、性能和关键结账前路径。第六,确认无重复加载后再调用 scriptTagDelete。
完成标准不是部署成功,而是目标商店的已发布主题出现预期功能、浏览器只加载一份实现、事件计数没有双发、旧标签已删除且切换主题后仍通过复查。批量迁移应分组进行,保留每店的标签 ID、主题 ID、验证时间和回滚 owner。
失败、回滚与停手条件
若新旧方案并行出现 UI 重复或事件双发,先停新实现的 rollout,不要在未知范围内继续删标签。若 app embed 未在 published theme 激活,重新生成 deep link 并让商家确认;若商家切换主题,把激活检查纳入主题变更流程。
当无法识别 ScriptTag 所属功能、custom app 没有可维护替代路线、关键转化事件无法对账,或批量删除没有可恢复映射时,应停止该批次并升级给应用 owner。回滚只恢复经过验证的旧开关;不要重新创建 ScriptTag 作为长期方案,因为 10 月 1 日后创建本身会失败。
常见误区与网络边界
常见误区包括认为旧 API 版本能延期、把 10 月 1 日误当成所有旧标签立即停运、先删旧标签再等商家激活、忽略切换主题,以及让 app embed 与 ScriptTag 长期双跑。警告 banner 可提示风险,但不能替代逐店验证。
这是 Shopify 扩展机制迁移,不是出口 IP 问题。只有 API 请求同时出现明确 DNS、TLS、407 或超时证据时,才参考<a href="/resources/proxy-connection-troubleshooting-checklist">代理连接排查清单</a>;换 IP 不会恢复已被平台拒绝的 ScriptTag 创建或更新。
何时复查,后续变化只更新本页
现在完成依赖盘点;每次主题切换后复查 app embed;2026 年 9 月做一次创建/更新调用清零检查;2027 年 2 月完成所有存量商店的最终验证。若 Shopify 调整日期、错误行为或替代能力,应更新本页,不拆出近义页面。
复查时记录 GraphQL/REST 调用量、仍存在的 ScriptTag 数、published theme 激活率、重复加载和事件对账结果。没有官方新事实时,不把个别商店的主题问题描述成平台规则变化。
资料来源
常见问题
Shopify ScriptTag 什么时候不能创建或更新?
2026 年 10 月 1 日起,GraphQL 与 REST 的创建、更新都会失败,使用旧 API 版本也不能延期。
现有 ScriptTag 会在 10 月 1 日立即停止吗?
不会。现有标签暂时继续运行;Shopify 计划从 2027 年 3 月 1 日起停止向 storefront 注入。
app embed 和 web pixel 怎么选?
需要加载店面 JavaScript或 UI 的功能选 app embed;纯分析、转化和行为采集选 web pixel。
为什么 app embed 部署后商店没有变化?
app embed 必须在当前 published theme 中启用,商家切换主题后也需要重新检查激活状态。
能让 ScriptTag 和新方案长期并行吗?
不建议。并行可能造成脚本、UI 或分析事件重复;应短期验证并设置明确退出条件。
Admin-created custom app 怎么迁移?
这类应用不能使用 theme app extensions 或 web pixels,只能评估 Custom Liquid 或主题代码,并接受缺少自动升级路径的限制。