-1

我有 2 个与 GTM 实施相关的问题

  1. 在体内添加 GTM 的最佳方法是什么。我正在使用紧跟在标签之后的 SSI 文件添加它。

    <!--#include virtual="/local-assets/gtm-noscript.html" -->
    

可以这样包含它还是有更好的方法在标签之后添加它?

<body>
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-YYYY"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
  1. 其次,我正在使用 Javascript onclick event实现dataLayer.push代码。这是在页面上硬编码 dataLayer.push 的好习惯,如下例所示?

    <a href="#" name="button1" onclick="dataLayer.push({'event': 'button1-click'});" >Button</a>
    

我必须在至少 50 个页面上添加 onclick dataLayer.push 事件,并且都是静态 html 页面,每个页面都有唯一的 dataLayer 变量。

任何关于最佳实践以及如何最好地实施它的建议将不胜感激!

4

1 回答 1

2

我无法回答您的第一个问题,因为我自己不确定您的方法是更好还是首选默认值。

但是我知道 Javascript 监听事件的最佳实践是让点击触发一个你放置在别处而不是内联的函数。如果这不是一个复杂的过程,那么您当然应该将其分开。

在某些情况下,将其分开是不切实际的。例如,在我的上一个实现中,我直接从 addToCart 按钮推送了 dataLayer 代码,因为我正在实现它的系统会提取数据以填充产品列表一次,然后循环遍历表行以生成列表。问题是有数百种产品。进行单独的数据库查询会严重影响性能,因此我只依赖第一个结果集并将我的 dataLayer 处理代码排队到原始循环中。

于 2017-09-01T23:04:17.693 回答