Gunosy Tech Blog

Gunosyの開発メンバーが知見を共有するブログです。

モバイル広告のコンバージョン計測の仕組み

こんにちは.アドチームのエンジニアの印南です.最近,急に寒くなってきましたが,皆さん調子はいかがでしょうか?

今回は,最近成長著しいモバイル広告のコンバージョン計測についてお話をさせていただきたいと思います.

モバイル広告

 モバイル広告とは携帯端末向けのインターネット広告のことで,近年ではスマートフォンのアプリ上に広告を表示し収益を上げる手法が増加してきています. モバイル広告市場の規模は2014年現在で約1109億円,2015年には1544億円となりPC広告の市場規模(1236億円)を追い抜くと予想されている成長著しい市場です(※1).

コンバージョン計測

 広告をクリックしたユーザが広告主のページあるいはアプリページに行き,実際に商品購入・アプリインストールなどといった広告主が規定した行動を起こすことをコンバージョンといいます.このコンバージョンを計測する仕組みがコンバージョン計測です. コンバージョン計測では,”誰が”,”いつ”, ”何の案件に対して” コンバージョンしたのかを計測することが肝になります.それらの情報をとるため,コンバージョン計測には広告の種類やコンバージョン時の制約によって様々な手法が用いられています. 今回は,WebブラウザのCookie埋め込みを使用する Cookieによる計測 と,端末に紐づいたIDを使用する DeviceIDによる計測 について紹介します(※2)

Cookieによる計測とは

Cookieによる計測とは,広告クリック時にユーザのモバイルブラウザにCV追跡用の情報をCookieに埋め込み,コンバージョン時にCookieに埋め込まれた値を読み込むことで成果確認する手法です(※3).

Cookie計測の流れ

 段階としては広告入稿/クリック/コンバージョンとありますが,それぞれついて順を追って説明していきたいと思います.

広告入稿時

 広告入稿時には,広告主(あるいは代理店)が広告の情報を入力し,コンバージョンタグを広告主側のページに設置します.このタグはコンバージョン時に広告配信サーバ側にコンバージョン情報を送るためのものです.  具体的には以下のような順序で進みます.

  1. 広告主(あるいは代理店)が広告の情報を入力
  2. 広告配信サーバ側からコンバージョンタグを取得
  3. コンバージョンタグを広告主のコンバージョンページに貼付け

 まず,広告主は広告配信サーバの広告管理画面から広告の情報を入力します.ここで入力する情報は,案件名や案件の種類,課金の種類や単価などです(①).  広告の情報が入力されるとコンバージョンタグが発行されます.コンバージョンタグには,案件を特定するためのTrackingIDが付与されており,コンバージョンページが読み込まれたタイミングで,広告配信サーバにこのIDを送信します(②). 最後に,広告主は,コンバージョンページ(会員登録完了時に表示されるような成果が確認されたときに表示されるページ)にコンバージョンタグを貼付けます(③).

ユーザのアドクリック時

ユーザがモバイルアプリ上でアドをクリックしたとき,配信サーバ側でクリックしたユーザやその他の情報を特定するためのID(UUID)をモバイルブラウザのCookieに埋め込み,同様の情報をDBに記録します.  具体的には以下のような順序で進みます(図1).

  1. 広告をクリック/ブラウザが起動
  2. 広告配信サーバへ追跡情報付きで広告主ページ(LP)をリクエスト
  3. ユーザのブラウザにCookieに追跡情報を埋め込む
  4. 広告配信サーバ側で追跡情報とアド情報を記録
  5. 広告主サーバへリクエストをリダイレクト
  6. 広告主ページ(LP)を表示

f:id:cou_z:20170617202156p:plain

図1. Cookieを用いたコンバージョン計測の流れ(クリック時)

 ユーザがモバイルアプリに表示されている広告をクリックしたタイミングで,モバイルブラウザ(WebView/Mobile Safari)が起動します(図1.①). 起動したモバイルブラウザを経由して,広告配信サーバへTrackingタグおよびUUID(クリック時に付与されるユニークなID)が送付されます(図1.②)(※4).ここでのUUIDはユーザIDやアドIDと紐づけておくことで,”誰が”,”どの案件を” コンバージョンしたかを計測するために使います.

 ブラウザ側から配信サーバのJavaScriptを呼び出すことによってブラウザへCookieの埋め込みを行います.埋め込む情報は,案件ごとに割り振られているTrackingID,クリック単位で割り振られているUUIDです(図1.③).

 コンバージョン時に情報のつきあわせを行うため,TrackingID, UUID(とそれに紐づくアド情報)を記録しておきます(図1.④). 広告主のサーバへブラウザからのリクエストをリダイレクトします(図1.⑤).ブラウザ上に広告主ページ(LP)が表示されます(図1.⑥).

