优化收入跟踪jQuery代码段

时间:2011-10-06 23:53:38

标签: javascript jquery optimizely

我正在尝试启用revenue tracking in 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()。我还将推送中的值更改为add_cart_button_clicked,就像在the revenue tracking tutorial on Optimizely's site中一样。这是我的更新代码,但仍然无效

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

1 个答案:

答案 0 :(得分: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}
    ]);
  });
});