Omniture events не запускает / отправляет данные через DTM при использовании методов отслеживания s.tl
Я использую Adobe Dynamic Tag Manager (DTM). У меня есть правило прямого звонка. я имею
- установить evars и реквизит с помощью графического интерфейса
- Я использую опцию "пользовательский код страницы" для отправки событий в АА с использованием JavaScript. Javascript имеет несколько операторов case и использует элементы данных.
Когда я использую st метод, например, отслеживаю просмотр страницы - да. Я вижу, как мои события запускаются, также как и события, и реквизиты отправляются - согласно цифровому импульсному отладчику.
Когда я использую метод s.tl, например, не отслеживать просмотр страницы - да. Я не вижу своих событий, но события и реквизиты отправляются в соответствии с регулярным отслеживанием.
Это известная ошибка? Обратите внимание, все хорошо с javascript, события устанавливаются и запускаются правильно, так что никаких проблем с JS. Помогите, пожалуйста.
1 ответ
За s.tl
Для вызовов AA требуется, чтобы большинство событий и переменных были "зарегистрированы" для одной или обеих из этих двух переменных: linkTrackVars
а также linkTrackEvents
,
DTM автоматически делает это, если вы присваиваете значения в одном из встроенных полей, но если вы извлекаете события и переменные в разделе пользовательского кода, вам также необходимо заполнить linkTrackVars
а также linkTrackEvents
,
linkTrackVars: все реквизиты, eVars и большинство других именованных переменных должны быть указаны здесь. Одно исключение pageName
, но это не повредит, чтобы включить его (AA автоматически включает его, чтобы отслеживать, какая страница s.tl
звонок произошел). Вы не должны включать префикс объекта, поэтому, например, вы должны использовать "prop1", а не "s.prop1". Если у вас есть более одной переменной, вы должны разделять запятой, без пробелов, то есть "prop1,eVar1". Если у вас есть события, которые вы хотите отслеживать, "события" должны быть включены в список (но не фактическое событие, а только имя переменной, то есть "prop1, events")
linkTrackEvents: помимо размещения ваших событий в s.events
Вы также должны поместить их в эту переменную. Обычно вы можете просто обмануть это s.linkTrackEvents=s.events;
и назовите это днем.
Пример:
s.prop1='foobar';
s.events='event1';
s.linkTrackVars='prop1,events';
s.linkTrackEvents='event1';
Более подробную информацию можно найти в онлайн-документации по отслеживанию ссылок AA:
http://microsite.omniture.com/t2/help/en_US/sc/implement/link_variables.html
НОТА:
Некоторое время назад, была фактически ошибка с DTM против установки переменных в пользовательском разделе кода для s.tl
звонки внутри правила. В основном DTM перезаписывал linkTrackVars
а также linkTrackEvents
даже если вы ничего не вставляете во встроенные поля, значит, нет способа переопределить или добавить их. Короче говоря, было невозможно установить переменные в разделе пользовательского кода для s.tl
звонки. С тех пор Adobe признала и исправила эту ошибку.
Тем не менее, все еще есть ошибка с DTM, правильно устанавливающим события и переменные, которые вы устанавливаете в пользовательских разделах кода в конфигурации основного инструмента против правил. По неясным для меня причинам DTM создает отдельный объект AA при срабатывании правила. Он захватывает любые переменные, которые вы устанавливаете во встроенных полях в конфигурации основного инструмента, но он не учитывает ничего, что вы установили в пользовательских полях кода в основной области конфигурации. Adobe должна исправить это, сославшись на существующий объект АА вместо создания нового экземпляра объекта.
Между тем, если это ваша ситуация, то единственный обходной путь - отключить AA для вашего правила и вместо этого создать новый сценарий в разделе Javascript / сторонних тегов правила. В скрипте установите все переменные AA, которые вы хотите отслеживать, включая linkTrackVars
а также linkTrackEvents
, а затем вызвать s.t()
или же s.tl()
согласно документации АА. Другими словами, вы должны обходить встроенные в DTM элементы AA и просто устанавливать и запускать AA вручную.
Если вы полагаетесь на элементы данных для вставки переменных во встроенные поля (например, %foobar%
) тогда вы можете вместо этого использовать _satellite.getVar('foobar')
в пользовательском коде для ссылки на элемент данных.