每次有人下载文档并在我的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>
答案 0 :(得分:0)
尝试将onClick移动到超链接但是一定要从函数返回true(或者创建一个调用_gaq.push的新JS函数,然后从中返回true),这样点击就会导致链接被跟踪。