gpt4 book ai didi

javascript - 在没有查询字符串参数的情况下使用 Google Analytics 跟踪事件?

转载 作者:IT王子 更新时间:2023-10-29 03:06:07 26 4
gpt4 key购买 nike

Google Analytics 是否支持无需使用查询字符串参数即可跟踪事件的方法。

在 Analytics 中,您可以 tag a link to your site带有查询字符串参数,例如 utm_campaignutm_medium,它们携带有关事件的信息以便对其进行跟踪。

Google 实际上有一个 online tool帮助创建此类链接。

例如,如果 StackOverflow 在 Experts Exchange 上做广告,他们可能会有这样的链接:

http://www.stackoverflow.com/?utm_source=expertexchange&utm_medium=banner&utm_campaign=a-better-expert-exchange

出于多种原因,我不希望这些看起来笨拙的参数出现在我的 URLS 中:

  • 我想鼓励推特,而长链接不鼓励这样做
  • 我不希望人们在
  • 我希望人们看到一个干净的 URL
  • 我不希望搜索引擎索引这些链接。
  • 我想完全控制将哪些参数发送到 Google Analytics - 而不是让我的合作伙伴弄乱他们访问我网站时使用的 URL

我前一阵子试图找到一种可以设置这些参数的方法。 Google has a page乍一看似乎是解决方案,但实际上并非如此。该页面描述了如何将查询字符串参数的名称更改为其他名称 - 例如使用 src 而不是 utm_source 您将运行:

 pageTracker._setCampSourceKey("src");     

我似乎真的无法弄清楚为什么他们不让实际显式设置 utm_source 键的值变得容易 - 而不仅仅是为其设置一个替代参数名称。

我记得有一段时间我找到了一个有某种令人讨厌的黑客攻击的人,但我现在似乎找不到了。我似乎记得,无论是谁拿了一份分析代码的副本,基本上将其分支并对其进行了黑客攻击。这对我来说不是一个好的解决方案!

是否有官方支持的方式来执行此操作,而无需某种讨厌的重定向。

简而言之,我想做这样的事情(ASP.NET MVC 站点)。使用如下 URL 为 partnet 提供指向我网站的链接:

 http://www.example.com/?cid=2dae88a8-66b1-475d-8a35-2978bd1a158c

在我的 MVC 页面的 Controller 中,我会找出此 GUID 与哪个事件相关,并设置模型状态。注意:这给我带来的好处是我可以更改广告系列参数而无需重新发布 URL。

然后在页面本身中我会这样做:

var campaignMedium = <%= ViewData.Model.CampaignMedium %>;
var campaignSource = <%= ViewData.Model.CampaignSource %>;
var campaignName = <%= ViewData.Model.CampaignName %>;

pageTracker._setCampaignData({
utm_source: campaignSource,
utm_medium: campaignMedium,
utm_campaignName: campaignName
});
pageTracker._trackPageview();

重要提示:这个 _setCampaignData 方法实际上并不存在。这只是我希望能够执行的操作的“伪代码”。

有没有人成功地做到了这样的事情?

最佳答案

_set campaignParams

您的理论“_setCampaignData”终于以 ["_set","campaignParams",...] 的形式存在

如果您有办法以编程方式注入(inject)您想要设置的值(例如,通过重定向时的 cookie 设置,或在服务器端设置并打印到页面上),您可以使用 _set API 用于对您要设置的广告系列参数进行硬编码。

它的格式是:

_gaq.push(['_set', 'campaignParams', 
'utm_campaign=CAMPAIGN&utm_source=SOURCE&utm_medium=MEDIUM']);

因此,使用您的原始示例:

 var campaignMedium = <%= ViewData.Model.CampaignMedium %>;
var campaignSource = <%= ViewData.Model.CampaignSource %>;
var campaignName = <%= ViewData.Model.CampaignName %>;
_gaq.push(['_set', 'campaignParams',
'utm_campaign=' + campaignName + '&utm_source=' + campaignSource +'&utm_medium=' + campaignMedium]);

2017 年更新

This answer详细介绍了如何使用较新的 Google Analytics 库 analytics.js/Universal Analytics 来实现这一点。

关于javascript - 在没有查询字符串参数的情况下使用 Google Analytics 跟踪事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/934119/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com