如何在hashchange上完成目标完成工作?

时间:2014-04-07 10:31:23

标签: javascript angularjs google-analytics google-analytics-api

我有一个AngularJS网络应用,没有单独的网页 我已经设置了一个目标完成,以便有一个由javascript事件触发的代码,
它具有以下结构:

function call_completion(){

window.google_conversion_id = 973404965;
window.google_conversion_language = "en";
window.google_conversion_format = "1";
window.google_conversion_color = "ffffff";
window.google_conversion_label = "doGHCLPK2wkQpfaT0AM";
window.google_conversion_value = 1.000000;
window.google_remarketing_only = false;

var s = document.createElement('script');
s.type = "text/javascript";
s.src = '//www.googleadservices.com/pagead/conversion.js';
document.body.appendChild(s);

}

但是,我无法在Google Analytics中看到任何已完成的完成情况。可能是什么问题?
这是正确的方法吗?是否有一些漂亮的插件可以解决这个问题?

更新

对于新的Universal Analytics,有一个名为angular-ga的插件 它消除了整个问题。

2 个答案:

答案 0 :(得分:0)

您不应该将脚本附加到您的视图中,因为它不会被执行。 你应该用这个:

$.getScript( "http://www.googleadservices.com/pagead/conversion.js" );

让脚本在该页面上运行并执行它。 希望这会有所帮助:)

答案 1 :(得分:0)

还必须包括<noscript>部分。

这样的事情:

$('body')
  .append('\
    <!-- Google Code for Subscriptions Conversion Page -->\n\
    <script type="text/javascript">\n\
    /* <![CDATA[ */\n\
    var google_conversion_id = 973404965;\n\
    var google_conversion_language = "en";\n\
    var google_conversion_format = "1";\n\
    var google_conversion_color = "ffffff";\n\
    var google_conversion_label = "doGHCLPK2wkQpfaT0AM";\n\
    var google_conversion_value = 1.000000;\n\
    var google_remarketing_only = false;\n\
    /* ]]> */\n\
    </script>\
  ');

$('body')
  .append('<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">')
  .append($('<noscript>')
    .append($('<div style="display:inline;">')
      .append('<img height="1" width="1" style="border-style:none;" alt="" src="//www.googleadservices.com/pagead/conversion/973404965/?value=1.000000&amp;label=doGHCLPK2wkQpfaT0AM&amp;guid=ON&amp;script=0"/>')
    )
  );