ユーザのアドコンバージョン時

 ユーザがモバイルブラウザ上で会員登録するなどといったコンバージョン行動を起こしたときには,配信サーバ側ではCookieに該当するUUIDが存在するかを調べ,該当するものがあればコンバージョンとして記録します.  具体的には,以下のような順序で進みます(図2).

  1. ユーザがモバイルブラウザでコンバージョン(CV)
  2. モバイルブラウザからCVページを広告主サーバへリクエスト
  3. モバイルブラウザからCVページを表示
  4. TrackingIDを付けてCVリクエストを送信
  5. Cookieから該当する追跡情報を取得
  6. 広告配信サーバ側でクリックログからCVしたアドの特定

f:id:cou_z:20170617202231p:plain

図2. Cookieを用いたコンバージョン計測の流れ(コンバージョン時)

 ユーザがモバイルブラウザ上でコンバージョン行動を起こしCVページを閲覧したとき、モバイルブラウザからCVページをリクエストします(図2.①).ここでのCVページとは,会員登録完了などといったCV行動の最後に表示されるページです.

 CV用のページがモバイルページ上に表示されます(図2.③).③のページが読み込まれるタイミングで,広告入稿時に予め貼付けておいたコンバージョンタグが読み込まれます.これによって,案件ごとに設定されているTrackingID付きのリクエストが広告配信サーバ側に飛びます(図2.④).

 配信サーバ側でモバイルブラウザ上に記録されているCookieの情報を取得します(図2.⑤)(※5).Cookieに記録されている値を読みTrackingIDと紐づいているUUIDを取得します.ここでは,TrackingIDと紐づいているUUIDが取得されます.広告クリックなしにコンバージョンを行った場合は,UUIDがCookieに埋め込まれていないため,値が取得されずコンバージョン計測はされません.

 配信サーバ側でクリック時に保存していたログから,取得したUUIDと紐づいたユーザ情報,広告情報を取得します.ClickTimeとの差分が規定より小さい(クリックからあまり時間が経っていない)場合は,ユーザ,広告情報とともにCVとして計測します(図2.⑥).

DeviceIDによる計測とは

 アプリインストールを伴うコンバージョン計測には,端末ごとに割り振られたDeviceIDが使用されることがあります.DeviceIDには,UDIDなどではなくリセット可能なIDが割り当てられ、Appleの場合にはIDFA(Identifier For Advertising), Androidの場合にはAdvertising Identifierが使用されます(※6).  Cookieによる計測とは異なりクリック時やコンバージョン時にブラウザを起動する必要がないため,アプリ内のビューの遷移が少なくユーザにストレスを与えにくいというメリットがあります.  また,端末IDを使用した計測では効果計測ツールが複数のメディアの広告配信サーバのコンバージョンを一括して記録していることが多く見受けられます(※7).これは,計測ツールが一括して計測用SDKを提供することで,アプリに各社の広告配信サーバごとのSDKを持たせることなく,様々な広告配信サーバに広告を出すことが可能になるといったメリットがあります.

DeviceIDによる計測の流れ

 大まかな流れとしては,広告クリック時にCV計測ツール側でクリック送信元サーバのIDやDeviceIDやアプリのIDを記録しておき,コンバージョン時にアプリに搭載されたCV計測SDKからDeviceIDとAppIDを送信させることで,どのアプリのCVか,どの配信サーバのクリックによるものなのかを計測します.

広告入稿時

 広告入稿時には,計測ツール側にアプリ情報を登録し,広告配信側にも広告情報の登録を行います.

  1. 広告主(あるいは代理店)が計測ツール側にアプリ情報を登録
  2. 計測ツール側がアプリ固有のID(アプリID)を発行
  3. 広告配信サーバ側へ広告の情報を登録

 計測ツール側でどのアプリのコンバージョンかを特定するため,計測ツール側にアプリの情報を登録します.ここで登録する情報は,アプリ名やAppStore/Google PlayのURLに使用するIDなどです.アプリ情報が登録されると,計測ツール側はアプリを識別するためのアプリIDを発行します.  広告配信サーバ側で広告の情報を登録します.ここで入力する情報は,案件名や案件の種類,課金の種類や単価などです.

ユーザのアドクリック時

 ユーザがアドをクリックしたとき,広告を表示しているアプリから計測ツールへデバイスID,クリック固有の値,アプリID,クリック時間を送ります.また,広告配信サーバ側へもデバイスIDとクリック固有の値を送ることで,コンバージョン時のクリック情報の突き合わせができるようにします.

 具体的には以下のような順序になります(図3).

  1. ユーザが広告をクリック
  2. 広告配信サーバへクリックログを送信
  3. 広告配信サーバでクリックログ/アド情報を記録
  4. 計測ツールへアプリページへのリクエストを送信
  5. 計測ツールでクリックログを記録
  6. アプリページをリクエスト
  7. アプリページの表示

f:id:cou_z:20170617202322p:plain

