我需要跟踪用户在我的网站上观看的嵌入式YouTube视频的数量。我需要它以25%,50%,75%和100%的视频长度发射标签。它应该像滚动页面轨道一样工作。
我对该网站的唯一访问权限是通过Googletag管理员,因此任何解决方案都必须通过该网站。
我已经研究并且显然有很多方法可以使用youtube api来实现这一点。我甚至尝试了这个循序渐进的指南:http://www.cardinalpath.com/youtube-video-tracking-with-gtm-and-ua-a-step-by-step-guide/但它没有用。
我猜问题是该网站使用fancybox播放视频。以下是网站代码的选择:
我不知道从哪里开始。
答案 0 :(得分:5)
请看一下
Track YouTube Video Playback with jQuery and Google Analytics Events
https://developers.google.com/youtube/js_api_reference
您需要跟踪当前播放时间,获取总播放时间,然后将其转换为百分比。
使用无边框播放器并使用youtube js api。请参阅Playback_status方法。我同意定时器。但是,我强烈建议您使用js api中的方法和回调。
您可能必须使用
onStateChange事件 getDuration() getCurrentTime()
你可能需要onStateChange包装器中的那些或更好的东西。
function onYouTubePlayerReady(playerId) {
ytplayer = document.getElementById("myytplayer");
ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
}
function onytplayerStateChange(newState) {
alert(ytplayer.getDuration()+ytplayer.getCurrentTime());
}
在播放器状态更改时,您可以在内部触发自己的方法。
这不是一个有效的例子,但我希望你得到我的答案。模态/弹出框与获取所需数据无关。你只需要使用chromeless播放器和YT js api与你的jQuery插件协调工作。有一些jQuery插件是多种视频共享技术的API包装器。
Bower和Google是你的朋友!
答案 1 :(得分:1)
另一个值得关注的选择,如果YouTube不是你唯一的选择,我很确定Vimeo和Wistia都内置了这些功能并且嵌入非常简单
答案 2 :(得分:0)
你可以做的是在获取视频管视频请求的时候。然后将该数字相应地分为25%,50%,75%和100%。
您可以通过在视频播放的同时设置计时器,然后在之前计算的不同时间调用标记来尝试此操作。
希望这有帮助!