【发布时间】:2014-12-18 06:45:16
【问题描述】:
每次有人下载文档并在我的 asp:Image 中放置代码以执行此操作但未获得任何实时结果时,我都需要跟踪 Google Analytics 的事件。我还尝试将 onclick 放在图像周围的 asp:Hyperlink 上,但它也不是这样工作的。
这是图像所在中继器的 ItemTemplate 中的代码。
<ItemTemplate>
<asp:HyperLink runat="server" ID="FormHyperLink" >
<asp:Image runat="server" ID="FormImage" OnClick="_gaq.push(['_trackEvent', 'Downloads', 'Document']);" />
</asp:HyperLink>
</ItemTemplate>
在 Google Analytics 中,我将目标设置为类别:下载,操作:文档。 我无法指定一个正在下载的文档,因为这是一个图像重复器,单击时会下载不同的文档。
谁能帮我弄清楚如何正确跟踪这些下载?我无法真正更改代码,因为该网站已被数百人内部使用,甚至更多人在我们公司之外使用。
提前致谢。
编辑: 这是整个中继器代码:
<asp:Repeater runat="server" ID="FormRepeater">
<ItemTemplate>
<tr class="even">
<td width="475"><%# Server.HtmlEncode(((Core.Domain.FormsLibrary.Form)Container.DataItem).Title) %></td>
<td>
<asp:Repeater runat="server" ID="FileRepeater" OnItemDataBound="Files_ItemDataBound" DataSource='<%# ((Core.Domain.FormsLibrary.Form)Container.DataItem).Files %>'>
<ItemTemplate>
<asp:HyperLink runat="server" ID="FormHyperLink" >
<asp:Image runat="server" ID="FormImage" OnClick="_gaq.push(['_trackEvent', 'Downloads', 'Document']);" />
</asp:HyperLink>
</ItemTemplate>
</asp:Repeater>
</td>
</tr>
<asp:PlaceHolder runat="server" ID="DescriptionPlaceHolder" Visible='<%# !String.IsNullOrEmpty(((Core.Domain.FormsLibrary.Form)Container.DataItem).Description) %>'>
<tr class="even">
<td colspan="2"><%# Server.HtmlEncode(((Core.Domain.FormsLibrary.Form)Container.DataItem).Description) %></td>
</tr>
</asp:PlaceHolder>
</ItemTemplate>
<AlternatingItemTemplate>
<tr class="odd">
<td><%# Server.HtmlEncode(((Core.Domain.FormsLibrary.Form)Container.DataItem).Title) %></td>
<td>
<asp:Repeater runat="server" ID="FileRepeater" OnItemDataBound="Files_ItemDataBound" DataSource='<%# ((Core.Domain.FormsLibrary.Form)Container.DataItem).Files %>'>
<ItemTemplate>
<asp:HyperLink runat="server" ID="FormHyperLink" >
<asp:Image runat="server" ID="FormImage" OnClick="_gaq.push(['_trackEvent', 'Downloads', 'Document']);" />
</asp:HyperLink>
</ItemTemplate>
</asp:Repeater>
</td>
</tr>
<asp:PlaceHolder runat="server" ID="DescriptionPlaceHolder" Visible='<%# !String.IsNullOrEmpty(((Core.Domain.FormsLibrary.Form)Container.DataItem).Description) %>'>
<tr class="odd">
<td colspan="2"><%# Server.HtmlEncode(((Core.Domain.FormsLibrary.Form)Container.DataItem).Description) %></td>
</tr>
</asp:PlaceHolder>
</AlternatingItemTemplate>
</asp:Repeater>
【问题讨论】:
-
只是检查:您使用的是经典 GA(使用 _gaq 对象)还是 Universal Analytics(将使用 ga 对象,以及用于跟踪事件的不同语法)?
-
很遗憾,这个网站使用的是经典的 GA,而不是通用的。
标签: javascript asp.net google-analytics