2017-10-11 5 views
1

クライアントのGoogleアナリティクスでイベントをトリガーしようとしています。ユーザーが別のウェブサイトへのリンクをクリックしたときにイベントをトリガする必要があります。 JavaScriptが実行される前にページがアンロードされていたため、onclickに配置された関数呼び出しはデスクトップ上では機能しませんでした。それを修正するために、私はthis articleに基づいて、次のコードを実装:Googleアナリティクスのgc関数hitCallbackが起動しない

<script> 
    function submitOrderButtion(eventName){ 
    var url = 'https://example.com'; 
    var goToOrderForm = function(){ 
     console.log("goToOrderForm"); 
     window.location = url; 
    }; 
    //setTimeout(goToOrderForm, 1000); 
    console.log(ga.q); 
    console.log(ga.loaded); 
    ga('set', 'transport', 'beacon'); 
    ga('send', 'event', 'order online', 'click', eventName, { 
     hitCallback: goToOrderForm 
    }); 
    } 
</script> 

関数を呼び出すリンクはこれです:

<a href="javascript:" onclick="submitOrderButtion('homepage');" class="btn btn-primary">Order Online!</a> 

ボタンがクリックされたときに、GAの機能は何もしませんでした。

ga.qは未定義であり、ga.loadedはtrueです。私は最後の試みのために輸送を「ビーコン」に設定しましたが、それは何の違いもありませんでした。コールバックが呼び出されず、gaイベントが記録されることはなく、インスペクタでネットワーク要求が表示されることはありません。

ここにはJoey's Pizzaというサイトへのリンクがあります。問題のリンクは、ページの中央にある大きなボタンで、「オンライン注文!」と表示されます。

なぜ誰かが何もしていないのですか?あなたの助けを前もってありがとう!

ステータスアップデート: 私はまだこれに対する答えを探しています。私が得た答えは複数回試行されました(さまざまなarg設定で、以前の試行がキャッシュされていないことを確認するためにソースをチェックしています)。私は単純な作業でなければならないことについて、ほぼ一日の作業を費やしました。私は何かエラーや何も得ていません。それ以上の援助は非常に高く評価されるでしょう!ありがとう:)

答えて

0

あなたのコールバックを渡して5番目のパラメータとして

https://developers.google.com/analytics/devguides/collection/analyticsjs/sending-hits#hitcallback

だから、このようなものでなければなりません。

ga('send', 'event', 'order online', 'click', { 
    hitCallback: goToOrderForm 
}); 
+0

私はこれを試しました。 https://developers.google.com/analytics/devguides/collection/analyticsjs/eventsに記載されている署名も試してみました。私はそれが必要ないので、eventValueにnullを渡します。今まで運がない。 – drigby

関連する問題