1
私はビデオを再生する、ビデオを一時停止する、ビデオを開始する、&のようなイベントを追跡したいエンドポイントのビデオをGoogleアナリティクスで使用するiframe for Embeded Youtube Videos?Iframe埋め込みYoutubeビデオイベントトラッキング - Ensightenタグマネージャー
Googleが推奨するiframe埋め込みYoutube URLパラメータでYoutubejsAPIを既に有効にしています(「enablejsapi = 1」)。私はまた、事前定義のonPlayerStateChange()関数を 'イベント'プロパティを使って呼び出すことをお勧めしました。以下は
が(礼儀:lunametrics.com)参照用のコードスニペットを述べたEvenif
var tag = document.createElement('script');
tag.src = 'https://www.youtube.com/iframe_api';
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
var video = 'PoljF9Zqv3Y';
video.h = '271'; //video iframe height
video.w = '640'; //video iframe width
function onYouTubeIframeAPIReady() {
player = new YT.Player('videoFrame', {
height: video.h,
width: video.w,
videoId: video,
events: {
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerStateChange(event) {
switch (event.data) {
case YT.PlayerState.PLAYING:
if (cleanTime() === 0) {
//console.log('started ' + cleanTime());
ga('send', 'event', 'video', 'started', video);
} else {
//console.log('playing ' + cleanTime())
ga('send', 'event', 'video', 'played', 'v: ' + video + ' | t: ' + cleanTime());
}
break;
case YT.PlayerState.PAUSED:
if (player.getDuration() - player.getCurrentTime() !== 0) {
//console.log('paused' + ' @ ' + cleanTime());
ga('send', 'event', 'video', 'paused', 'v: ' + video + ' | t: ' + cleanTime());
}
break;
case YT.PlayerState.ENDED:
//console.log('ended ');
ga('send', 'event', 'video', 'ended', video);
break;
}
}
//utility
function cleanTime(){
return Math.round(player.getCurrentTime());
}
を、それは私のリアルタイムGAレポートで、イベントを発射されていません。
おかげ