「ads.txt」はオンライン広告の不正を減らすための仕組みです。ads.txtがなぜ必要なのか、実際の設置方法やよくある間違いを解説します。解説/ノウハウ1919466最近耳にすることが増えた「ads.txt(アズテキスト)」。これはオンライン広告の透明性を高めて広告詐欺を減らすための仕組みとして、IAB(インタラクティブ・アドバタイジング・ビューロー/米国のインタラクティブ広告業界団体)が提唱しているものです。なんとなく理解していても、「どういう仕組みでどんな詐欺を防ぐのかはよく知らない」という人も多いのではないでしょうか。この記事では、ads.txtが必要になった背景や仕組み、そして実際の書き方や設置方法も紹介していきます。[1]、国内でads.txtを設置しているインターネットメディアは、2017年の12月12日時点で約20%でした。AdSenseから警告が出て話題になるなど、運用に関しても混乱が起きるという出来事がありました。ここでは、オンライン広告におけるRTBの仕組みからads.txtについて解説しますが、後半は技術的な話も含みます。全員が技術的な記述方法を身に付ける必要はありません。広告主アドフラウドに対してads.txtを正しく使って対策している媒体・プラットフォームを選ぶ媒体社メディアレップやプラットフォーム、その他中間業者から言われたままではなく、ads.txtチェックツールなどを用いて確認を行うプラットフォームSSPはads.txtの設置方法・内容についての正しい情報提供を行い、DSPはads.txtへの対応方法や対応状況を公開する以降は見出しに対象者を表すマーカーを表示しています。自分に必要な部分を読んでください。プログラマティック広告の現状と経緯ads.txtはなぜ必要なのかを解説する前に、現状のオンライン広告(プログラマティック広告)がどのような経緯・仕組みで成り立っているのかを簡単に説明します。オンライン広告は、オンラインメディアの広告枠を広告主が買うことで成り立っています。基本的な構造はテレビや雑誌等の他の広告媒体と変わりません。古くから行われているオンライン広告のひとつとして「トップページの一番上に表示されるバナーを1週間掲載するためには1000万円」といった広告メニューがあります。このような伝統的な期間保証型の広告の場合は、メディア自身が広告枠を管理しているので、「どの広告案件のどんな広告素材がどこの枠にいつ掲載されているのか」が明確で、広告主も掲載を直接確認でき、広告費の支払先も明確です。このような広告取引は現在も行われており「純広告」と呼ばれています。この仕組みだけではメディア自身で広告案件を獲得してくるだけでは限界があります。広告枠の場所もどんどん増えていくため、次第にメディアレップやアドネットワーク業者が間に入って広告取引を仲介する仕組みに変わっていきました。すると、成果を上げるためによりターゲティングしようとする動きが出てきます。)に合わせた広告を掲載しようとすると、とても人の手では運用しきれません。そこでより適切にターゲティングした広告の自動取引(オークション)をリアルタイムに行うプログラマティック広告が誕生しました。Auction)の仕組みプログラマティック広告では、さまざまな広告の取引形態を組み合わせて最適に運用することを目指しています。Exchange、DSPといった業者がそのメディアに訪れた読者に合った広告を自動的に選別してリアルタイムに掲載してくれます。Bidding)と呼びます。RTBの基本的な仕組みを図1に示しました。[2]図1:RTBの仕組み。Exchangeが最も入札額の高いDSPからの広告で落札する落札した広告主の広告をメディアに掲載するRTBでは、ユーザーがアクセスするごとにこうした処理が瞬時に行われています。このような仕組みで、効率的に広告枠のマネタイズを行いたいメディアのニーズ、広告の掲載を効率的に行いたい広告主のニーズを満たし、急速に広がっていきました。RTBを悪用したアドフラウド(広告詐欺)の出現しかしそんなRTBにも良くない一面がありました。いわゆる広告詐欺(アドフロード、アドフラウド)です。Exchange、DSPといった業者が自動的に広告と広告枠をマッチングします。そのため広告主側で実際に広告がメディアに掲載されていることを確認するのは難しく、メディア側もどんな広告が掲載されているかをすべて把握することはできません。そのため、実際に広告が掲載されているかのように装って、広告費をだましとる詐欺が横行しています。その手法を表したのが図2です。[3]図2:RTBの仕組みを悪用したアドフラウドの例。先ほどの図1と見比べてみてください。悪意を持った第三者が、広告枠を販売するメディアになりすましています。図2の例では、悪意を持った第三者が、「自分がWeb担当者Forumだ」と偽り、2の情報を改ざんして、広告のリクエストを送信します。DSPはその情報を信じて入札し、広告がニセのサイトに掲載されます(345)。悪意のある第三者は嘘だとばれないように、その広告をたまにクリックしたり、動画を再生したりという偽装も行います。DSPは成果に応じて広告費をSSPに支払い、SSPはアカウントIDの情報に従って、お金をメディアに分配します。このSSPのアカウントIDが悪意を持った第三者のものであることから、不正な収入を得られるという構造です。広告主媒体社プラットフォームads.txtはどうやってアドフラウドを防ぐのかSSPはアカウントIDの情報に従って収入を分配するので、「このSSPのアカウントIDが適切なものかどうか」を確認できれば、前項のような不正は防げます。SSPのアカウントIDが適切なものかを確認するための仕組みがads.txtです。ExchangeとそれぞれのアカウントIDをそこに記載しておくことで、悪意を持った第三者が「自分はWeb担当者Forumだ」と偽ったとしても(2)、DSPがWeb担当者Forumのads.txtを確認すれば(3)、アカウントIDが一致しないために偽物であることがわかります(4)。結果として入札も行われないため、不正に収入を得ることもできなくなります。アカウントIDを正式なads.txtに書かれているアカウントIDと同じものにして広告のリクエストを送信したとしても、その収益は第三者のものにはならず本来のメディアに分配されるため、広告詐欺を行う金銭的なインセンティブがなくなります。このように簡単な仕組みでアドフラウドを防止できることから、いま、ads.txtは世界中で実装が進んでいます。1.0.1)ads.txtは簡単に設置できますが、その設置方法や内容の書き方に細かい決まりがあるため、その決まりに添って運用していくことが必要です。ここからは、ads.txtの設置にかかわる媒体社・プラットフォーム向けに解説していきます。DSPは決まりに従ってads.txtを確認するので、設置方法や内容が誤っていると、広告枠に広告が出なくなり、広告収入が得られなくなるリスクがあります。そのため、ads.txtの作成やアップロードはよく注意して行う必要があります。ads.txtはルートドメインに設置するまず、一番多いのは設置場所の誤りです。以下、Web担当者Forum(https://webtan.impress.co.jp/)を例にして説明します。設置場所は以下のとおりです。上が正しい設置場所、下が誤った設置場所です。ads.txtのファイル名は必ず小文字で「ads.txt」とします。https://webtan.impress.co.jp/ads.txtメディアをサブドメインで運用している場合、「https://webtan.impress.co.jp/ads.txt」のみに設置してしまう間違いが多くありますが、ads.txtは正しくは「ルートドメイン」と呼ばれる、サブドメインを含まない「impress.co.jp」に設置する必要があります。「https://www.impress.co.jp/」などの「www」もサブドメインと同じ扱いです。「www」が付かないルートドメインにads.txtを設置する必要があります。https://www.impress.co.jp/ads.txtサブドメインでメディアを分けて運営していない場合は、設置場所については以上です。サブドメインで別メディアを運営しており、それぞれでads.txtの内容を変えたい場合の説明については、後ほど説明します。次に、具体的なads.txtのサンプルを示します(図4)。ads.txtでは次の3つの情報を示すことができます。Exchangeに許可を与えるかという情報(必須)ads.txtに関する問い合わせ窓口の情報(任意)サブドメインに関する情報(任意)[7]図4:ads.txtの記述サンプル(全体)行内の「#(シャープ)」以降に続く文字列はコメントとみなされます。わかりやすいようにどの行が何を示しているのかのメモを書いておきましょう。行内の半角スペースやタブは無視する仕様になっているため、見やすくするために半角スペースやタブを入れても構いません。Exchangeに許可を与えるかという情報(必須)まずは一番重要な1「どのSSP/Exchangeに許可を与えるか」という情報の記載方法について説明します。[8]図5:ads.txtの記述サンプル(上部)1行に最大4つの情報(コメント除く)を記載でき、1~3つ目は必須項目で、4つ目は任意の項目です。それぞれの情報を「,(カンマ)」区切りで記載します。これらの情報のセットを、SSPのアカウントごとに1行ずつ記述します。AdSenseの場合は「google.com」と記載します。2つ目の情報(アカウントID)アカウントIDです。Exchangeに問い合わせて、自分のアカウントIDを調べる必要があります。グーグルの場合は、AdSenseにログインした後の、「アカウント情報」のページで確認できます。3つ目の情報(管理タイプ)2つ目に指定したアカウントの管理タイプで、自分で管理しているアカウントか、代理店等の第三者が管理しているアカウントか、を「DIRECT」または「RESELLER」で示します。わかりやすい例では、AdSenseからの収益が自分の口座に直接振り込まれる場合は、「DIRECT」、代理店を経由して支払われる場合は「RESELLER」となります。Group)という認証団体によって認証されている場合に、記載します。指定があった場合には記載します。グーグルの場合には「f08c47fec0942fa0」となります。2ads.txtに関する問い合わせ窓口の情報(任意)「ads.txtに関する問い合わせ窓口の情報」は、書かなくてもいい任意の項目です。[9]図6:ads.txtの記述サンプル(中部)ads.txtに関する問い合わせ窓口がある場合は、問い合わせ先を記載してください。この項目には、メールアドレス、電話番号、ウェブ問い合わせフォームのURLなどを記載します。URLに半角スペースが入る場合は「%20」などURLエンコードした値を記入する必要があります。図6では問い合わせフォームのURLを記載していますが、メールアドレスの場合は次のように記載します。contact=contact@sample.com3サブドメインに関する情報(任意)最後のサブドメインに関する情報は、前述した「サブドメインで別メディアを運営しており、それぞれでads.txtの内容を変えたい場合」に必要になる項目です。内容を変えたい場合」に該当しますので、実際にどのように用いるか解説します。正しい設置場所である、「https://impress.co.jp/ads.txt」に次のような内容を記載します。subdomain=netshop.impress.co.jpそして、それぞれのメディアのサブドメインのルートにもads.txtを設置します。https://webtan.impress.co.jp/ads.txt「Web担当者Forum」用のads.txt設置場所https://netshop.impress.co.jp/ads.txt別メディア「ネットショップ担当者Forum」用のads.txt設置場所この場合、ルートドメインである「https://impress.co.jp/ads.txt」にはサブドメイン情報のみを記述し、各サブドメインのads.txtにはそれぞれのSSP情報を記述します。ルートドメインの「https://impress.co.jp/ads.txt」にもSSP情報が必要な場合は、サブドメイン情報に加えて「https://impress.co.jp/ads.txt」用のSSP情報も記述します。このように、サブドメインで分かれている場合に、DSPに対して「サブドメインでSSPのアカウントが分かれているから、ちゃんとこっちの情報も見てくださいね」と示すためには、ルートドメインのads.txt内で「subdomain=」を記述して明示的に設定する必要があります。媒体社プラットフォームads.txtのチェック方法ここまで説明してきたように、ads.txtはチェックポイントがいくつかあります。すべてのチェックポイントを手作業で調べることは、意外と手間がかかります。[11]を提供しています。[11]上記サイトにads.txtのURLを入力するだけで、設置場所、文字コード、構文のチェックを自動的に行います。現状ではチェック機能のみですが、今後は、自動的にads.txtを生成できるように進化させていく予定です。http://b.hatena.ne.jp/entry/https%3A%2F%2Fwebtan.impress.co.jp%2Fe%2F2018%2F02%2F08%2F28001。