1 октября 2026 года Shopify запретит создание и обновление storefront ScriptTag. Уже установленные теги смогут работать ещё пять месяцев, но 1 марта 2027 года платформа полностью перестанет добавлять их на страницы магазина.
Первая дата опаснее второй. После 1 октября старый чат, бейдж или трекер может выглядеть исправным, хотя новая установка, смена URL или восстановление конфигурации уже не сработают. Владельцу магазина пора выяснить, какие функции витрины зависят от приложений; разработчику — выпустить замену и контролировать её активацию в каждой опубликованной теме.
Короткий ответ: две даты и контролируемая миграция
| Дата | Изменение Shopify | Риск для бизнеса |
|---|---|---|
| 1 октября 2026 | scriptTagCreate и scriptTagUpdate возвращают ошибку разрешения во всех версиях API; REST POST и PUT тоже перестают работать | Новая установка, новый адрес скрипта или восстановление конфигурации не могут опираться на старый механизм |
| 1 марта 2027 | Shopify больше не добавляет на storefront ни один существующий ScriptTag | Перестаёт загружаться зависимый виджет, персонализация или сбор событий |
Чтение и удаление останутся доступными, поэтому приложение сможет проверить и убрать собственные записи. Старая версия Admin API не отсрочит изменение. С 1 октября Shopify также может показывать предупреждение при установке приложения, если оно использует ScriptTag, но не содержит theme app extension или веб-пикселя.
Не путайте ScriptTag и Shopify Scripts. ScriptTag — ресурс Admin API для загрузки удалённого JavaScript на витрине или старой странице статуса заказа. Shopify Scripts был отдельным Plus-инструментом на Ruby для скидок, доставки и платежей; он перестал выполняться 30 июня 2026 года. Поле Additional scripts и checkout.liquid также имели отдельный график перехода на Checkout Extensibility.
Сначала определите работу кода, а не ищите слово “script”
Мартовское отключение касается JavaScript, который ресурс ScriptTag добавляет на страницы online store. Оно не удаляет обычный код темы, поддерживаемое расширение темы, веб-пиксель, Shopify Functions или серверные webhooks. Но в одном магазине могут одновременно применяться все эти способы, поэтому имя файла не доказывает его происхождение.
Опишите каждую зависимость через её наблюдаемую функцию:
- интерфейс: чат, popup, бейдж, отзывы, таблица размеров или блок рекомендаций;
- поведение без фиксированного места: персонализация, accessibility-виджет, валюта или эксперимент;
- измерение: просмотр страницы и товара, добавление в корзину, checkout и покупка;
- изменения страницы оформления или статуса заказа;
- серверная логика: скидки, antifraud, fulfilment, синхронизация каталога или webhooks.
Так код не попадёт в неподходящий механизм. Аналитический тег не следует воспроизводить как виджет, читающий DOM. Скидке не место в app embed. А визуальный компонент не заработает в веб-пикселе: песочница пикселя не предоставляет полноценный доступ к странице.
Сведите доказательства продавца и разработчика в один реестр
В Shopify нет единого экрана со всеми зависимостями. Создайте таблицу: приложение или поставщик, домен скрипта, бизнес-функция, страницы, ответственный, новый механизм, состояние в published theme и результат теста. Соберите данные из четырёх источников.
- Приложения и договоры. Спросите каждого поставщика, использует ли текущая версия ScriptTag и есть ли уже app embed, app block или web pixel. Нужны дата релиза и сценарий проверки, а не общая фраза «совместимо с Shopify».
- Опубликованная витрина. Запишите Network-запросы и исходный код на главной, в коллекции, карточке, корзине и аккаунте. Сопоставьте незнакомые JS-домены с поставщиками. Повторите без авторизации и с разными решениями по cookies.
- Тема и Customer events. Проверьте Theme settings → App embeds, app blocks в нужных шаблонах, ручные изменения кода и Settings → Customer events. Одна система аналитики не должна незаметно работать из нескольких мест.
- API приложения. Поддерживающая команда должна получить собственные ScriptTags, сохранить
id,src,displayScopeи настройку кеша и указать замену для каждой записи. Перед удалением сохраните датированный экспорт.
Статус installed не доказывает, что компонент работает. После установки app embed по умолчанию выключен и активируется отдельно в каждой теме. Публикация сезонной или обновлённой темы способна снова отключить уже проверенную замену.
Выберите правильную поверхность Shopify
| Старая функция | Основная замена | Критическое ограничение |
|---|---|---|
| Плавающий виджет или код на большинстве страниц | Theme app extension с app embed block | Продавец должен сохранить активацию; состояние связано с опубликованной темой |
| Отзывы, бейдж или UI внутри секции | App block | Нужны JSON-шаблон и секция с поддержкой app blocks |
| Аналитика, реклама, поведенческие события | Web pixel app extension; custom pixel только при необходимости | Песочница, Shopify customer events и сигналы согласия |
| Интерфейс статуса заказа | Customer account UI extension | Миграция storefront ScriptTag не возвращает доступ к checkout |
| Скидки, доставка, платежи | Shopify Functions или поддерживаемая серверная логика | Авторитетную цену нельзя рассчитывать в браузере |
App embed работает и в vintage themes, и в Online Store 2.0. Его можно добавить в head или body и ограничить выбранными шаблонами. App block лучше подходит, когда продавец должен разместить видимый компонент внутри секции страницы. После установки дайте deep link, который откроет редактор текущей темы с подготовленной активацией, и объясните, что изменения нужно просмотреть и сохранить.
Отдельный случай — custom apps, созданные непосредственно в Shopify Admin. По документации Shopify они не поддерживают app extensions. Для такого ScriptTag может понадобиться нормально распространяемое приложение или, если расширение невозможно, контролируемая правка темы. Код темы может остаться после удаления приложения и помешать обновлениям, поэтому оформите это как исключение с владельцем и планом удаления.
Не замените будущий сбой двойным выполнением
Безопасная последовательность Shopify: создать theme app extension, отправить продавца по deep link, подтвердить active-состояние в published theme и лишь затем удалить ScriptTag. Если удалить раньше, появится разрыв. Если надолго оставить оба варианта, виджет отрисуется дважды, обработчики событий продублируются, а конверсии могут удвоиться.
Разработчик может использовать app.extensions() в Shopify Admin и отличить active от available. Для фоновой проверки опубликованной темы можно прочитать config/settings_data.json с разрешением read_themes. Проверку нужно повторять после каждой публикации темы.
Храните состояние миграции для каждого магазина: legacy_only, replacement_available, replacement_active, dual_run, legacy_removed, verified. Ограничьте dual run по времени и явно настройте дедупликацию событий. После 1 октября старый ScriptTag уже нельзя считать надёжным способом отката.
Перестройте аналитику вокруг событий, согласия и сверки
Web pixels получают customer events через контролируемый API Shopify. App pixel работает в strict sandbox, custom pixel — в lax sandbox. Старый код, читающий или меняющий DOM верхней страницы, может не заработать; даже URL внутри sandbox способен отличаться от адреса витрины. Для каждого нужного поля найдите документированное стандартное или собственное событие.
Web pixel app extensions учитывают сигналы Customer Privacy API. В регионах, где нужно согласие, callbacks запускаются после него, а зарегистрированные ранее события воспроизводятся. Это полезный механизм, но не автоматическая юридическая или аналитическая корректность. Проверьте синхронизацию стороннего cookie-баннера с Shopify и согласуйте модель данных со специалистом по privacy.
- Одно действие должно создавать одно нужное событие: page view, product view, add to cart, checkout start и purchase.
- Сверьте event ID, order ID, валюту, сумму, скидку, налог и доставку.
- Протестируйте согласие, отказ, частичный выбор и изменение решения.
- Сравните конверсии рекламной платформы с заказами Shopify за согласованное окно.
Цель — не одинаковые числа во всех системах, а объяснимая разница, отсутствие дублирующихся маршрутов и сигнал, когда отклонение выходит за согласованный порог.
Релизные условия для каждой зависимости
| Проверка | Условие прохождения |
|---|---|
| Полнота | У каждого тега есть владелец, функция и решение: замена или удаление |
| Активация | Замена active именно в published theme, а не только установлена или включена в черновике |
| Маршруты | Главная, коллекция, товар, корзина, поиск, аккаунт и локали работают на mobile и desktop |
| Дубли | Один экземпляр виджета и одно нужное событие аналитики |
| Privacy | Согласие, отказ, частичный и изменённый выбор соответствуют политике |
| Скорость | Network, LCP, INP и JavaScript cost не выходят за релизный бюджет |
| Новая тема | Публикация темы запускает проверку активации и инструкцию продавцу |
| Удаление | Legacy-запрос исчез, замена наблюдаема, откат документирован |
Для UI проверьте клавиатуру, focus, reduced motion, ширину экрана и переводы. Shopify рекомендует сокращать стартовый JavaScript и загружать некритичный код после взаимодействия. Миграция — хороший момент убрать забытые сервисы и лишний глобальный код, а не воспроизводить старую нагрузку.
План на семь дней до 1 октября
- День 1: перечислите приложения, ScriptTag-записи, запросы витрины, Customer events и правки темы.
- День 2: классифицируйте функции и выберите app embed, app block, web pixel, UI extension, Function или удаление.
- День 3: получите сроки от поставщиков; назначьте владельцев custom и заброшенных интеграций.
- Дни 4–5: выпустите extension или pixel, deep link, проверку status, consent mapping и telemetry.
- День 6: включите замену на контрольном магазине, устраните дублирование и удалите соответствующий тег после доказательства.
- День 7: проверьте пути, конверсии, privacy и performance; включите alerts на legacy-вызовы и inactive embeds.
Если поставщик не отвечает до 1 октября, зафиксируйте риск и fallback. Старый тег может работать до марта, но не создавайте новую бизнес-зависимость от механизма, который уже нельзя нормально переустановить или исправить.
Частые вопросы
Все ли приложения Shopify перестанут работать 1 октября 2026 года?
Нет. Уже установленные storefront ScriptTags могут работать до 1 марта 2027 года. 1 октября прекращаются создание и обновление. Приложения на поддерживаемых extensions, pixels или server-side механизмах эта конкретная смена не отключает.
Поможет ли старая версия Shopify API?
Нет. Shopify прямо указывает, что запрет create и update действует для всех версий API.
Нужно ли переносить аналитический ScriptTag в app embed?
Обычно Shopify направляет аналитику, рекламу и поведенческие события в web pixel. App embed предназначен для кода и UI на витрине. Сначала проверьте необходимые события и ограничения sandbox.
Когда удалять старый ScriptTag?
После того как замена active в опубликованной теме и прошла критические сценарии. Одновременная работа может удвоить UI или аналитику; раннее удаление создаст сбой.
Что произойдёт после публикации новой темы?
App embed включается отдельно для каждой темы. Проверьте новую published theme и при необходимости проведите продавца через сохранение в theme editor.
Источники и дата проверки
Проверено 23 сентября 2026 года по официальным материалам Shopify: обзор прекращения ScriptTag, график для storefront, миграция на theme app extensions, активация и конфигурация, web pixels и consent, инструкция по переносу пикселей, отдельный график Shopify Scripts и рекомендации по скорости приложений.
Rendframe может инвентаризировать зависимости витрины, создать нужное extension или event pipeline, провести замену с поставщиками и протестировать аналитику, privacy и скорость. Начните с аудита сторонних скриптов, добавьте проверку Core Web Vitals или пришлите домен Shopify-магазина и обезличенный список приложений.