Ajax 完成后 GTM 触发自定义代码
GTM Trigger Custom Tag after Ajax Complete
我正在尝试在 jQuery ajax完成事件后触发 GTM 代码。
标记 1
它应该在 Page View 和每次 ajaxComplete:
时触发
console.log('cleanup')
页面查看触发器清晰简单。
标记 2
至于 ajax 我正在设置额外的标签来检测 ajax完成:
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')
}
});
它在 ajax 完成时触发 onHtmlSuccess()。
清除标记设置为 标记 1 以触发标记序列。
这个标签组合应该像这样工作:
- 在页面加载时 标记 1 触发(这部分没问题)
- 在 ajax完成 标记 2 时触发 onHtmlSuccess()
- 在 onHtmlSuccess() 之后 标签 1 应该再次触发(由于标签序列)
不清楚为什么第 2 项和第 3 项没有像我预期的那样工作。
有什么建议吗?
嗯,我是这样做的:
第 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 标记作为清理标记添加到此标记。
它完全满足了我的需要。
我正在尝试在 jQuery ajax完成事件后触发 GTM 代码。
标记 1
它应该在 Page View 和每次 ajaxComplete:
时触发console.log('cleanup')
页面查看触发器清晰简单。
标记 2
至于 ajax 我正在设置额外的标签来检测 ajax完成:
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')
}
});
它在 ajax 完成时触发 onHtmlSuccess()。 清除标记设置为 标记 1 以触发标记序列。
这个标签组合应该像这样工作:
- 在页面加载时 标记 1 触发(这部分没问题)
- 在 ajax完成 标记 2 时触发 onHtmlSuccess()
- 在 onHtmlSuccess() 之后 标签 1 应该再次触发(由于标签序列)
不清楚为什么第 2 项和第 3 项没有像我预期的那样工作。 有什么建议吗?
嗯,我是这样做的:
第 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 标记作为清理标记添加到此标记。
它完全满足了我的需要。