Предыдущая версия документации по внедрению digitalData доступна по ссылке digitaldata.readme.io

digitalData - это слой данных (JavaScript-объект), в котором хранится информация в формате имя-значение. Значением может служить число, строка, другой объект, со своей структурой или массив (ряд однотипных объектов).

Можно представить, что объект - это шкаф с ящиками, подписанными уникальными именами. В каждом ящике могут находиться документы, также имеющие свои имена. Доступ к информации осуществляется по пути к документу, лежащему в ящике (‘имя шкафа’.’имя ящика’.’имя документа’).

DigitalDataManager - это программа, которая умеет работать с объектом digitalData, заполненным в соответствии со стандартом. DigitalDataManager автоматически находит нужные документы в нужных ящиках, собирает их вместе и централизованно отправляет в другие хранилища документов - сторонние маркетинговые и аналитические системы.

Навигация по странице


Стандарт digitalData


digitalData - это стандарт, который разработала команда проекта DigitalDataManager. Когда все заполнено в соответствии со стандартом, вы, например, легко узнаете тип страницы, на которой сейчас находитесь. Просто обратитесь к объекту digitalData.page.type. Где,

  • digitalData - шкаф,
  • page - ящик,
  • type - документ. В документе может быть написано “home”, если вы находитесь на главной странице, “product” - на странице товара, “cart” - в корзине и т.д. Так как в документ можно записать любое значение, его называют переменной. Ниже пойдет речь о том, как правильно заполнить каждую переменную объекта digitalData для каждой страницы и каждого события, происходящего на сайте.

Подробнее о стандарте заполнения digitalData

Подключение библиотеки DigitalDataManager к сайту


Как было сказано выше, всей системой управляет программа (библиотека, скрипт) DigitalDataManager. Важно инициализировать библиотеку в правильном месте исходного кода вашего сайта. DigitalDataManager должен вызываться на каждой странице сайта.

Подробнее о подключении

События


Есть один ящик в шкафу digitalData, который называется events. digitalData.events - это массив, он может содержать в себе однотипные объекты - события. Доступ к каждому событию осуществляется по порядковому номеру добавления события в ящик, например digitalData.events[2]. Само событие - это объект, который содержит в себе информацию о том, что произошло. Например, при загрузке страницы сайта происходит событие Viewed Page. Оно самым первым добавляется в массив digitalData.events.
DigitalDataManager все время наблюдает за массивом digitalData.events. Как только в массив поступает событие, DigitalDataManager обогащает его информацией из других переменных объекта и отправляет в подключенные маркетинговые и аналитические системы.

Изменения в digitalData без перезагрузки страницы


Еще один ящик называется changes. digitalData.changes - это массив, который содержит в себе информацию о всех изменениях, которые произошли с переменными в digitalData без перезагрузки страницы. Например: изменился состав корзины, применился фильтр товаров в каталоге, пользователь изменил способ доставки и другие. Все эти изменения необходимо проводить с использованием метода changes.

Хотя это физически и возможно, не вносите изменения в объект digitalData без использования метода digitalData.changes[]

Подробнее о динамическом изменении digitalData

HTML-разметка страниц


DigitalDataManager умеет отслеживать взаимодействие пользователя с контентом сайта. Во время попадания определенных элементов сайта в поле видимости пользователя или при клики на ссылки и активные элементы, DigitalDataManager автоматически добавляет события в массив digitalData.events. Чтобы все работало корректно необходимо добавить специальные классы и data-атрибуты к отслеживаемым элементам.

Подробнее о HTML-разметке отслеживаемых элементов сайта