Проблема с отслеживанием ссылок в Adobe DTM

Я столкнулся с проблемой запроса изображения Adobe на вкладке сети, я могу правильно видеть результаты в консоли, но в то время как в запросе изображения я не вижу текущего значения Evar55. На самом деле есть проблема с отслеживанием ошибки Analytics - Evar55

Evar55 должен фиксировать значение фильтра, выбранного пользователями на странице результатов поиска и PLP.

Итак, теперь я написал код, который отлично работает в консоли, и я вижу результат, но на вкладке сети запрос изображения дает предыдущее значение, а не текущее значение фасета.

Здесь я делюсь с вами снимком экрана и кодом, пожалуйста, сообщите, в чем проблема.

В DTM я создал правило загрузки страницы — правило запуска условий при готовности DOM — затем редактор Adobe Analytics открывает редактор, который я вставил в этот код.


Код

var oldXHR = window.XMLHttpRequest;

function newXHR() {
    var realXHR = new oldXHR();
realXHR.addEventListener("readystatechange", function() {
if(realXHR.readyState==4 && realXHR.status==200){
           //run your code here
window.setTimeout(function() {
if(s.pageName && (s.pageName.indexOf('plp:')>-1 || s.pageName.indexOf('search')>-1)){
var PFF = document.getElementsByClassName('selected-categories')[0].innerText;
PFF_Final = PFF.replace(/ /g, '').replace(/:/g, '|');

if(PFF_Final.indexOf('Categories|')>-1 || PFF_Final.indexOf('search|')>-1){
console.log('N/A');
}
else if(PFF_Final && typeof PFF_Final !== 'undefined' && PFF !== 'null' && PFF !== ''){
//PFF_Final = PFF.replace(/ /g, '').replace(/:/g, '|');

   s.linkTrackVars = 'eVar91';
   s.eVar91 =  PFF_Final.trim();
//s.tl(this, 'o');
console.log(PFF_Final);
}

}
},1500);
        }
    }, false);
    return realXHR;
}
window.XMLHttpRequest = newXHR;

Примечание: - Я заменил Evar55 на Evar91, потому что Evar 55 уже используется.

введите здесь описание изображения

введите здесь описание изображения

Спасибо, Паял


person Payal Daryani    schedule 11.09.2017    source источник


Ответы (1)


По номинальной стоимости, непосредственная причина, по которой код, который вы разместили, не делает запрос, потому что вы закомментировали вызов s.tl...

Во-вторых, примечание: если вы фильтруете запросы изображений на вкладке сети, вы почти наверняка не увидите там запрос Adobe Analytics (AA), потому что, если только вы не используете очень древний браузер или у вас отключен javascript и используется <img>, он будет отображаться либо как запрос javascript, либо как запрос ajax (xhr) (в зависимости от версии библиотеки AA и продолжительности запроса).

Если вы все еще не видите запрос, попробуйте еще пару вещей. Один или несколько из них могут быть или не быть истинными/необходимыми, в зависимости от того, какую версию библиотеки AA вы используете:

1) Когда вы передаете this в качестве первого аргумента, это должен быть допустимый элемент привязки с атрибутом href <a href='..'></a>. Поскольку это неприменимо в контексте вашего опубликованного кода, попробуйте изменить первый аргумент на логическое значение true.

2) Добавьте третий аргумент к вызову s.tl. Этот аргумент должен быть описанием клика по ссылке, например. s.tl(true,'o','some link'); Это может быть что угодно; это то, что отображается в отчетах о собственных ссылках в AA (которые вы почти наверняка проигнорируете, вместо этого просмотрев этот отчет eVar91). Все версии библиотеки AA требуют этот третий аргумент, если вы хотите отслеживать его как вызов сервера кликов/взаимодействий. Без него в более поздних версиях AA он инициирует запрос как вызов просмотра страницы, но в более старых версиях библиотеки AA он вообще не инициирует вызов.

3) Опять же, в зависимости от вашей версии библиотеки AA, она не будет включать ничего выше eVar75. Я не помню точную версию AA, в которой был представлен eVar76+ (редактировать: похоже, начиная с AM1.4. Устаревший код H не поддерживается). В качестве быстрой проверки попробуйте использовать eVar75 или ниже, чтобы увидеть, отображается ли он в запросе. Примечание. Я помещаю это только для полноты картины, но я не думаю, что это ваша проблема, поскольку из вашего поста кажется, что вы, возможно, уже пробовали eVar55? Но можно и быть уверенным. Если это так, я бы предложил обновить библиотеку AppMeasurement до последней версии. Если по какой-то причине вы не можете этого сделать, и вам все равно нужно использовать eVar91, альтернативой является выталкивание его как переменной contextData, например s.contextData['eVar91']='foo';, а затем сопоставьте его с реальным eVar91 в правиле обработки в интерфейсе AA. Если ваша библиотека AA достаточно стара, что даже переменные contextData не работают (H23.2 или ниже), то я предлагаю вам сделать своим наивысшим приоритетом в жизни обновление до более новой версии библиотеки AA.

Если после всего этого вы все еще не видите вызов AA, просто введите s.t(true,'o','foo'); в консоль js. Вы видите http-запрос? Если вы не видите запроса, значит, у вас более глубокая проблема, не связанная напрямую с опубликованным кодом. Возможно, ваша библиотека AA отсутствует, или она не загружена до того, как это сработает, или находится в пространстве имен, отличном от пространства имен по умолчанию s. Но на самом деле нереально писать здесь множество случайных догадок, а не смотреть на сайт.

Если вы действительно видите запрос, то, по моему мнению, на данный момент у вас возникла проблема со временем. Возможно, происходит (повторная) загрузка страницы, и она не срабатывает? Но опять же, не очень возможно спекулировать на сайте, которого никто не видел.

person Crayon Violent    schedule 11.09.2017
comment
Привет @Crayon, я сделал то же самое, но все равно не вижу результата на вкладке сети. - person Payal Daryani; 18.09.2017
comment
Привет @crayon. Не могли бы вы помочь мне с этой проблемой со ссылкой на фильтр ... это очень важно. На самом деле я опубликовал новый способ, который является правильным. этот не связан с моим кодом. Поэтому я удалю это ... пожалуйста, пожалуйста, дайте мне ответ на мой сегодняшний вопрос о ссылке на фильтр. Я не могу сопоставить эвар. - person Payal Daryani; 11.10.2017
comment
@PayalDaryani, если это важно, то, возможно, вам стоит подумать о том, чтобы нанять кого-нибудь, чтобы он сделал это за вас? - person Crayon Violent; 11.10.2017
comment
Привет @crayon, но извини за это, я не это имел в виду. Критический может быть неправильным словом, которое я выбрал. еще раз извиняюсь. но действительно мне нужно от вас. - person Payal Daryani; 11.10.2017