更新: 希望这是对问题的更好解释:
我正在尝试使用_setCustomVar
. 我在 Magento 1.4.0.1 上运行,我的 Analytics 异步代码由该<head>
部分中的默认 GA 模块插入,它看起来像这样:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxxxxxx-1']);
_gaq.push(['_trackPageview']);
(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>
我尝试添加的自定义变量具有以下语法:
_gaq.push(['_setCustomVar',1,'View Product','<?php echo $_helper->productAttribute($_product, $_product->getSku(), 'sku') ?>',3]);
根据分析文档,为了记录自定义变量,_setCustomVar
必须在 之前调用_trackPageView
,但默认 GoogleAnalytics 模块不支持此功能。这个问题有2个问题:
- 如何
_setCustomVar
在默认跟踪代码之前添加我的函数? - 如何
_setCustomVar
仅在产品页面上添加我的功能?
原帖:
我正在尝试将访问者正在查看的产品的 SKU 存储在 Analytics 自定义变量中。其语法是_gaq.push(['_setCustomVar',3,'View Product','SKU12345',2]);
.
显然,这段代码应该只添加到产品详细信息页面,而不是列表、购物车或结帐页面。所以我尝试通过添加以下代码来编辑view.phtml
文件:app/design/frontend/default/my_package/template/catalog/product
<script>
_gaq.push(['_setCustomVar',
1,
'View Product',
'<?php echo $_helper->productAttribute($_product, $_product->getSku(), 'sku') ?>',
3]);
</script>
问题是我在基本跟踪代码之后添加了这个自定义变量,该代码默认添加在该<head>
部分中,因此它不会记录在 Analytics 中。
我试图避免使用 中的 Analytics 模块更改核心文件app/code/core/Mage/GoogleAnalytics/Block/Ga.php
,但我认为解决方案可能就在那里。如何添加设置自定义变量的代码,使其出现在基本跟踪代码 BEFORE 中_gaq.push(['_trackPageview']);
?
这是 Analytics 提供的我的异步代码:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxxxxxx-1']);
_gaq.push(['_trackPageview']);
(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>
从这里开始的想法
注意:我正在使用 Magento 1.4.0.1 和 Analytics 异步语法