你好,我想通过ga.js
使用我的应用程序创建的一些自定义活动。我使用一些客户广告系列和所有广告系列信息,并创建该广告系列的哈希码并将其放入网址中。我的Campaigh URL看起来像
http://mysite.com/?aff=eyJer5fg4IxOCIsInRleHRfbGlua19pZCI6IjgyIiwiY2FtcGFpZ25faWQiOiIxNCJ9
现在,当用户登陆mysite.com
时,我会检查查询参数aff
是否存在。如果是,那么我解码广告系列信息并尝试将其作为自定义广告系列发送。我的跟踪代码看起来像
<script>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'my profile id']);
_gaq.push(['_trackPageview']);
_gaq.push(['_setDomainName', 'mysite.com']);
<?php
if($this->campaignName != '') {
?>
_gaq.push(['_setCampNameKey','<?php echo $this->campaignName?>']);//my decoded info
_gaq.push(['_setCampMediumKey','<?php echo $this->campaignMedium?>']);//my decoded info
<?php
}
?>
(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>
但是当某个用户通过点击上面的网址访问mysite.com时,ga.js
不会跟踪该广告系列。我检查了我的DOM _setCampNameKey
是否正确呈现。但它需要它作为推荐。任何人都能告诉我我做错了什么吗?这是跟踪我的自定义广告系列或其他方式的方式吗?
答案 0 :(得分:1)
由于_trackPageview
触发了跟踪过程,您必须在_set*
命令之前放置_trackPageview
命令才能生效。
另一个解决方案是setup custom campaigns via URL parameters。
修改:另请参阅the answer to this question。 _setCamp*Key
函数不直接设置值,而是包含该值的另一个URL参数的名称。例如,您必须将广告系列名称放在单独的网址参数中,例如:
http://mysite.com/?camp_name=My+Campaign
然后,您可以告知GA my_camp_name
包含广告系列名称:
_gaq.push(['_setCampMediumKey','camp_name']);
在您的情况下,可能会将带有这些参数的自定义网址传递给_trackPageview
:
_gaq.push(['_setAccount', 'my profile id']);
_gaq.push(['_setDomainName', 'mysite.com']);
_gaq.push(['_setCampNameKey','camp_name']);
_gaq.push(['_setCampMediumKey','camp_medium']);
_gaq.push(['_trackPageview', 'http://mysite.com/?camp_name=<?php echo $this->campaignName?>&camp_medium=<?php echo $this->campaignMedium?>']);