2017-06-25 11 views
1

私は、Google Analytics(UA)を使用して、自分のウェブページでファイルのダウンロード(特にPDFファイル)をトラッキングする最良の方法を理解しようとしています。私はそれを知っている別のマウスクリックで同じイベントを追跡する

<a href="book.pdf" onClick="ga('send','event','PDF Downloads','Click','Book');">Download Book</a> 

私はリンク上で(左)クリックでトリガーされたイベントを追跡することができます。この同じイベントを追跡するにはどうすればよいですか?右クリックと中クリックのアクションを追跡するには?私は、クリックの種類別にイベントを分けることには興味がありませんが、ファイルが何回ダウンロードされたかをより正確に測定したいと考えています。

この問題の最初の試みは、それぞれ右クリックと中クリックにoncontextmenuauxclickを使用することでした。だから私のようなもので終わるでしょう:

<a href="book.pdf" onClick="ga('send','event','PDF Downloads','Click','Book');" 
 
      oncontextmenu="ga('send','event','PDF Downloads','Click','Book');" 
 
        auxclick="ga('send','event','PDF Downloads','Click','Book');"> 
 
        Download Book</a>

しかしga('send','event','PDF Downloads','Click','Book'); 3回繰り返すことは非常に厄介な、エラーを起こしやすいようです。これを実装する最良の方法は何でしょうか?

ps。 auxclickはどのくらいいいですか?

答えて

1

$(document).on('mousedown', '.track', function(e){ 
 
    //e.which 1 = left click, 2 = middle click, 3 = right click 
 
    
 
    //track by book url (http://example.com/book.pdf) 
 
    ga('send', 'event', 'PDF Downloads', 'Click', this.href); 
 
    
 
    //track by book title (Book Title 2) 
 
    ga('send', 'event', 'PDF Downloads', 'Click', $(this).data('book')); 
 

 
    //track by button contents (Download Book 2) 
 
    ga('send', 'event', 'PDF Downloads', 'Click', $(this).text()); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<a href="book.pdf" class="track" data-book="Book Title 1">Download Book 1</a> 
 

 
<a href="book.pdf" class="track" data-book="Book Title 2">Download Book 2</a>

+0

これは私が追跡したいファイルごとに新しいクラスを定義する必要でしょうか?例えば、Book1とBook2というラベルの 'book1.pdf'と' book2.pdf'(またはそれ以上)があれば、これをより一般的にするには? 'target =" _ blank "属性を使うことは本当に重要ですか? –

+0

@ Lord_77 ga()呼び出しの最後の引数は、書籍のタイトルまたはURLを追加する場所です。これをより一般化するためにコードを更新します。ダウンロードリンクにはtarget = "_ blank"は必要ありませんが、そのリンクが別のウェブサイトに移動すると、ga()イベントが訪問を追跡できるようになる前に起こります。 –

関連する問題