video.jsを使ったインバナー動画広告のHTMLタグを作ってみた


こんにちは、プラットフォームワンのyamakenです。久しぶりの投稿です。

今回は、 インバナー動画広告 のHTMLタグを作ってみます。

「今年は動画広告元年!」という声が私の入社以来毎年聞こえており、私の担当するMarketOneDSPでも年始にインストリーム動画RTB対応をリリースするなど、市場の温度感も高まっています。

しかし、動画広告の掲出先というのは限られており、プレロールだけではリーチを担保するのが難しい状況が続いています。もちろん、単価も高いです。

こうした状況に対応し、DACはいち早く「インリード」フォーマットを開発し、ネットワーク販売を行ってきました。

こうした新フォーマットや、従来のディスプレイ枠に動画を掲出する「インバナー」方式を組み合わせるのが、動画プロモーションで効率的にリーチを獲得するためのキモになってきます。

(前回はアドテク要素ゼロの内容だったので、今回はアドテクっぽいものを。。。)

で、そのインバナー方式ですが、一般的なDSPのHTMLタグ入稿機能を使うことで簡単に実現できそうだったので、作ってみました。

成果物

サンプルページ

素材URL、LP、トラッキングURLを設定することでHTMLスニペットを生成するツールを作ってみます。

生成したHTMLを広告枠iframeに埋め込むと、こんな感じ。ちゃんと動いてます。

スクリーンショット 2015-08-20 11.15.24

やりたいこと

実際にディスプレイ枠に動画掲出をしようとした際に、必要な要素を考えてみます。(今回はPCブラウザで閲覧されることを想定)

  • (ブラウザ環境が違っても)再生できる
  • クリックしたら、LP(ランディングページ)に飛ぶ
  • 視聴完了のトラッキングができる

最低限上記を満たしていれば、動画広告素材として使い物になりそうです。

1つずつ見ていきましょう。

ブラウザ環境が違っても再生できる

HTML5のvideoタグを使ってもいいのですが、プレイヤーの拡張性・APIの豊富さからvideo.jsというライブラリを使ってみます。

テンプレートファイル内でCSSとJSを読み込んで、videoタグを配置すればOKです。

autoplayを切り替えるには、動画読み込み完了時のイベントをキャッチすればよいので、

var video = document.getElementById('ad_video_1');
video.addEventListener("loadeddata", function() {
    video.play()
},false);

としておきます。

クリックしたら、LP(ランディングページ)に飛ぶ

デフォルトの設定だと、動画エリアをクリックすると再生停止アクションが起こるのみです。

音量調整や早送り/巻き戻し等のcontrol機能は残しつつ、動画エリアをクリックした際にページ遷移させるため、controlバー以外のエリアにアンカータグをかぶせます。

<a id="ad_anchor" href="{PLACE_CLICKURL}" style="width: 300px;height: 210px; position: absolute; z-index: 9999;" target="_blank"></a>

z-indexを設定することで、クリックした際にaタグの挙動が優先されます。

このままだとページ遷移した際に広告が再生状態のままになってしまうので、以下の処理も追加します。

var a = document.getElementById('ad_anchor');
a.addEventListener('click', function() {
	video.pause();
}, false);

視聴完了のトラッキングができる

html5のvideoタグには豊富なAPIが用意されているので、視聴完了などのイベントも簡単にキャッチできます。

再生完了のイベントは”ended”なので、

video.addEventListener("ended", function() {
	var obj = document.createElement("img");
	obj.src = url;
	obj.style.display = "none";
	video.parentNode.insertBefore(obj, video);
}, false);

といった形で、視聴完了時にimgタグを生成することでトラッキングURLをコールできます。

汎用ツールにする

これで生成したいHTMLの内容が確定したので、あとは変数部分を動的に変えられるテンプレートを作ります。

動的に変更したい部分に {CLICK_URL} のような定数を入れたHTMLテンプレートを作り、JSで読み込んで String.replace します。

// template読み込み
$.get("src/template.html", function(data){
	// data を変数に格納
});
// 置換
template = template.replace(/{CLICK_URL}/g, click_url);

これで、汎用的に広告タグを生成するツールの完成です。

最後に

今回は変換済み動画素材をそのまま埋め込む方法をご紹介しましたが、モバイルへの配信ではブラウザ上で動画を再生できない場合があるため、CSS Spriteを使ったパラパラマンガ方式に変換する/canvas要素を使う、等の工夫が必要かと思います。結構大変そうなニオイがしますね。

