0

我正在尝试在 Optimizely 中启用收入跟踪

我已经定制了 Optimizely 知识库提供的 jQuery 片段,并在结帐过程完成之前将其安装在最后一页上。

这是我试图将我的代码段连接到的“完成预订”按钮:

onmousedown我想触发这个功能:

<script type="text/javascript">
  var optimizely = optimizely || [];
  $("input[value='Complete Booking'].submit").live("mousedown", function() {
     optimizely.push(['trackEvent', 'booking_complete', total]);
  });
</script>

在 DOM 的其他地方存在一个名为的变量total,它具有所购买商品的总价格。

但是,当我安装此脚本时,它不会跟踪收入。我怀疑在我重写官方 Optimizely 函数时存在 jQuery 问题。有没有人对此有所了解?

更新

我意识到我可能需要调用$(document).ready(function()才能触发 jQuery。我现在也以美分而不是美元传递价值。还尝试使用.submit()而不是.onmousedown(). 我还将 push 中的值更改为add_cart_button_clicked,就像在Optimizely 网站上的收入跟踪教程中一样。这是我更新的代码,但它仍然无法正常工作

<script type="text/javascript">
    $(document).ready(function(){
        var optimizely = optimizely || [];
        var revenueInCents = total * 100;
        $("input[value='Complete Booking'].submit").submit(function() {
            optimizely.push(['trackEvent', 'add_cart_button_clicked', revenueInCents]);
        });
    }
</script>
4

1 回答 1

0

自发布此问题以来,Optimizely 更改了他们的收入跟踪 API。

https://help.optimizely.com/hc/en-us/articles/200039865-Revenue-Tracking

$(function(){
  window.optimizely = window.optimizely || [];
  var revenueInCents = total * 100;
  $("form#id").submit(function() {
    window.optimizely.push([
      'trackEvent', 
      'add_cart_button_clicked', 
      {revenue: revenueInCents}
    ]);
  });
});
于 2014-03-19T16:38:54.253 回答