首页 文章

Ajax完成后的GTM触发器自定义标记

提问于
浏览
0

我试图在jQuery ajaxComplete事件之后触发GTM标记 .

标签1

它应该在 Page View 上触发,每次都在 ajaxComplete

console.log('cleanup')

页面视图触发器清晰简单 .

标签2

至于ajax我正在设置额外的标签来检测ajaxComplete:

var gtm = google_tag_manager[{{Container ID}}];
  $(document).ajaxComplete(function() {
    try {
      gtm.onHtmlSuccess({{HTML ID}});      
      console.log('success');
    } catch(e) {
      gtm.onHtmlFailure({{HTML ID}});
      console.log('failure')
    }
  });

它在ajaxComplete上触发onHtmlSuccess() . 清除标记设置为 Tag 1 以触发标记序列 .

这个标记组合应该像这样工作:

  • 页面加载 Tag 1 开火(这个标准没问题)

  • 关于ajaxComplete Tag 2 触发onHtmlSuccess()

  • onHtmlSuccess() Tag 1 应该再次触发(由于标记序列)

不清楚为什么第2和第3项没有按照我的预期运作 . 有什么建议?

1 回答

  • 0

    好吧,我是这样做的:

    第1步

    创建以下自定义HTML标记:

    <script>
      (function($) {
        $(document).ajaxStop(function() {
          dataLayer.push({
            'event': 'ajaxStop'
          });
        });
      })(jQuery);
    </script>
    

    它在jQuery ajaxStop事件上向dataLayer事件键添加了ajaxStop值 .

    第2步

    接下来添加事件名称值设置为ajaxStop的自定义事件标记:http://prntscr.com/i4swhv

    第3步

    创建以下自定义HTML标记:

    <script>
      var gtm = google_tag_manager[{{Container ID}}];
      try {
        gtm.onHtmlSuccess({{HTML ID}});
      } catch(e) {
        gtm.onHtmlFailure({{HTML ID}});
      }
    </script>
    

    将任何其他自定义HTML标记添加为此标记作为清除标记 .

    它完全符合我的需要 .

相关问题