#WEBサイトを作った! YouTubeを埋め込んだ! 視聴計測、、、できない!
まず結論:埋め込み方法を統一する。
誰か(未来の自分含む)の役に立ちますように。
##経緯と結論
クライアントから突如相談がありました。
YouTube視聴数を計測したいんですが、JSがエラー吐いているのが原因でうまく計測できないんです。
エラーを解消してもらえませんか?
そもそも広告目的の計測が初めてで、Google Tag Manager すら知らなかった僕。
よく分からないままに、とにかくエラーを解消するために奔走。
エラー内容は、YoutubeAPIから出ているものでした。
Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://www.youtube.com') does not match the recipient window's origin ...
色々ためしたが、解消できず、、、
そんななか、クライアントのエンジニアの方からのご指摘で、
Google Tag ManagerからもYoutubeのiframe_apiタグが挿入されているね 動画視聴計測のために入ってるんでしょうね。多分。
とのこと。
となると、このjsエラーは計測できない原因では、なさそう。
とーするとー、なんで計測できないのか?
全く分からない。試行錯誤してみることに。
-Basic認証かかってるかかってない。(関係なかった)
-iframe埋め込みしたものの計測、計測できた!
-jsで埋め込んだもの、計測できた!
あれ、じゃあなんで問題のサイトでは計測できていなんだ?
自分で試したサイトでもYouTubeAPIのエラーは出ているのに、、、
そこで再度、クライアントから指摘が。
計測はできているけど、計測したい動画じゃない別の動画の情報だけ上がってきてるね
問題のサイトでは、背景動画をループで再生させていて、その動画だけ計測できていた模様。
しかも自動再生。
スマホにも対応するために、jsから埋め込み。
それ以外はiframe embed。
これ、、、なのか、、、?
試しに分けてみることに。
すべて iframe embed にすると、、、計測できる!
すべて js埋め込み にすると、、、計測できる!
解決できました!