跟踪 ASP.NET 图像上的谷歌分析

Tracking Google Analytics on ASP.NET Image

本文关键字:谷歌 ASP NET 图像 跟踪      更新时间:2023-09-26
每当

有人下载文档并在我的asp:Image中放置代码来执行此操作时,我都需要跟踪Google Analytics的事件,但没有得到任何实时结果。我也尝试将onclick放在图像周围的asp:Hyperlink上,但它也不是那样工作的。

下面是图像所在的中继器的项模板中的代码。

<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>

尝试将 onClick 移动到超链接,但请确保从函数返回 true(或创建一个调用 _gaq.push 的新 JS 函数,然后从中返回 true(,以便单击导致链接被跟踪。