【问题标题】:Tracking Google Analytics on ASP.NET Image在 ASP.NET 图像上跟踪 Google Analytics
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-19
    • 1970-01-01
    相关资源
    最近更新 更多