使用Google Analytics事件点击.NET LinkBut​​ton无效

时间:2017-07-16 19:15:07

标签: asp.net vb.net google-analytics

我正在尝试在OnClientClick上的VB.NET链接按钮上使用Google Analytics。它不起作用。我的网站上的其他页面使用相同的功能与直接锚链接(意味着没有.NET控件)确实捕获事件。我能说的唯一区别是.NET自动编码单引号。我告诉过浏览器应该可以处理这个问题,但它不能在我的页面上工作。我还查看了有关.NET如何在v 4.0中开始执行此操作的所有文档,并且没有真正的解决方法来使其不编码单引号。我已经尝试了创建自定义编码类并在web.config中添加引用的建议。这对我没有用。我的网站上有一个空白页面。

还有其他方法我没想到要在我的VB.NET(v 4.5)页面上成功跟踪Google Analytics点击事件吗?

我在代码中成功添加了事件:

  lnkViewAll.OnClientClick = "ga('send', 'event', 'View All Awards', 'click', 'Landing Page - Awards');" 

我的页面上没有任何错误。它只是没有成功捕获我的Google信息中心中的点击事件。

这是页面呈现的方式。我告诉浏览器应该能够处理html编码...

<a onclick="ga(&#39;send&#39;, &#39;event&#39;, &#39;View All Awards&#39;, &#39;click&#39;, &#39;Landing Page - Awards&#39;);" id="lnkViewAll" class="button-text" href="javascript:__doPostBack(&#39;lnkViewAll&#39;,&#39;&#39;)">View All Awards</a>

再次请注意,我确实研究过那里的其他解决方案,特别是这一个(https://forums.asp.net/p/1554455/3818604.aspx),那里提供的解决方案对我不起作用。任何其他创造性的解决方案,以使这工作我不得不想象还有其他人使用VB.NET和Google Anayltics点击活动。

1 个答案:

答案 0 :(得分:0)

您的点击会生成表单POST请求,该页面会立即卸载,因此ga('send'...没有时间执行。而是在服务器端处理Analytics事件(在lnkViewAll_Click处理程序中)。这样的事情(在VB中):

ScriptManager.RegisterStartupScript(Me, Me.GetType(), "gaEvent", "ga('send', 'event', 'View All Awards', 'click', 'Landing Page - Awards');", True)

另一个选择是将LinkButton放在UpdatePanel内。