0

これが私のコードです:

HTML部分:

<div class="subscribe">
  <a href="#' title="library_membership">Subscribe for a Month</a>
  <a href="#' title="library_membership">Subscribe for a Year</a>
</div>

Javascript:

$js('div.subscribe a').live('click', function(e) {
    var This =  $(this);
    e.preventDefault();
    if(This.html().indexOf("Month") != -1)
        _gaq.push(["_trackEvent", "Subscriptions", "Clicked Month", This.attr( "title" )]);
    else 
        _gaq.push(["_trackEvent", "Subscriptions", "Clicked Year", This.attr( "title" )]);

});

ga_debug.jsを試して、イベントがgoogle analyticsにプッシュされ、実際にChromeコンソールに表示されているかどうかを確認しました。

ただし、24時間経っても、[1年間購読]をクリックしてもGoogleアナリティクスに表示されません。「1か月間購読」のクリックが表示されました。誰かが私がグーグルアナリティクスで正確なデータを取得していない理由を教えてもらえますか?

4

1 に答える 1

2

javascript / jqueryをクリーンアップすると、機能するはずです。

$('div.subscribe a').live('click', function(e) {
    e.preventDefault();
    if ($(this).html().indexOf("Month") != -1) {
        alert("month");
    } else {
        alert("year");
    }

});​

もちろん、alertsをGAコードに置き換えてください。

http://jsfiddle.net/8EJMK/

また、liveは非推奨になっているため、を使用できますon

jQuery 1.7以降、.live()メソッドは非推奨になりました。.on()を使用して、イベントハンドラーをアタッチします。古いバージョンのjQueryのユーザーは、.live()ではなく.delegate()を使用する必要があります。

使用しているjqueryのバージョンによって異なります。

$('div.subscribe a').on('click', function(e) {
    e.preventDefault();
    if ($(this).html().indexOf("Month") != -1) {
        alert("month");
    } else {
        alert("year");
    }

});​

http://jsfiddle.net/8EJMK/1/

これを変更することもできます。

_gaq.push(["_trackEvent", "Subscriptions", "Clicked Month", This.attr( "title" )]);

これに:

_gaq.push(["_trackEvent", "Subscriptions", "Clicked Month", $(this).attr( "title" )]);

This動作していません。する必要があります$(this)

于 2012-09-21T18:40:49.703 に答える