広告が見られただけなのに、クリックされたことになっている?
アプリ広告をアドネットワークに出稿した経験がある方から、AppLovin 勤務時代だったらちょっと回答するの躊躇っただろうな、っていう質問をいただきました。
ちゃんとした回答をパブリックなところで見た覚えもないし、こういう時代もあったんだよ〜っていう後世への記録という意味も込めて、長くなりそうですがお答えしたいと思います!
質問:view を click として計測ツールに送る、というのは現在も行われているのか?
動画広告出稿時の話なのですが、一部の広告ネットワークが view を click として計測ツールに送信しているという話があったかと思います。
これは現在でも継続されているのでしょうか?
過去にこの理由の説明を聞いたこともあるのですが、各社さんそれぞれの立場からの説明になっていて、あまりすっきりと納得がいかなかった記憶があります。
現在の坂本さんのフラットな立場から、これについての見解と最新情報をお聞かせいただけないでしょうか。
まず「アトリビューション」について理解しましょう
ご存知ない方のために簡単に説明すると、これは「アトリビューション」についての話です。
広告主にとっての成果がどの広告 (ネットワーク、クリエイティブ、etc) から発生したかどうかを知るために、ほとんどの広告主はアトリビューションツール (トラッキングツール、という言い方のほうが一般的かもしれないですね) を使っています。
web だとGoogle Analytics や Adobe Analytics (旧サイトカタリスト) などがありますが、アプリだとAppsFlyer, Adjust, Branch (旧 TUNE), Tenjin などがあります。
和製のツールだと FOX (サイバーエージェントグループ) や PartyTrack (Adways) などがありましたが、2019 年にどちらのプロダクトも Adjust に買収されています。
バナーしかなかった時代の挙動
広告主はトラッキングツールからクリック URL というものを発行し、そのURL を広告ネットワークに入稿します。
ユーザーが広告をクリックすると、そのクリック URL が叩かれて、トラッキングツールのサーバーに情報 (日時、媒体の ID、IP、ユーザーの IDFA など) が送られます。
そしてユーザーは App Store / Google Play にリダイレクトされます。
ユーザーがそのアプリをダウンロードして初めて起動したタイミングで、アプリの中に入っているトラッキング SDK が、トラッキングツールのサーバーにまた情報 (日時、アプリの ID、IP、ユーザーの IDFA など) を送ります。
その2つの情報を照らし合わせることで、あるアプリを初めて起動したユーザーが、過去何らかの広告をクリックしているか、最後にそのアプリの広告をクリックしたのはいつ、どのアドネットワーク経由で、どの媒体か、といったことがわかります。
ラストクリックモデルと、コンバージョン期間
通常は成果は最後にクリックされた広告ネットワークだけにつきます (= ラストクリック)。
つまり、例えば AdMob で荒野行動の広告がクリックされ、同じユーザーが今度は nend から配信された荒野行動の広告をクリックして、それから荒野行動をインストールして起動したとき、インストールの成果は nend にだけつき、AdMob にはつきません。
(ラストクリック以外にも、例えばユーザーがコンバージョン前に接触した全ての広告に等しく成果をつける方法、時間や順番で重み付けを変える方法、ファーストクリック、など色々なモデルがあります。が、アプリマーケの世界ではほぼラストクリックのみが採用されているのが実態です)
「コンバージョン期間」というものもあります。
例えば、nend で荒野行動の広告をクリックしたあと、そのユーザーが 2 ヶ月たって荒野行動を App Store からダウンロードして起動しました。
これは nend が寄与したインストールと呼べるでしょうか?
まったく影響がなかったと断言するのは難しいのですが、慣例としてこれは「呼べない」ということになっています。
テクニカルには、そのユーザーが広告をクリックした日 (クリック時点でサーバーに記録) から、そのユーザーが他の広告に接触せず、当該アプリをインストールした (初回起動時点でサーバーに記録) 日まで、X日以内だったらその広告ネットワークの成果とカウントする、という日数が決められています。
これがコンバージョン期間、業界用語では「attribution window」(アトリビューションの窓が空いている期間、みたいなニュアンス) と呼ばれるものです。
これを決める場所はトラッキングツールです。
AppsFlyer, Adjust など広告主が自由に変えられるツールもあれば、原則固定 (28日、とか) というものもあります。
ここまではクリックの世界の話です。
動画広告の時代のアトリビューション、view through
さて、ぼくが AppLovin で働き始めるちょっと前 (2014 年ぐらい) から動画広告というものがアプリの世界に出てきました。
15-30 秒の動画広告を最後まで見ると、バナーとかと比べるとまぁまぁ印象には残るじゃないですか。スマホだと全画面だったりするし。
でも、あるユーザーは、その場でクリックはしませんでした、けれども 1 時間後にそのアプリをインストールしました。
これはさすがに、広告を見せたおかげだよね...?
でもクリックベースだとそのインストールは「動画広告の貢献だ」とは (トラッキングツールで) 判定されない。
そこで出てきたのが view through (ビュースルー) という概念です。
(これに対して、従来のものを click through (クリックスルー) と言います。CTR (クリックスルーレート) のクリックスルーです。)
これは、ユーザーが広告を「見た」タイミングで、トラッキングツールのサーバーに (クリックのときと同じように) 広告に接触したよっていう情報が送られます。
このとき、ユーザーには見えない裏側で叩かれる (発火される) URLが「view through URL」(呼び方はツールによって違うのかもしれない) で、click URLと同じようにトラッキングツールの管理画面から発行します。
こうすることで、仮にユーザーが広告をクリックしなかったとしても、トラッキングツールのサーバーにはどのユーザーがいつ、どこで、どのアドネットワークで広告に接触した (視聴した) のかが分かり、その後インストールが発生した際には、どのアドネットワークが貢献したインストールなのかが分かる、正確に成果をつけることができる、というわけです。
click は view より強し
ここで知っておかないといけないのが「clickのほうがviewより強い」ということです。
具体的には、アトリビューション期間の話と、優先順位の話があり、相互に関連しています。
まず、ユーザーがある広告をクリックするという行為は、ユーザーがその広告やアプリに対して積極的に興味があるというサインだと考えられています。(ミスクリック何それ美味しいの?)
一方で動画視聴は、じーっと見てたかもしれないし、まったく見てなかったかもしれないし...どれぐらいユーザーの認知や欲求に影響を与えたのか、厳密に判断することが今の技術では出来ません。
なので、click through コンバージョンのほうが view through コンバージョンより優先されます。
例えば、ユーザーが AdMob で広告をクリックして、翌日に nend の動画広告を見てインストールしたという場合、成果は nend ではなく AdMob につきます。
また、click through のコンバージョン期間と、view through のコンバージョン期間は、前者のほうがデフォルトで長いトラッキングツールが多く、また前者のほうを長く設定している広告主がほとんどです。
例えば AppsFlyer でのデフォルトのコンバージョン期間は確か、click through は 7 日、view through は 1 日になっています。(違ってたら / 変わってたらゴメンなさい)
広告ネットワーク視点でこれをハックするには?
上記を踏まえて、アドネットワークとして、よりたくさんのインストールを自分たちの成果にする (=より儲ける) ためにできることはないか...?
その方法の 1 つが、最初の質問にある「viewをclickとして送る」、より正確な表現をすると、ユーザーが広告を視聴したとき、view through URL ではなく click through URL を裏側で叩くというものです。
こうすることで、先にクリックされている他のアドネットワークを上書きできる (view through URLでは出来ない) のと、本来よりも長い期間インストールを自分たちの成果にできる (click のほうが attribution window が長いため) という、2つのメリットがあります。
ただし、これはもちろん広告主の視点では歓迎されません。主に3つの理由があります。
1. 本来支払わなくてもよかったコストを支払わないといけない (CPI 課金で、オーガニックインストールを食ってしまうパターン)
2. パフォーマンスを正確に把握できない (click と view をちゃんと分けているアドネットワークが相対的に低く評価されてしまう)
3. アドフラウドの温床になりかねない (広告が実際には表示さえされていないのに click URL が叩かれていたら...?)
なので、知らないうちにこの設定になっていないかどうか、きちんとモニターする必要があります。
よほど上手な実装で誤魔化されていなければ、見破るのは比較的簡単です。
上記設定になっていた場合、トラッキングツール上では impression と同じぐらいの数の click が記録されるからです。
また、広告ネットワークの管理画面ではクリック数はあくまでクリック時点でカウントされていることが多いので、トラッキングツールとアドネットワークの管理画面の間でクリック数に大きなずれが生じることになります。
古巣・AppLovinも昔はコレやってました。何故なら...
実は僕の前職 AppLovin でも、日本に限り、以前は動画の視聴完了時点で click URL を叩いていました。
が、これには日本特有の止むを得ない事情がありました (他の国ではやっていませんでした)。
それは FOX (by サイバーエージェントグループ) というトラッキングツールが、日本で異常に高いシェアを持っており、かつ、view through と click through を分けるという機能を有していなかったからです。
ぼくが知ってる限り、今も FOX には view through の仕組みはないはずです。(社内外からリクエストはあったようですが、結局実装されず)
つまり広告主が FOX を使っていると、click URL しか発行されない。
これを、クリック時点で叩くのか、動画の視聴時点で叩くのか。打ち上げ花火みたいですね。
前者にすると、view through コンバージョンが測定されないので、AppsFlyer などを使っている広告主と比べてインストールを過少に評価してしまう。
後者にすると逆に、過大に評価してしまう。
動画広告という「視聴だけでユーザーに態度変容をもたらしている」というメニューをやっている立場としては、当然それがゼロ評価になるというのは許容できないということになりました。
また、他のアドネットワークが視聴時点 (中には視聴完了ではなく開始時点で、というところもあった) で click URL を叩いている中で、自分たちが同じことをやらないと、競合よりも低く評価されてしまう、という事情もありました。
さらには、FOX を使った案件をそのような設定にしているとき、他のトラッキングツールでは view through URL を使うという風にすると、FOX を使っている広告案件をより高く評価してしまいます (見た目上、インストールが多くカウントされるため)。
そうすると、ユーザー獲得を伸ばしたい広告主に対しては成長機会を奪ってしまうことになります。
なので、条件をイーブンにするために、他のトラッキングツールを使っている場合でも、click through URL を視聴時点で発火させる、ということをやっていました。
広告主も納得の上で、だけどね
ただし大前提として、AppLovin では広告主に対して、または代理店経由の場合は代理店に対して、そのことをちゃんと説明し、納得できない場合は広告出稿をお断りする、という風にしていました。
黙ってやって後から揉めると業界で評判を落とすし (説明してない広告ネットワークもありましたよ、当時)、AppLovin はビジネス相手を騙して売上を伸ばそうみたいな文化でもなかった (売上の目標や売上連動ボーナスとかもなかったですし)、というのもあります。
なのに、代理店の中にはそのことをきちんと広告主に伝えておらず、あとからバレたときに「AppLovin が勝手にやった」と言い訳してるようなところもありました...悲しかったです。
(そういうの、どこの誰がそういうこと言ってる、って情報は回ってくるもんなんですよね。もう忘れちゃいましたが)
なお今では、AppsFlyer や Adjust など海外製のトラッキングツールのシェアが十分大きくなってきたので、ほぼ全ての案件でちゃんと view through URL と click through URL を分けて使うようになっています。
FOX, Party Track の案件だけは今だに出来ていないですが、こればっかりは仕様の問題なので仕方ないですね...
まぁ買収されたことですし、これから姿を消してゆくのでしょう。諸行無常。
というわけで結論
日本特有の事情により、2014-2018 年ぐらいまでは「広告視聴時点で click URL を叩く」というのは多くの動画系アドネットワークで一般的に行われていました。
現在ではそんなことをする必要もなくなったので、一部の (悪意、もしくは特殊な事情のある) 広告ネットワーク以外では、きちんと view と click を分けて計測されるようになっているはずです。
不安な方は、各広告ネットワークに対して、下記数値をチェックしてみることをお勧めします。
1. 広告ネットワーク管理画面のインプレッション数と、トラッキングツール上のインプレッション数が乖離していないか
2. 広告ネットワーク管理画面のクリック数と、トラッキングツール上のクリック数が乖離していないか
3. 広告ネットワーク管理画面のインプレッション数と、トラッキングツール上のクリック数が、近い数字になっていないか
まぁこれで 100% 見破れるなら苦労しないわけで、例えば広告表示時に 100 回に 1 回だけ click URL を叩くみたいな悪意ある実装を、広告ネットワークあるいはメディア側がやっちゃえば、人間の目では見破るのが極めて難しくなってしまうんですけどね。
そういった悪行を妄想するの個人的には好きなんですが (ぉぃ)、深掘りすると長くなっちゃうので、今日はこのへんで。
今回は Smartly.io の宣伝もないです。笑