Выявление и устранение ротации сессионных файлов cookie на вашей витрине
Ротация файлов cookie означает, что какой-то элемент на вашей витрине пересоздает сессионный файл cookie в течение одного посещения. Каждое новое значение учитывается как отдельная сессия, поэтому ваш магазин регистрирует больше сессий, чем было на самом деле. Поскольку сессии являются знаменателем при расчете коэффициента конверсии, ваш коэффициент конверсии занижается. При этом количество заказов, продаж и клиентов не затрагивается.
Shopify использует файл cookie _shopify_s для идентификации сессии браузера в вашем магазине, а платформа Shopify Analytics группирует активность посетителя в сессии с помощью этого файла cookie. У сессий также есть ожидаемые границы, такие как период неактивности и полночь по UTC, которые рассматриваются в материале Сравнение сессий и посетителей.
Вы можете проверить в своем браузере, происходит ли ротация файла cookie на вашей витрине, определить ее причину, а затем проверить работу исправления. Ротация возникает из-за собственного кода вашей витрины или приложений, поэтому ее устранение выполняется на вашей витрине, а для некоторых проверок требуется доступ к коду вашей темы.
На этой странице
Требования
Для выполнения проверок, описанных на этой странице, вам понадобятся следующие инструменты:
- Десктопный браузер с инструментами разработчика, например Chrome, Edge, Firefox или Safari.
- Доступ к коду темы вашей витрины, пользовательским скриптам или конфигурации приложений.
- Доступ к настройкам платформы управления согласием (если она используется в вашем магазине).
Как работают сессионные файлы cookie Shopify
Следующие файлы cookie регистрируют активность посетителей на вашей витрине:
| Файл cookie | Описание |
|---|---|
_shopify_s | Идентифицирует комбинацию сессии браузера и магазина. Имеет скользящий срок действия в 30 минут с момента последнего использования. |
_shopify_y | Обеспечивает работу Shopify Analytics. Срок действия истекает через 1 год. |
Когда сессионный файл cookie устанавливается в браузере посетителя, он содержит уникальное значение, например 1a2b3c4d-1a2b-3c4d-1a2b-3c4d5e6f7a8b. Когда срок действия сессии истекает и начинается новая сессия, файл cookie меняется на другое уникальное значение, например 5e6f7a8b-5e6f-7a8b-5e6f-7a8b9c0d1e2f.
Поскольку _shopify_s имеет скользящий срок действия, каждое действие посетителя обновляет его. На витрине без ротации значение остается неизменным на протяжении всего посещения и истекает только после 30 минут неактивности. Если значение меняется в процессе посещения, активность до и после изменения засчитывается как две разные сессии.
Проверка ротации сессионного файла cookie
Вы можете запустить проверку ротации файлов cookie в браузере. Вы не сможете диагностировать ротацию файлов cookie на основе отчетов Аналитики, поскольку в них отображается общее количество сессий, а не причина создания каждой из них. Выполняйте проверку в приватном окне браузера или в режиме инкогнито, чтобы существующие файлы cookie и расширения браузера не повлияли на результат.
То, откуда вы запускаете проверку, имеет значение. Ваш баннер для предоставления согласия отображается только в регионах, для которых настроен ваш магазин, и чаще всего ротация происходит именно в процессе предоставления согласия. Поэтому при запуске проверки из региона, где баннер не отображается, проблема может быть не обнаружена. Убедитесь, в каких регионах ваш магазин запрашивает согласие, а затем запустите проверку из одного из них. Если вы не можете открыть сайт из этого региона самостоятельно, попросите об этом коллегу или разработчика. Чтобы узнать, в каких регионах ваш магазин запрашивает согласие, ознакомьтесь с материалом Управление cookie-баннером.
Чтобы подтвердить поведение файлов cookie, запустите проверку на своей витрине для каждого из статусов согласия:
- Без ответа на баннер
- После согласия на использование файлов cookie
- После отказа от предоставления согласия
Шаги:
- Откройте свою витрину в приватном окне браузера или в режиме инкогнито. Убедитесь, что вы выполняете проверку для подходящего региона и определились со статусом согласия, который хотите проверить.
- Откройте инструменты разработчика в вашем браузере.
- Откройте панель файлов cookie в инструментах разработчика вашего браузера:
- В Chrome перейдите в Приложение > Хранилище > Файлы cookie.
- В Firefox перейдите в Хранилище > Файлы cookie.
- В Safari сначала включите меню разработчика: Настройки > Дополнительно > Показывать функции для веб-разработчиков, а затем перейдите в Разработка > Показать веб-инспектор > Хранилище > Файлы cookie.
- Инструкции для других браузеров можно найти во вспомогательной документации вашего браузера.
- Выберите свой домен.
- Найдите в списке
_shopify_sи запишите первые несколько символов его значения. Если_shopify_sнет в списке, продолжайте просмотр и наблюдайте за панелью Файлы cookie в течение 30–60 секунд, прежде чем делать выводы о поведении файлов cookie. - Не закрывая инструменты разработчика, просматривайте витрину в обычном режиме и перейдите на 3 или 4 страницы, включая страницу товара и корзину.
- Проверяйте значение
_shopify_sпосле каждой страницы, а также после того, как проведете на одной странице 1 минуту.
В зависимости от ваших действий с баннером для предоставления согласия на использование файлов cookie, файлы cookie обычно ведут себя следующим образом:
- Файл cookie не должен отображаться до того, как посетитель ответит на баннер для предоставления согласия, а также после того, как он ответит отказом.
- Файл cookie должен появиться после того, как посетитель даст согласие; это единственный статус согласия, при котором создается файл cookie.
Если файл cookie по-прежнему отсутствует после предоставления согласия или если ваш магазин не запрашивает согласие в регионе, из которого вы проводите тестирование, значит, какой-то элемент на вашей витрине блокирует или удаляет его. Ознакомьтесь с материалом Выявление причины ротации файлов cookie.
Во время проверки на предмет ротации файлов cookie на ротацию указывает следующее поведение:
- Значение файла cookie изменяется в любой момент во время посещения.
- Файл cookie, который то появляется, то исчезает.
Определите причину ротации файлов cookie
Shopify не может определить, что вызывает ротацию файлов cookie, так как эта логика выполняется на вашей витрине. Shopify также не может связать это поведение с конкретным приложением или продавцом.
Чтобы определить причину ротации файлов cookie, поочередно проверьте следующие области в рамках поиска неисправностей. Обработка согласия является причиной большинства случаев ротации на витринах Liquid:
- Проверьте поведение платформы для управления согласием.
- Проверьте конфигурацию cookie-баннера.
- Проверьте скрипты и логику витрины.
- Проверьте общие условия хранения и поведение файлов cookie.
Поведение платформы для управления согласием
Если в вашем магазине используется стороннее приложение для управления согласием, начните отсюда. Файл _shopify_s относится к категории файлов cookie для отчетов и аналитики в политике в отношении файлов cookie Shopify, а не к строго необходимым файлам cookie, поэтому приложение для управления согласием, которое блокирует или удаляет аналитические файлы cookie, влияет на него.
Шаги:
- Определите, какое приложение для управления согласием используется в вашем магазине.
- В настройках приложения проверьте, к какой категории относится файл
_shopify_sи что приложение делает с файлами cookie в этой категории. - Убедитесь, что приложение не очищает и не создает файлы cookie заново при каждой загрузке страницы вместо того, чтобы единожды обработать выбор посетителя.
Чтобы это исправить, свяжитесь с разработчиком приложения, чтобы приложение передавало Shopify информацию о выборе каждого посетителя через Customer Privacy API, а не очищало и создавало заново аналитические файлы cookie при каждой загрузке страницы. Не уменьшайте частоту применения выбора посетителя приложением, так как отказ должен действовать на протяжении всего посещения. Рекомендуемые настройки описаны в разделе о настройке cookie-баннера с помощью стороннего приложения для cookie-баннеров.
Исправление инструмента согласия, который никогда не сообщал Shopify о выборе посетителей, изменит не только способ группировки активности по сессиям. После исправления начнут применяться параметры выбора, о которых ранее не сообщалось, поэтому сбор необязательных данных для отказавшихся посетителей будет прекращен, и в результате количество ваших сессий может снизиться.
Конфигурация cookie-баннера
В регионах, где ваш магазин запрашивает согласие, Shopify не устанавливает аналитические файлы cookie, пока посетитель не примет их. За пределами этих регионов cookie-баннер по умолчанию не активен, поэтому стабильное значение файла _shopify_s до любого взаимодействия с баннером является ожидаемым поведением. Чтобы узнать, в каких регионах ваш магазин запрашивает согласие, ознакомьтесь с разделом об управлении cookie-баннером.
Там, где требуется согласие, ротация происходит в окне до того, как посетитель примет решение. Вместо того чтобы не трогать файл cookie, инструмент согласия постоянно удаляет и создает его заново, и каждый цикл регистрируется как новая сессия.
Шаги:
- Откройте свою витрину в окне приватного просмотра и ничего не нажимайте на баннере для предоставления согласия.
- Понаблюдайте за файлом
_shopify_sна панели Cookies браузера в течение 30–60 секунд. - Обратите внимание, не меняется ли постоянно значение и не исчезает ли и появляется снова файл cookie в то время, пока баннер остается без ответа.
- Ответьте на запрос в баннере, а затем проверьте, прекратится ли это поведение.
Чтобы это исправить, проверьте, в каких регионах ваш магазин настроен на запрос согласия, и убедитесь, что баннер передает Shopify информацию о выборе каждого посетителя через Customer Privacy API, а не удаляет и создает файлы cookie заново при открытом баннере. Если аналитика для этого посетителя заблокирована, но файл cookie все равно появляется снова, значит, его записывает что-то другое, а не инструмент согласия. В этом случае проверьте остальные области на этой странице.
Скрипты и логика витрины
Не вся ротация вызвана обработкой согласия. Любой скрипт или логика витрины, которая удаляет, блокирует, чередует или пересоздает файл _shopify_s во время обычного посещения, вызывает ротацию. Например, если файл cart.js вызывался примерно каждые 10 секунд, значения файла cookie пересоздавались синхронно с ним. В другом примере причиной ротации стала неверная классификация домена, не имеющая отношения к инструментам согласия.
Шаги:
- Откройте вкладку Network в инструментах разработчика, а затем выберите Preserve log.
- Оставайтесь на одной странице в течение 60 секунд, не взаимодействуя с ней.
- Следите за значением файла
_shopify_sна панели Cookies и проверяйте наличие любых запросов, повторяющихся через короткие промежутки времени, в особенностиcart.js. - Каждый раз при изменении значения обращайте внимание на то, какой запрос или скрипт выполнялся непосредственно перед этим изменением. Запрос, который повторяется без изменения значения, не является причиной.
- Выполните поиск по коду темы, пользовательским скриптам и контейнерам диспетчера тегов по запросам
document.cookieи_shopify_s. - Убедитесь, что ваша витрина обслуживается с единого канонического домена. На панели Cookies проверьте, отображается ли файл
_shopify_sнесколько раз под разными доменами. - Проверьте недавно установленные приложения и последние изменения темы. Если это поведение началось недавно, сопоставьте его с этими изменениями.
Чтобы это исправить, скорректируйте код, который записывает файл cookie, и убедитесь, что перенаправления ведут на одно каноническое имя хоста до запуска аналитики. Ограничивайте или удаляйте повторяющийся запрос только после того, как убедитесь, что он меняет значение файла _shopify_s, так как функции корзины, товарных запасов и чата могут выполнять опрос на законных основаниях, не затрагивая файл cookie.
Исправление скрипта, приложения или домена, которые перезаписывают файл cookie, меняет только то, как существующая активность посетителей группируется по сессиям. Собираемые данные при этом не меняются.
Условия хранения и поведение файлов cookie
Ротацию не удалось связать напрямую с атрибутами файлов cookie, но этот вариант стоит исключить после того, как будут проверены остальные области.
Шаги:
- На панели Cookies проверьте значения Domain, Path, Expires и SameSite для файла
_shopify_s, а не только его само значение. - Убедитесь, что ничто не перезаписывает файл cookie с меньшим сроком жизни или с более узким путем, чем задает Shopify.
Чтобы это исправить, удалите код или настройку приложения, которая перезаписывает атрибуты файла cookie.
Проверка исправления
Убедитесь в действенности исправления, проверив файл cookie, а не отчеты раздела «Аналитика». Значение _shopify_s, которое остается стабильным на протяжении всего посещения, сигнализирует о том, что исправление сработало. Данные сессий, записанные до внесения исправлений, не обрабатываются повторно, поэтому в ваших исторических отчетах по-прежнему будет отображаться завышенное количество сессий.
Повторите шаги по проверке того, происходит ли ротация сессионного файла cookie, в новом окне приватного просмотра или режиме инкогнито и убедитесь в получении следующих результатов:
| Проверка | Ожидаемый результат |
|---|---|
| Просмотрите 3 или 4 страницы, не отвечая на запрос в баннере для предоставления согласия. | Файл _shopify_s не задан или имеет стабильное значение. |
| Повторите проверку после предоставления согласия. | Значение файла _shopify_s стабильно. |
| Повторите проверку после отказа от предоставления согласия. | Файл _shopify_s не задан или имеет стабильное значение. |
| Перейдите со страницы товара в корзину, а затем вернитесь к просмотру. | Значение файла _shopify_s сохраняется. |
| Оставайтесь на одной странице 60 секунд и следите за вкладкой Network. | Ни один повторяющийся запрос не изменяет значение _shopify_s. |
Дальнейшие действия, если ротация продолжается
Ротация вызвана кодом или конфигурацией, которые Shopify не контролирует, поэтому их исправлением должен заниматься тот, кто поддерживает этот код. Если вы выполнили все действия на этой странице, а ротация _shopify_s продолжается, обратитесь к ответственной стороне:
- Если проблема связана с платформой для управления согласием или другим приложением, свяжитесь с разработчиком на странице этого приложения в Shopify App Store.
- Если дело в индивидуальном коде темы, пользовательских скриптах или контейнерах менеджера тегов, обратитесь к разработчику или в агентство, которое их обслуживает.
Укажите следующие данные, чтобы можно было воспроизвести это поведение:
- Состояния согласия, которые вы протестировали, и что произошло в каждом из них.
- Зафиксированные вами значения
_shopify_s, а также страница или действие, предшествовавшие каждому изменению. - Любой повторяющийся запрос, изменивший значение, и инициировавший его скрипт.
- Изменения, которые вы уже внесли.