Одностраничные приложения (SPA) исторически представляли ряд проблем для систем управления тегами. Как правило, SPA не полагаются на традиционные загрузки страниц браузера или традиционные просмотры страниц аналитики, чтобы предоставить пользователю совершенно новый набор контента. Базовая структура и поведение HTML и уровня данных в SPA гораздо более динамичны, чем на статических веб-страницах.

Launch от Adobe содержит ряд улучшений, которые значительно улучшают гибкость и контроль для реализации тегов и реакции на события в SPA. Вот краткое описание некоторых из наиболее важных улучшений, которые Launch предоставляет для SPA по сравнению с DTM. Более общий обзор преимуществ Launch по сравнению с DTM, не относящихся к SPA, доступен здесь. Спасибо Дженн Кунц за предоставленные ранее подробности по этой теме здесь и здесь. Мы получили ряд запросов на сравнение Launch с DTM при использовании SPA, поэтому я подумал, что было бы полезно разослать всем сводный список.

Для конкретных примеров реализации Adobe Consulting Services также предлагает справочные реализации для фреймворков Angular и React здесь.

1) Несколько триггеров для правила

Посещение пользователем SPA обычно начинается с одного события загрузки страницы браузера. Каждый последующий просмотр SPA запускается таким образом, что браузер не обнаруживает загрузку страницы.

Запуск позволяет указать несколько триггеров для правила. Это позволяет вам управлять одним правилом, содержащим несколько действий, которые должны запускаться при обнаружении любого из нескольких событий. Одним из примеров может быть запуск правила при загрузке библиотеки ИЛИ при любых изменениях истории.

2) Отправить маячок аналитики - это действие, которое вы контролируете

В DTM, если вы используете инструмент Analytics, маячок Adobe Analytics отправляется при каждой загрузке страницы в браузере. Любой, кто хотел подавить этот маяк, был вынужден использовать различные обходные пути.

Кроме того, в DTM правила прямого вызова и правила на основе событий имеют соотношение 1: 1 с включенными маяками. Если вы активируете одно из этих правил, срабатывает маяк.

При запуске действие «Отправить маяк» для Adobe Analytics - это незаметное действие, которое выполняется только в том случае, если оно указано (как определено Правилами). Вы не получите никаких маячков Analytics при загрузке страницы, прямом вызове или правилах на основе событий, если вы специально не добавите действие Analytics - Отправить маяк. Это дает вам более точный контроль над сбором данных, особенно в SPA.

3) Действие Clear Variables

Когда страница загружается, на ней создается экземпляр объекта Analytics. Любые заданные вами переменные сохраняются в этом объекте до тех пор, пока браузер не обновит страницу и на этой новой странице не будет создан новый объект Analytics.

В рамках SPA это вызывает проблемы, потому что вы взаимодействуете с одним и тем же объектом для нескольких маяков, которые необходимо отправить. Данные, которые были важны для одного вызова радиобуя, часто необходимо очищать перед следующим вызовом радиобуя.

Этим было сложно управлять с помощью специального кода в DTM, но в Launch расширение Analytics предоставляет простое действие для очистки переменных, поэтому вы можете убедиться, что нет проблем с нежелательной сохраняемостью.

4) Условия для всех типов правил

В DTM есть 3 различных типа правил:

  1. Правила загрузки страницы - срабатывает при каждой новой загрузке страницы браузера, когда загружается библиотека DTM.
  2. Правила прямого вызова - срабатывает, когда вы вызываете _s satellite.track («eventName») с соответствующим правилом прямого вызова в поисках «eventName».
  3. Правила на основе событий - срабатывает, когда указанное событие браузера (примеры: щелчки и нажатия клавиш) происходит на указанных элементах страницы, определенных селекторами CSS.

В DTM правила загрузки страниц и правила на основе событий могут определять условия, однако правила прямого вызова являются наиболее часто используемым типом правил в SPA. Это означает, что в DTM, если не используются пользовательские события, SPA не могут очень эффективно использовать условия.

В Launch все правила одинаковы. Загрузка страницы может запускать правило, но также может прямой вызов или любое другое событие, которое определяется любыми доступными расширениями. Кроме того, все правила могут указывать условия, исключения и действия.

Это означает, что разработчики могут пометить SPA одним вызовом _s satellite.track () во всех соответствующих местах, а пользователь Launch может создать несколько правил с одним и тем же событием, а затем использовать условия для определения контекста, например, какая «страница» выбрана, и принять соответствующие действия.

В Launch пользователи или разработчики также могут подключаться к любым существующим или добавленным настраиваемым типам событий без добавления дополнительных правил прямого вызова в SPA. Поскольку Launch может использовать эти существующие события, он сокращает работу по тегированию, обеспечивая большую гибкость и более точный сбор данных в вашем SPA или других динамических страницах. Launch также использует более современные подходы к обнаружению событий, подробности см. Здесь. Эти настраиваемые типы событий также обеспечивают более эффективную маркировку и более эффективный сбор данных при использовании современных интерфейсных фреймворков, таких как React, Angular, Meteor и т. Д.

5) Порядок правил

По мере увеличения количества используемых правил возрастает вероятность того, что несколько правил будут использовать одно и то же событие в качестве триггера. Подход к реализации, описанный в пункте 4 выше, позволяет делать это постоянно.

Когда несколько правил используют один триггер, часто важно указать, какое правило должно выполняться первым. Например, если два правила устанавливают переменные Analytics на основе условий на странице, а одно правило отправляет маяк, то правило маяка обязательно должно выполняться после правил, которые устанавливают переменные Analytics.

Запуск позволяет указать порядок выполнения правил при совместном использовании события. Это простой порядок приоритетов, так что правило с Порядком = 1 запускается перед правилом с Порядком = 2 и т. Д.

В этом примере сначала произойдет 1, затем 5, а затем 10.

Если вы какое-то время пользуетесь Launch, то этот список не должен вас удивлять. Если вы используете DTM и откладываете переход к запуску, потому что не знаете, как это повлияет на ваши SPA, то я надеюсь, что вы рассмотрите возможность опробовать предложения из этого списка и начать переход на запуск сегодня!