7

ユーザーが特定の種類のリンクをクリックしたときに、MixPanel にイベントを記録しようとしています。私は JQuery を使用して目立たないようにしています。私が理解している限り、イベントがログに記録された後にユーザーを URL に移動させるコールバック関数を追加する必要があります。

これは私が使用しているコードです:

<script type="text/javascript">
    $("#more-posts").click(function() {
        event.preventDefault();
            mpq.track("More Posts", function(){
                window.location = $(this).attr("href");
            });
    });
</script> 

残念ながら、これはユーザーをページに移動させたり、イベントをログに記録したりしませんが、Chrome の Javascript コンソールにエラーは表示されません。

問題が何であるかについてのアイデアはありますか?

更新:コメントの提案に基づいて、このコードも試しました:

<script type="text/javascript">
    function go_to_link(link) {
        window.location = link;
    } 
    $("#more-posts").on("click", function(event) {
            event.preventDefault();
            mpq.track("More Posts");
            setTimeout("go_to_link($("#more-posts").attr("href"))", 2000);
    });

</script> 

正しいリンクにリダイレクトされるようになりましたが、まだイベントが記録されません。

4

5 に答える 5

11

Mixpanel は最近、仕事をするメソッドmixpanel.track_linksを追加しました。

于 2012-04-05T12:42:26.767 に答える
3

mpq.track 関数の 3 番目の引数はコールバックです。このコードは追跡が完了すると実行され、ユーザーを別のページに誘導する確実な方法となります。

$("#more-posts").on("click", function(event) {
        event.preventDefault();
        mpq.track("More Posts", null, function() {
            go_to_link($("#more-posts").attr("href"))
        });
});
于 2012-01-12T19:58:05.613 に答える
2

これが MixPanel サポートの候補であると思います: support@mixpanel.com. バグは jQuery コードにはありません。基本的な機能を示す動作中のjsFiddleを次に示します。

前述したように、_kmq.pushKissmetrics で同様の問題を見てきました。彼らの JS は単にイベントを登録する時間がないかもしれません。より長いタイムアウトを試してみるとうまくいくかもしれませんが、これは悪い UXです。

MixPanel に連絡する場合は、ここで更新してください。

于 2011-12-28T16:33:37.360 に答える
1

setTimeout を使用する代わりに、mpq.trackのコールバック パラメータを使用することを検討してください。

または、リンク先の場所でページの読み込みを追跡します。

于 2011-12-29T22:40:32.183 に答える
0

最も簡単な方法は、イベントが正常にログに記録された後に発生する mixpanel.track の関数 callback を使用することです。

コードは次のようになります。

mixpanel.track("Great Success!", {}, function(){
  window.location.href = "www.whatever.com";
});
于 2013-07-04T22:05:18.413 に答える