また今回紹介した方法は詳細な検証など行っておりませんので、そのままご利用するのはお控えください。

インバナー・インリード・インストリームといった動画広告に興味のある代理店様は、ぜひMarketOneまでお問い合わせくださいませ。


DACエンジニア採用情報

  関連記事

appnexus
「Ad Tech Power Game」

こんにちは、テクノロジー戦略部の田畑です。 はじめに。 この「アドテクゑびす界」ですが、DAC公式のエンジニアブログです。他の方も色々と技術的なことを書いていますが僕エンジニアでもなんでもありません。コード書けませんし、読めません。 ではなぜそんなやつがここでブログを書いているのか?会社の公式ブログ …

cookie
【DMP】クッキー連携ってなに

  アドテクに関わる方であれば、必ず耳にするであろう「クッキー連携」をシンプルに説明してみようと思います。 クッキー連携は cookie sync(クッキーシンク、cookie synchronization の略)と呼ばれることも多いです。 Googleは cookie matching …

hashed_potato
【DMP】IDのハッシュってなに

アドテクに関わる方であれば、よく耳にするであろう「ハッシュ」をシンプルに説明してみようと思います。 とはいえ「ハッシュ」は広いので、ここでは「IDのハッシュ」に焦点を当てます。 「ハッシュ/hash(動詞)」はそもそも「細切れにする」というような意味を持ちます。(名詞だと「細切れのもの」) ハッシュ …

20140930220910
AudieneOneでアドブロック利用者を抽出する訪問者セグメントを作ろう

はじめに iOS 9のコンテンツブロッカーによって盛り上がったアドブロック論争。アドブロック自体はPCブラウザ用プラグインで昔からできていたことなのですが、さらに普及していくのかもしれません。 アドブロックの仕組みが普及するのはインターネット業界全体の損失につながりかねない話ではあるのですが、その一 …

playlist
解説、VMAP!

どうも動画といえば僕です。Rhiannonです。 前回、前々回と動画ファイル自体についての記事を書きましたが、今回はVMAPについて解説しようと思います。 VMAPって聞いた事あるけど仕様書が英語だし読むの大変だと思っていた方の理解の一助になれば幸いです。   VMAPとはなんぞや? VM …

gtm
【タグマネジメント】GoogleTagManagerでイベントリスナーを使う

タグマネジメントとは タグマネジメントとは、広告効果測定ツールや、サイト解析ツールなどで利用している『HTMLタグ』の管理を行うことをいいます。 タグマネジメントツールでは、Webサイトの全ページに各タグマネジメントツールが発行する1つのタグを設置するだけで、あらゆるHTMLタグを管理画面上で登録す …

surveillance
オトナの常識、消費者プライバシー保護(前編)

どうも、広告技術研究室のダーハラです。    何やってる人? 広告技術研究室の業務は多岐に渡るのですが、僕の仕事は海外のアドテクノロジーの動向や関連する技術環境の変化を調べて、経営陣や開発部隊にフィードバックするといったことを主な業務としています。 とてもやり甲斐のある仕事なのですが、仕事 …

big-brother2
オトナの常識、消費者プライバシー保護(後編)

プライバシーが保護されていると期待できなくなってしまった国とは? 『オトナの常識、消費者プライバシー保護(前編)』はこちらから             正解はアメリカです。 スノーデン事件といえば、ご存じの方もいらっしゃるかと思います。 & …

20140922035644
アドテク問題(広告表示編)

アドテクエンジニア向けの問題を考えました。 お題は「広告表示」です。 以下お題に沿った「アドタグ」を作成し、広告を表示してみてください。 全部で9問あるので、興味のある人はやってみてください。 難易度は、ちょうどいいくらいです。 全部できた人は、採用担当までご連絡ください。 Q1.バナー広告を表示し …

SCA_and_Discovery_after_return_to_flight,_2005
【DMP】ピギーバックってなに

アドテクに関わる方であれば、よく耳にするであろう「ピギーバック」をシンプルに説明してみようと思います。 「piggyback/ピギーバック」は 「おんぶ」「背負う」に当たる言葉です。 アドテクでピギーバックというと、タグのピギーバックのことを指すことが多いように思います。 タグは、サイトに導入する小 …