サイト内にvideoタグで設置した動画が再生された回数をgoogle analyticsでカウントする。

 gaのトラッキングをonplayで呼び出せばOKらしい。

こんな感じ。

<video id="video" onclick="this.play()" onplay="ga('send','event','category','action')">
<source src="video.mp4" type="video/mp4">
</video> 

ga()の中身については、前回の記事で書いた。
グーグルアナリティクスのイベント計測

 

ただ、これだと再生のたびにカウントされちゃう。

再生→一時停止→再開→一時停止→再開

ってやると3カウントされちゃう。

なので、最初の1回だけしか再生しないようにしちゃうという手っ取り早い方法

<HTML>
<video id="video" onclick="this.play()" onplay="trackMoviePlay()">
<source src="video.mp4" type="video/mp4">
</video>
<js>
var isPlay = false;

function trackMoviePlay(){
if(isPlay == false){
ga('send','event','category','action');
isPlay = true;
}



ただ、ページを更新するまで、ほんとに何度再生してもカウントは1しか進まないという問題はあるけど。


※あれ、endイベントでisPlay = falseに戻せばいいかな?だれか教えて。