修改Google跟踪代码管理器中的现有JavaScript

时间:2015-04-27 04:28:46

标签: google-tag-manager

我可以使用跟踪代码管理器更改此行:

function verify(...
        $.ajax({...
   ...
          success: function (data, textStatus, jqXHR) {
                if (data) {
   ...
                   if (data.imagePixelUrl) {
                        $("#footer").append("<img id='imagePixel' src='" + data.imagePixelUrl + "'/>");

到此:

function verify(...
        $.ajax({...
...
            success: function (data, textStatus, jqXHR) {
                if (data) {
...
                   if (data.imagePixelUrl) {
                        $("#footer").append("<img id='imagePixel' src='" + data.imagePixelUrl + "'/>");
                        dataLayer.push({'event' : 'success'});

新行是 dataLayer.push 。注意它是在成功调用AJAX命令的内部。

1 个答案:

答案 0 :(得分:0)

在jQuery中使用全局a jax event handlers,特别是成功处理程序。要辨别你的不同功能,你可以检查settings.url(即你调用的url来发出你的ajax请求,这个请求可能与每个函数不同)。 E.g:

$( document ).ajaxSuccess(function( event, xhr, settings ) {
  if ( settings.url == "ajax/urlone.html" ) {
     dataLayer.push({'event' : 'verfiy'});
  } else  if ( settings.url == "ajax/urltwo.html" ) {
     dataLayer.push({'event' : 'function two'});  
 } else {
     dataLayer.push({'event' : 'default'});  
 }
});

更新:我刚刚在Linkedin上发现了同样问题的解决方案(我假设同一个人问过),所以我不妨在此处添加。 &#34;排序-的溶液&#34;因为它没有回答问题,但解决了问题。

由于添加的像素是图像而图像具有onload事件,因此可以简单地将函数附加到该图像的onload处理程序。

<script> 
$('#imagePixel').on('load',function() { 
alert("I am pixel hear me roar"); 
}); 
</script>

一旦附加图像,就会触发。我用简单的设置对它进行了测试,看起来效果很好。