2013-05-26 1 views
2

Я экспериментировал с событиями автоматической генерации для менеджера тегов Google.auto генерировать события загрузки для менеджера тегов google

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

Я изменил его, чтобы создать GTM событие вместо события стандартной аналитики следующим образом:

if (typeof jQuery != 'undefined') { 
    jQuery(document).ready(function($) { 
     var filetypes = /\.(zip|exe|pdf|doc*|xls*|ppt*|mp3)$/i; 
     var baseHref = ''; 
     if (jQuery('base').attr('href') != undefined) 
      baseHref = jQuery('base').attr('href'); 
     jQuery('a').each(function() { 
      var href = jQuery(this).attr('href'); 
      if (href && (href.match(/^https?\:/i)) && (!href.match(document.domain))) { 
       jQuery(this).click(function() { 
        var extLink = href.replace(/^https?\:\/\//i, ''); 
        dataLayer.push ({'eventCategory' : 'External', 'eventAction' : 'click', 'eventLabel': extLink, 'event' : 'autoevent'}); 
        if (jQuery(this).attr('target') != undefined && jQuery(this).attr('target').toLowerCase() != '_blank') { 
         setTimeout(function() { location.href = href; }, 200); 
         return false; 
       } 
      }); 
     } 
     else if (href && href.match(/^mailto\:/i)) { 
      jQuery(this).click(function() { 
       var mailLink = href.replace(/^mailto\:/i, ''); 
       dataLayer.push({'eventCategory' : 'Email', 'eventAction' : 'click', 'eventLabel': mailLink, 'event' : 'autoevent'}); 
      }); 
     } 
     else if (href && href.match(filetypes)) { 
      jQuery(this).click(function() { 
       var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(href) : undefined; 
       var filePath = href; 
       dataLayer.push({'eventCategory' : 'Download', 'eventAction' : 'click', 'eventLabel': filePath', 'event' : 'autoevent'}); 
       if (jQuery(this).attr('target') != undefined && jQuery(this).attr('target').toLowerCase() != '_blank') { 
        setTimeout(function() { location.href = baseHref + href; }, 200); 
        return false; 
       } 
      }); 
     } 
    }); 
}); 
} 

Внутри GTM я бы слушать мероприятие под названием autoevent, который будет генерировать тег со значениями для категории, Действие и ярлык.

Я уже экспериментировал с сайтом wordpress.

Моей первой попыткой был описан вышеприведенный сценарий в голове. Код GTM был в корпусе, если требуется.

Использование отладчика GA в chrome, я получаю ошибку JS. Неотображается SyntaxError: Неожиданный идентификатор на линии, которая выдает push-файл.

Мой Javascript sux, поэтому я сделал предположение и объявил DataLayer над кодом GTM и переместил скрипт автогенерации под кодом GTM, чтобы он был полностью объявлен. Произошла такая же ошибка.

Любые предложения?

ответ

0

У вас есть дополнительные одиночные кавычки на Filepath:

dataLayer.push({'eventCategory' : 'Download', 'eventAction' : 'click', 'eventLabel': filePath', 'event' : 'autoevent'}); 
Смежные вопросы