В моем предыдущем посте мы говорили о различиях в обнаружении событий между DTM и Запуск платформы Adobe Experience. Сегодня давайте поговорим о различиях в сохранении данных.
Во-первых, важно понимать, когда данные сохраняются в DTM и Launch. Самый известный случай, который мы рассмотрим, - это постоянство значений элементов данных. При создании элемента данных пользователь может выбрать один из следующих периодов хранения: просмотр страницы, сеанс или посетитель. Независимо от того, какой вариант был выбран для продолжительности хранения, каждый раз, когда элемент данных используется на веб-сайте, его значение будет всегда извлекаться из источника. Каждый раз. Этим источником может быть переменная JavaScript, элемент DOM, параметр строки запроса или что-то еще в зависимости от типа элемента данных, который использовался для элемента данных.
Если значение элемента данных, полученное из источника, не null
или undefined
, будет использоваться значение элемента данных, но это значение также будет помещено в хранилище элементов данных. (подробнее об этом в двух встряхивании бараньего хвоста). Если значение элемента данных равно null
или undefined
, библиотека времени выполнения будет искать в хранилище элементов данных, чтобы определить, было ли значение ранее сохранено. Если значение найдено в хранилище, оно будет использоваться вместо null
или undefined
. Если значение не найдено в хранилище, используется значение элемента данных по умолчанию (значение по умолчанию настраивается пользователем). Этот процесс происходит каждый раз, когда используется элемент данных.
Мелкий шрифт: проверка на
null
илиundefined
, описанная выше, применима к запуску. В DTM проверка немного отличается.
Для тех, кто любит заглянуть под капот, вот код для этой логики в среде выполнения Launch.
Механизм сохранения для «хранения элементов данных» отличается в DTM и Launch. Посмотрим, чем они отличаются.
Печенье DTM +: вкусно, но с высоким содержанием жира
Cookies - разновидность Интернета - существуют уже довольно давно. По своей сути файл cookie - это фрагмент данных, который передается на сервер из браузера пользователя при каждом запросе. Без файлов cookie серверу было бы очень трудно запоминать что-либо о вас, когда вы просматривали веб-сайт или, возможно, покинули веб-сайт и вернулись через некоторое время. Например, вам будет очень сложно оставаться в системе при просмотре социальных сетей, потому что сервер потеряет вашу информацию о вас.
К сожалению, у файлов cookie есть довольно существенные недостатки для таких случаев, как DTM:
- Файлы cookie отправляются по каждому запросу, если домен, путь и другие параметры соответствуют тем, которые определены в файле cookie. Это означает каждый запрос HTML, каждый запрос изображения, каждый запрос сценария, каждый запрос AJAX и так далее.
- Максимальный размер файлов cookie составляет примерно 4 КБ (в зависимости от браузера), и существует ограничение на количество файлов cookie, которые могут храниться в одном домене. Клиенты столкнулись с этими ограничениями, что может привести к неожиданному поведению.
DTM использует файлы cookie для сохранения. Вот как DTM сохраняет значения элементов данных для каждого срока хранения элемента данных:
- Просмотр страницы: значения элементов данных хранятся в переменной JavaScript внутри библиотеки. Если пользователь переходит на новую страницу или обновляет страницу, значение отбрасывается.
- Сеанс: значения элементов данных сохраняются в файле cookie без директивы
expires
. Когда браузер закрывается, значение сбрасывается. - Посетитель: значения элементов данных сохраняются в файле cookie с директивой
expires
через два года в будущем. В идеале ценность будет сохраняться в течение двух лет, а затем будет отброшена.
Запуск + Интернет-хранилище: понравится даже детям
В Launch отказались от старого и пришли к новому. Поддержка старых браузеров была прекращена, что позволило запускать целевые браузеры, которые полностью поддерживают веб-хранилище (хранилище сеансов и локальное хранилище). Веб-хранилище было разработано для варианта использования Launch: сохранение клиентских данных на устройстве пользователя.
В отличие от файлов cookie, данные веб-хранилища не передаются на сервер, если вы активно не извлекаете данные из хранилища и не отправляете их. Он также имеет гораздо более высокий предел размера 5 МБ (опять же, в зависимости от браузера) и теоретически неограниченное количество элементов. Это отличные качества для сохранения данных в Launch.
Вот как Launch сохраняет значения элементов данных для каждого срока хранения элемента данных:
- Просмотр страницы: значения элементов данных хранятся в переменной JavaScript внутри библиотеки. Если пользователь переходит на новую страницу или обновляет страницу, значение отбрасывается.
- Сеанс: значения элементов данных сохраняются в хранилище сеанса. Когда вкладка браузера закрывается, значение сбрасывается.
- Посетитель: значения элементов данных сохраняются в локальном хранилище. Значение будет сохраняться бесконечно.
Другие сохраненные данные
И DTM, и Launch также сохраняются, независимо от того, включена ли отладка. Отладку можно включить, запустив _satellite.setDebug(true);
в консоли разработчика браузера или используя одно из различных расширений браузера, поддерживающих DTM или Launch. DTM и Launch хранят информацию о том, включена ли отладка, поэтому при отладке различных страниц своего веб-сайта или обновлении страницы вам не нужно повторно включать отладку.
И DTM, и Launch также сохраняют данные для некоторых условий, связанных с отслеживанием посетителей:
- Целевая страница
- Новый / вернувшийся посетитель
- Просмотры страниц
- Сессии
- Время на сайте
- Источник трафика
В Launch эти типы условий предоставляются расширением Core.
Базовые данные, обеспечивающие вышеуказанную функциональность, были перемещены из файлов cookie в веб-хранилище.
Где Launch хранит данные в веб-хранилище?
Вы можете найти содержимое веб-хранилища с помощью инструментов разработчика в любом из основных браузеров. В Chrome вы найдете веб-хранилище на вкладке "Приложение". В Firefox и Safari вы найдете его на вкладке «Хранилище». В Edge вы найдете его в средстве выбора ресурсов.
Каждый элемент данных в веб-хранилище состоит из ключа (или имени) и значения. Каждое значение элемента данных, которое хранит Launch, имеет ключ, который начинается с com.adobe.reactor.dataElements.
. Флаг, указывающий, включена ли отладка, можно найти с помощью клавиши com.adobe.reactor.debug
. Элементы данных, относящиеся к условиям отслеживания посетителей, имеют ключ, который начинается с com.adobe.reactor.core.visitorTracking.
.
Вы спросите, что вообще такое «реактор»? Это было кодовое название Launch до того, как наш отдел брендинга благословил название Launch. Мы продолжаем использовать его в наших технических деталях, чтобы не допустить возможных изменений в бренде.
Файлы cookie и веб-хранилище: другие заметные различия
При переходе от файлов cookie к веб-хранилищу следует иметь в виду еще несколько отличий:
- Хотя существует некоторая гибкость в объявлении области cookie (например, какие поддомены могут получить к ней доступ), веб-хранилище всегда ограничено комбинацией протокола, имени хоста и номера порта (как определено в политике одного происхождения). страницы, на которой в данный момент находится пользователь. Другими словами, веб-хранилище для одного поддомена отделено от хранилища другого поддомена. Веб-хранилище для сайта, доставляемого по HTTPS, отличается от хранилища сайта, доставляемого по HTTP (еще одна причина всегда перенаправлять URL-адреса HTTP на HTTPS).
- Сеансовые файлы cookie (файлы cookie без директивы
expires
) доступны во всех вкладках браузера и действуют, пока браузер остается открытым. Между тем, данные Session Storage ограничены вкладкой браузера и живут, пока вкладка браузера остается открытой.
Мы надеемся, что вам понравится новая и улучшенная функция сохранения данных в Launch! 🚀