2016-11-18 27 views
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レポートで、イベントを発射されていません。

おかげ

答えて

関連する問題