google-tag-manager - Google Tag Manager - 自定义跟踪脚本的最佳实践
问题描述
我正在准备自定义跟踪并希望使用 Google 跟踪代码管理器来处理它。我正在创建一个带有两个标签的新容器。对于每个标签,我选择“自定义 HTML”作为代码。
我有一个脚本,应该显示在每一页上,并在本地存储中写入一个哈希。
<script>
(function () {
// write something in the local storage
})();
</script>
对于这个标签,我选择“页面视图”作为触发器,因为它应该显示在每个页面上。
第二个脚本是在某种形式之后在感谢页面上跟踪转换。
<script>
(function () {
var data = {};
data.conversionId = 'XXXXXX';
conversion(data);
})();
function conversion(data) {
var iframe = document.createElement('iframe');
iframe.frameBorder = 0;
iframe.width = 1;
iframe.height = 1;
iframe.name = "stlconv";
iframe.scrolling = "no";
iframe.allowtransparency = "true";
iframe.vspace = "0";
iframe.hspace = "0";
iframe.marginwidth = "0";
iframe.marginheight = "0";
iframe.src = url;
document.body.appendChild(iframe);
}
</script>
你会在这里选择什么作为触发器?如何以最佳方式管理第二个脚本?
- 页面所有者应该如何设置“conversionId”,以便我可以在我的脚本中获取值?
- 如何以最佳方式触发触发器,以便仅在发送表单后触发此脚本?
解决方案
这个问题太宽泛了,因为没有通用的“最佳方式”在您的上下文中将参数从页面传递到 GTM 的自定义 HTML 标记。你应该想出一个适合你的解决方案。你有几个选择:
- 使您的自定义 HTML javascript 可以直接读取转换 ID,例如使用全局 JS 变量、cookie 或本地存储
- 使用 dataLayer 将转换 ID 传递给 GTM,并在您的自定义 HTML 标记中使用 dataLayer 变量(您可以使用双大括号引用 dataLayer 变量,例如 {{example}} )
您可以使用 GTM 的内置“表单提交”触发器,它允许您检查验证。有很多关于如何设置它的教程,所以如果您对此有疑问,请扩展您的问题或打开一个新问题。我可以推荐以下教程:form-trigger-tutorial
推荐阅读
- reactjs - 如何防止每次导入自定义钩子时调用 customHook 中的 useEffect?
- c# - C# BigInteger 与 Decimal 结果
- regex - 如何使用 Powershell 从多行中选择字符串
- .net - 无法通过 TLS 1.2 连接 .NET 客户端
- ios - Watch Extension 找不到要运行的模拟器
- entity-framework - Entityframeworkcore Include 方法不起作用。急切加载延迟加载无法正常工作
- amazon-web-services - AWS Batch 与 Spring Batch
- ruby - Ruby问号运算符,这是什么意思?
- npm - 要求用户输入 npm 脚本的值
- java - 使用jsoup POST方法从java代码调用onclass点击事件 - 事件未触发