2017-09-19 13 views
0

Salesforce CommunityとユニバーサルGoogleアナリティクス(初心者両方)との統合を開始したばかりです。 タグにGA統合コードを追加しています。 Chrome用GAデバッガをダウンロードしました。 ブラウザ:Chrome。ここ は、タグ内のコードです:Googleアナリティクス - sendHitTaskの後でイベントヒットが機能しない

<script> 
    (function(i,s,o,g,r,a,m) 
    {i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q|| 
    []).push(arguments)},i[r].l=1*new Date 
();a=s.createElement(o),m=s.getElementsByTagName(o) 
    [0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)}) 
    (window,document,'script','https://www.google- 
    analytics.com/analytics_debug.js','ga'); 

    window.ga_debug = {trace: true}; 
    ga('create', 'UA-xxxxxxxxx-x', 'auto');    

    ga('send', 'pageview');  

    ga(function(tracker) { 

     tracker.set('sendHitTask', function(model) { 

      var hitPayload = model.get ('hitPayload'); 

      console.log ('models payload: ' + hitPayload); 

      // need this section to get user id value to send to dimension 
      //ga('set', 'dimension3', tracker.get('userId'));       
    }); 
    });  

</script> 

その後、我々はイベントを追跡するための呼び出しを行うコードインチ私はこれ以上動作しないイベントを追跡するために 「GA(機能(トラッカー){」コード・セクション これらの呼び出しを追加した後 ()が動作するために使用。? 多くのおかげで上記のコードと間違っている何

答えて

1

トラッカー用にsendHitTaskを設定すると、データをGoogleアナリティクスに送信して自分のものに置き換える通常のタスクが削除されます。あなたがヒットしたトラックはGAに送信されません

代わりにsendHitTaskを設定する前に、exiあなたの新しいsendHitTask関数で最初にその関数を実行してください。

documentation for adding to a taskから、これを行ういくつかのコードが続きます。

// Grab a reference to the default sendHitTask function. 
var originalSendHitTask = tracker.get('sendHitTask'); 

を次に、あなたはsendHitTaskに代入しているあなたの関数では、あなたがその関数を呼び出す必要があります:あなたのtracker.setコールする前に、追加する必要が

// Send the normal request to Google Analytics 
originalSendHitTask(model); 
+0

この回答は、「送信されたイベントはありません」という問題を解決するのに適切です。しかし、私が正しくuserIdを取得するのを助けてくれた池上の次の回答も見てください。 –

1

あなたは不自由していますあなたがそれをオーバーライドするために提供したメソッドは送信をしないので、sendHitTaskはコンソールに何かを記録する関数に置き換えられました。

example in the documentationを見ると、オリジナルのsendHitTaskが変数に格納され、カスタム関数内で呼び出されていることがわかります。

また、タスク内でgaオブジェクトを使用することはできません。タスクに渡されたモデルを介してトラッカーのプロパティにアクセスします。それは微調整が必​​要になる場合がありますので、

だから、未テスト

ga(function(tracker) { 
    // Grab a reference to the default sendHitTask function. 
    var originalSendHitTask = tracker.get('sendHitTask'); 

    tracker.set('sendHitTask', function(model) { 
    model.set('dimension3',model.get('userId')); 
    originalSendHitTask(model); 
    }); 
}); 

ようなものが必要だろうが、基本的には、それはそれをする必要があります。

また、customTaskを使用してカスタム動作を追加することも考えられますが、同じ結果が得られます。

+0

多くのおかげで、前の答えは "イベントが送信されていない"問題を解決するために正しいです。しかし、多くのあなたの答えもありがとう、それは私が正しくuserIdを取得するのに役立ちました。私は両方に投票しました。 –

関連する問題