2015-07-28 2 views
0

Я хочу использовать Диспетчер тегов Google (GTM), чтобы определить, было ли установлено виртуальное представление страницы в сценарии Google Analytics (GA) (который находится в <head>) , Код GA НЕ устанавливается через GTM.Найти конкретную строку сценария с использованием JS/jQuery в GTM

Виртуальный просмотр страницы выглядит следующим образом: ga('send', 'pageview', '/virtual/example1/');

Я хочу GTM искать именно на каждой странице только ga('send', 'pageview', '/virtual

Есть линия JS или JQuery я могу использовать, чтобы определить эту линию. Такие вещи, как getElementById(), не работают, потому что нет ID. Предположим, что он может использовать innerHTML на каком-то этапе, но не уверен, что все это будет круто.

ответ

0

От верхней части головы это должно быть что-то вроде этого (возможно, потребуется немного утонченности, но принцип, как звук, как эти вещи становятся):

search = "ga('send', 'pageview', '/virtual/example1/');"; 
var scripts = document.getElementsByTagName("script"); 
for (var i=0, l=scripts.length; i<l; ++i) { 
if(scripts[i].src.length > 0) continue; 
    if (scripts[i].innerHTML.indexOf(search) != -1) { 
    alert("yay, virtual pageview!"); 
    } 
} 

«Поиск» переменная содержит строку ты ищешь. Переменная «scripts» получает все теги скриптов на странице. Цикл вычисляет внутренний HTTML текущего тега скрипта, если он не содержит атрибут источника (теги сценария с исходными атрибутами не содержат встроенных скриптов, которые могут быть оценены). Если переменная «search» содержится внутри внутреннегоHTML оцененного тега сценария, вы можете делать все, что хотите (в моем случае это предупреждение, в GTM вы, вероятно, захотите нажать пользовательское событие на уровень данных).

Для этого нужно перейти в собственный HTML-тег, если он запущен при загрузке страницы, он будет изучать только теги, которые предшествуют коду GTM.

Смежные вопросы