図3. IDFAを用いたコンバージョン計測の流れ(クリック時)

 ユーザがアプリ広告をクリックします(図3.①).広告配信サーバへクリック履歴として,デバイスID(DeviceID)とクリック固有の識別子(UUID)を送付します(図3.②).  配信サーバ側で送付された値をDBに記録します(図3.③).コンバージョン時に計測ツール側から送られてくるログ(UUID)と突き合わせることで,クリックがコンバージョンにつながったことを確認するために使用します.

 ②とほぼ同じタイミングで計測ツール側へも,デバイスID, クリック固有の識別子,アプリIDを送付します(図3.④).送付された値をDBに記録します(図3.⑤).コンバージョン時にアプリの計測SDKから送られてくるデバイスID,アプリIDと突き合わせることでコンバージョンの計測を行うために使用します.

 また,④とほぼ同じタイミングでAppStore/GooglePlayのページを要求します(図3.⑥).ユーザの端末でアプリページが表示されます(図3.⑦).

ユーザのアドコンバージョン時

 ユーザがアプリをダウンロード/インストールし起動したとき,アプリ内のCV計測SDKから計測ツールにデバイスとアプリの情報が送られます.このコンバージョン情報を元にCV測定ツールがどのクリックがコンバージョンに結びついたかを特定します.クリックの送信元の配信サーバに対してコンバージョンログをUUID付きで送付することで,広告配信サーバ側でコンバージョンの特定が可能になります.  具体的には,以下のような順序になります.

  1. アプリをインストールし初回起動(CV)
  2. アプリのCV計測SDKからCVログを送付
  3. CVログからCVの計測,クリック送信元を特定
  4. 配信サーバ側へCVログを送付
  5. 配信サーバ側でCVに寄与したクリック・アドを特定

f:id:cou_z:20170617202417p:plain

図4. IDFAを用いたコンバージョン計測の流れ(コンバージョン時)

 AppStore/Google Playからアプリをダウンロード,インストールした後,ユーザが初回起動を行います(図4.①)(※8).  起動時にCV計測SDKがロードされ,CVログをCV計測ツール側に送付します(図4.②).CVログには,デバイスを特定するためのID(DeviceID:IDFA, Advertising ID),アプリを特定するためのID(AppID)が含まれます.

 効果測定ツール側で,CV時に送られたデバイスIDとAppIDを使用してどのクリックがコンバージョンにつながったかを特定します(図4.③).複数のクリックが見つかった場合には,最後にクリックされたクリックログ(Last click)がコンバージョンに寄与したと判断されます.また,クリックログ中にデバイスID,AppIDが見つからなかった場合は,コンバージョンは計測されません.

 ③でコンバージョンが計測された場合,クリックログの送信元の配信サーバに対して,CVログを送付します(図4.④).クリック時に保存しておいたクリック固有の値(UUID)を送ることで,広告配信サーバ側でどのクリックに紐づいたコンバージョンかを特定することができます. クリック履歴に存在するUUIDと送付されたCVログのUUIDを突き合わせることで,どのクリックがコンバージョンに寄与したかを特定します(図4.⑤).

おわりに

今回はモバイル広告におけるコンバージョン計測ついて,Cookieによる計測,DeviceIDによる計測の仕組みについて紹介しました.今回は紹介しませんでしたが,リファラによる計測やFingerPrintによる計測なども存在します.また機会があればご紹介しようと思います.

注釈

  1. 「2014年アドテク広告市場は2,258億円/2015年にはスマホ広告がPC広告を上回る見込み」. http://markezine.jp/article/detail/20826 より引用しています.
  2. 一般的な方法の紹介ですので,全てがこのような形になっているわけではありません.また,GunosyでのCV計測がこのようになっているというわけでもありませんのでご了承ください.
  3. DSP, SSPの場合,Cookieの情報を共有するためCookie Syncと呼ばれる手法が用いられますが,今回は対象としていません.
  4. 今回はモバイルアプリ側でUUIDを生成する例となっていますが,広告配信サーバ側で生成することもあります.
  5. Cookieの同一ドメイン制約によって,Cookieの値の取得は値を埋め込んだサーバと同一ドメインで実行する必要があります.
  6. かつては,UDIDを使用した計測が行われていましたがプライバシの問題から規制が行われたため,近年はIDFAなどが使用されるようになりました.こちらはUDIDとは異なり,IDをリセットすることが可能などの特徴を持ちます.
  7. 一部の規模の大きな広告配信会社では,自社のCV計測用のSDKを用意したり,クリックログを計測ツールに送らずに,コンバージョン時に計測ツール側にコンバージョンログを送らせることで,自社内でCV計測を行っている場合もあります.
  8. アプリによっては初回起動ではなく,ユーザ登録などがCVポイントになっていることもあります.

参考文献

  1. 「2014年アドテク広告市場は2,258億円/2015年にはスマホ広告がPC広告を上回る見込み」. http://markezine.jp/article/detail/20826
  2. 「リワード広告におけるCookieも端末IDも使わないFingerPrintを使った計測方法について」http://blogs.itmedia.co.jp/jinmsk/2013/10/cookieidfingerp-da3d.html