【问题标题】:Button no longer works after implementing Google Analytics Event Tracking实施 Google Analytics 事件跟踪后,按钮不再起作用
【发布时间】:2018-01-21 03:31:29
【问题描述】:

今天我在我的网站中安装了谷歌分析事件跟踪代码,以便能够跟踪有多少人点击了“购买票”按钮 URL,从而查看我们的广告是否有效,因为这些页面只能通过以下方式访问此示例适用于 facebook。

我必须安装更新版本的 GA 代码、Google 跟踪代码管理器,然后将 onclick 功能插入到我的代码中。

在本页成功实现后:https://biscuitsandblues.com/popachubbyfb

我曾尝试在其他几个页面上反映我所做的工作以继续,但是我遇到了一个错误,在将我的代码的 onclick 部分添加到接下来的几个页面后,按钮变得无用并且不再需要我的网址。 -> https://biscuitsandblues.com/curtissalgadofb - 或 - https://biscuitsandblues.com/earlthomasfb

两个页面之间代码的唯一区别是日期已更改以反映当前的登录页面。

工作按钮 Onclick 代码:

<div class="ticketbutton">
<a href="https://www.opentable.com/r/biscuits-and-blues-reservations-
san-francisco?covers=2&datetime=2018-03-
02T18%3A30&restref=2474&searchdatetime=2018-03-02T18%3A30&partysize=2" 
class="myButton" 
onclick="trackOutboundLink('https://www.opentable.com/r/biscuits-and-
blues-reservations-san-francisco?covers=2&datetime=2018-03-
02T18%3A30&restref=2474&searchdatetime=2018-03-
02T18%3A30&partysize=2'); return false;"> Purchase Tickets</a>
</div>

请帮我弄清楚这个疯狂!谢谢

编辑:遵循这些说明https://support.google.com/analytics/answer/1136920?hl=en

【问题讨论】:

  • 购票按钮适用于您提到的所有三个链接(至少在 Chrome 和 Firefox 中)。所谓工作,我的意思是他们带我去开放网站买票。你看到别的了吗?
  • 嗨史蒂夫,感谢您的回复。我正在查看网站上的下部按钮,而不是顶部按钮,这是由 opentable 提供的小部件。是的,你说得对,我想让它带你去 opentable 买票。

标签: javascript html google-analytics


【解决方案1】:

您正在混合两种不同的方法:

  1. 使用 gtag.js 实现:用于跟踪 google 分析的简化版本。见:https://developers.google.com/analytics/devguides/collection/gtagjs/
  2. 使用 google 分析指令来实现 analytics.js(不带 gtag.js)。 见:https://developers.google.com/analytics/devguides/collection/analyticsjs/events

在标准的谷歌分析实现 (analytics.js) 中,使用以下格式将事件发送到谷歌分析: ga('send', 'event', [eventCategory], [eventAction], [eventLabel], [eventValue], [fieldsObject]),这是您在代码中使用的。

使用 gtag.js 实现发送谷歌分析事件的正确方法是:

gtag('event', 'event_name', {
  // Event parameters
  'parameter_1': 'value_1',
  'parameter_2': 'value_2',
  // ...
});

当前实现中的混淆导致以下行为:当用户单击链接时,默认链接行为通过return false; 取消并由函数trackOutboundlink 替换。因为使用的是 gtag.js 而不是 analytics.js,所以 ga('send', ... 'hitCallback': function(){document.location = url;}}); 部分没有做任何事情。这会导致 hitCallback 没有被调用,并且链接停止工作。

为了在您的网站上进行正确跟踪,请更改以下内容:

var trackOutboundLink = function(url) {
   ga('send', 'event', 'outbound', 'click', url, {
     'transport': 'beacon',
     'hitCallback': function(){document.location = url;}
   });
}

到这里:

var trackOutboundLink = function(url) {
  gtag('event', 'click', {
    'event_category': 'outbound',
    'event_label': url,
    'event_callback': function(){document.location = url;}
  });
}

【讨论】:

  • 获胜者是 Aljosja!你太棒了,非常感谢你!感谢您的见解和解决方案。
【解决方案2】:

我不得不去检查您页面上的 trackOutboundLink 源,但我唯一的猜测是,为了跨浏览器安全,您应该将 browser.location 更改为 window.location

var trackOutboundLink = function(url) {
   ga('send', 'event', 'outbound', 'click', url, {
     'transport': 'beacon',
     'hitCallback': function(){window.location = url;}
   });
}

【讨论】:

  • 感谢您的回复,根据您的建议,我将那段代码更改为“窗口”,不幸的是,没有任何改变。仍然功能齐全,但仍然无法正常工作。
  • @AtlasKan 实际上,您似乎与 Google 跟踪代码管理器有冲突。它不在此页面上 biscuitsandblues.com/popachubbyfb 并且有效,但 google 标记在其他两个页面上。
  • 嗯……你确定吗?直接从 chrome imgur.com/a/1s00F 中提取代码。
  • @AtlasKan 看起来我有一个旧的缓存版本,因为刷新第一页,我现在看到 Google 跟踪代码管理器代码并且按钮也停止工作。事实上,我看到它出现了两次googletagmanager.com/gtag/js?id=UA-46725094-1,所以这可能会导致一些问题。
  • 所以我删除了双行代码(标签管理器),我认为 onclick 函数确实有问题。我将它添加到按钮旁边的“艺术家网站”URL 中,它也完全阻止了 URL 的弹出。我不知道为什么我失去了功能,但我觉得我越来越近了......
猜你喜欢
  • 1970-01-01
  • 2014-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-25
  • 1970-01-01
  • 2023-04-10
相关资源
最近更新 更多