0

您好,我想使用我的应用程序通过ga.js. 我使用一些客户活动和所有活动信息并创建该活动的哈希码并将其放入 url。我的 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>

但是当一些用户通过点击上面的 url 访问 mysite.com 时,ga.js不要跟踪活动。我检查了_setCampNameKey正确渲染的 DOM。但它把它当作参考。任何人都可以告诉我我做错了什么吗?这是跟踪我的自定义广告系列的方式还是其他方式?

4

1 回答 1

1

由于_trackPageview触发了跟踪过程,因此必须将命令放在_set*命令之前_trackPageview才能生效。

另一种解决方案是通过 URL 参数设置自定义活动

编辑:另请参阅此问题的答案。这些_setCamp*Key函数不直接设置值,而是设置包含该值的另一​​个 URL 参数的名称。例如,您必须将广告系列名称放在单独的 URL 参数中,例如:

http://mysite.com/?camp_name=My+Campaign

然后您可以告诉 GAmy_camp_name包含广告系列名称:

_gaq.push(['_setCampMediumKey','camp_name']);

在您的情况下,将带有这些参数的自定义 URL 传递给_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?>']);
于 2013-08-04T13:01:12.893 回答