在ASP.NET Image上跟踪Google Analytics

时间:2014-12-17 18:24:53

标签: javascript asp.net google-analytics

每次有人下载文档并在我的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>

1 个答案:

答案 0 :(得分:0)

尝试将onClick移动到超链接但是一定要从函数返回true(或者创建一个调用_gaq.push的新JS函数,然后从中返回true),这样点击就会导致链接被跟踪。