0

我想在我的网页上放置一个 GTM 容器,只是为了添加脚本而不修改我的页面的 html(我将不再拥有访问权限)。

1)目前,我只是将 GTM 代码放在后面,在我的 GTM 帐户上创建了一个标签(标签类型 = GA),添加了我的 GA 帐户的 UA-XXXXX-Y:它的工作,我可以从我的 GA 帐户中看到访问。

2)然后,我尝试更改在 GTM 上创建的标签的类型:我选择自定义 HTML 类型,然后输入 GA 给出的代码(使用正确的 UA)

<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-Y']);
_gaq.push(['_setDomainName', 'example.com']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>

它也可以,我看到来自 GA 界面的访问

3)我想修改GA给出的代码,特别是添加带有参数的trackPageview(使用服务器变量,这是我的问题......)

所以我只是修改了我在 2) 中使用的代码,只需添加:

_gaq.push(['_trackPageview', '/Page1/$!{VAR}/Page2/$']);

它不起作用。

我做错什么了吗?我应该使用宏吗?

谢谢

4

1 回答 1

1

服务器端变量不适用于 GTM(因为代码是通过 javascript 从不同的服务器插入的)所以是的,宏是要走的路。

创建一个数据层(在 GTM 标记之前的开始正文标记之后插入的 JSON 变量:

<script>
dataLayer = [{    
    'myVar': '{VALUE INSERTED BY SERVER }'

}];
</script>

现在您可以在 GTM ( "{{myVar}}" ) 中将 myVar 作为宏访问:

_gaq.push(['_trackPageview', '{{myVar}}']);

这也适用于 GTM 中的 GA 标签模板(有一个插入虚拟 url 的选项,您可以在那里使用宏)。

于 2013-01-17T08:07:26.180 回答