What changed
Shopify published a separate retirement timeline for ScriptTags that still load JavaScript on storefront pages. From October 1, 2026, apps cannot create or update ScriptTags: GraphQL `scriptTagCreate` and `scriptTagUpdate` return permission errors on every API version, and REST POST/PUT operations fail as well. Existing storefront ScriptTags continue running temporarily and remain readable/deletable. On March 1, 2027, Shopify will stop injecting them into storefront pages entirely, so any feature that still depends on the remote script will stop working. Shopify directs app developers to app embed blocks in theme app extensions for storefront functionality and web pixels for analytics/conversion tracking.
Why it matters
ScriptTags have been a long-lived way for Shopify apps and custom integrations to inject behavior into merchant storefronts without editing theme templates. The retirement is therefore a code-execution and distribution cutoff, not an API housekeeping change. App vendors must ship the replacement before October if new installations need the functionality, and must get existing merchants onto an enabled app embed or alternative before March. The migration also changes control semantics: app embed blocks are enabled per theme, so a merchant publishing a different theme can accidentally lose the replacement even after the app itself is installed.
October removes the ability to create or change ScriptTags
Shopify says the October 1 write cutoff applies across every Admin API version. Pinning to an older version does not defer it. Existing ScriptTags keep running and can still be queried or deleted, but an app cannot create a new tag for a new installation or update the URL/configuration of an existing one. Apps that wait until after the cutoff therefore lose the old fallback path while trying to migrate customers.
March is the actual storefront execution shutdown
On March 1, 2027, Shopify will stop injecting ScriptTags into storefront pages. The remote script no longer loads and any feature depending on it stops working for that store. This is distinct from the earlier Order status/Thank you page ScriptTag retirement that BTN already covers under the non-Plus checkout migration.
The replacement is an app embed block for storefront behavior
Shopify wants storefront JavaScript moved into an app embed block delivered through a theme app extension. App embeds appear in the theme editor, can be toggled by the merchant and work with both vintage and Online Store 2.0 themes. Because activation is per theme, developers need to confirm the embed is active on the currently published theme and revisit that state when a merchant changes themes.
Analytics-only scripts should move to web pixels
Shopify recommends web pixels for scripts whose purpose is analytics or conversion measurement. Keeping instrumentation separate from visible storefront behavior can reduce the amount of arbitrary JavaScript injected through the theme path and align tracking with Shopify’s supported pixel sandbox and event model.
Admin-created custom apps have a harder migration path
Shopify says apps created directly in the admin cannot use app extensions, including theme app extensions and web pixels. Those integrations have no equivalent extension-based replacement for ScriptTags and may need code moved into the theme or a rebuilt distributable app. That makes inventorying app distribution type part of the migration rather than assuming one replacement works everywhere.