OXY NOTES

ads.txtの設置方法を通して学ぶインターネット広告の問題点

サーバのエラーログを見ていると「ads.txtが見つからない」というログが散見されました。「ads.txt」の存在は知っていたものの「小規模なサイトにはあまり関係のない話かなぁ」とスルーしていました。
ログに流れたbotの出自を調べてみるとGoogleだけでなく、複数の会社によるものと判明しました。これだけの頻度でさまざまな会社からアクセスがあるということは、割と普及してきたのかもと考えを改めました。

ということで「ads.txt」について本腰を入れて調べてまとめました。


ads.txtとは

ads.txt(アズテキスト)IAB(Interactive Advertising Bureau)によって定義されています。
IABは「オンライン広告における技術的標準規格の策定を始め、動向調査や法整備などを行う組織」とのこと。
IABによる定義ではads.txtの役割は「広告システムの透明性を高めること」です。
ちなみにadsとはAuthorized Digital Sellersの略です。広告枠の販売を許可する認定販売者を宣言することで詐欺広告を防止し、透明性を高めることができます。

この説明だけではads.txtの必要性について理解し難いと思います。そこでまずはインターネット広告の仕組みと、問題点について順を追って解説します。


インターネット広告の仕組み

純広告

最も歴史の古い広告システムは純広告です。純広告は特定メディアの広告枠を一定の期間買い取って掲載する方法です。いわゆるマスメディアを介して行われてきた旧来の広告です。

クライアントからメディアへ依頼する場合もあれば、メディア側からクライアントへ広告枠を売り込むこともあります。

クライアント側のメリットは、商品と親和性の高いサイトに掲載ができる。費用対効果の計測が容易。
デメリットは広告枠を専有するため単価は高くなる傾向にある。掲載するメディアの選定や契約に時間と手間がかかる。広告代理店を介する場合は手数料が高額になる。

メディア側のメリットは単価が高く収益が安定する。
デメリットは広告枠を販売するには一定以上のアクセス(ボリューム)が必要。サイトのコンテンツによって掲載できる広告が限られる。契約の手続きに時間と手間がかかる。

以上のように純広告の契約は基本的に人力のため手間と時間がかかります。メディアの数が限られているテレビ・新聞といったマスメディアの場合は効果的な方法でしたが、無数に広告枠が存在するインターネット広告ではより効率の良い広告システムが求められていました。
そこに登場したのが自動入札です。

クライアントが利用するDSPとメディアが利用するSSPによるRTB

何やら見慣れない英単語が羅列されていますが、こうした先進的な広告システムはほとんどがアメリカ発なので仕方がありません。煩わしいですがシステムを理解するには覚えるしかありません。

DSPとはDemand-Side Platformの略で、需要側、つまり広告依頼主(クライアント)が希望する広告枠に関する情報を登録するためのシステムです。予算、期間、ターゲットの指向性などをあらかじめ指定します。

対してSSPSupply Side Platformの略で、メディアが登録した広告枠に対して一番高値を付けた広告を配信するシステムです。

RTBとはReal-Time Biddingの略で、リアルタイムに広告枠を入札するシステムです。つまり、DPSで広告主の要望を登録し、SSPを介して広告の入札を行う。この一連の作業を自動化したものがRTBです。別名プログラマティック広告ともオープンオークションとも呼ばれます。

こうしたユーザーのセグメントに合わせた広告をリスティング広告と言います。

クライアント側のメリットは希望のセグメントだけ登録すれば後は自動で広告枠の入札が行われるので手間がかからないことです。
デメリットはRTBは多くの場合ASP(広告代理サービス)を介して取引を行うため、手数料がかかります。またASPが契約しているメディア内で入札を行うため、広告を掲載するメディアを指定することができません

メディア側のメリットは、アクセスの少ないサイトでも収益化が可能クライアントと個別に契約する手間がかからない
デメリットはシステムによって価値が低いと判断されれば安価で買い叩かれる。ASP(広告代理サービス)に仲介手数料を取られる。

仲介を行う最も有名なASPはなんと言ってもGoogle AdSenseでしょう。Google AdSenseの手数料は2~3割と言われています。(プロダクトによって異なる)

双方に恩恵をもたらす広告枠の自動入札ですが、自動であるがゆえの弱点もあります。広告とコンテンツとのミスマッチがその代表的な例です。
ダイエットの危険性を訴えるページに、ダイエット食品の広告が掲載される」というミスマッチがどうしても避けられません。
また、RTBの仕組み上、特定の商材で単価が高騰しやすいという特徴があります。するとその商材を狙って、質の低いコンテンツを量産するメディアも出てきます。
近年では著作権違反やヘイトスクラムなど、過激な内容でアクセス数を稼ぐサイトも問題になっています。ASPはさまざまなアルゴリズムで不正なサイトを排除していますが、システムが不正に追いついていないというのが現状です。

また自動入札では「セグメント情報は異なるものの、ブランドイメージ向上のために特定メディアの枠を購入したい」といった対応もできません。


より価値の高い広告を実現するPMP

PMPとはPrivate Market Placeの略で、参加するクライアントとメディアが限定されたシステムです。広告枠を限定することでブランドイメージを高めてくれるような質の高い広告が可能になります。メディアにとっても広告枠が高く評価されることで収益が向上します。
つまり、プログラマティックな純広告です。

PMPの仕組みはRTBと同じです。違いはホワイトリスト形式で質の高い広告を実現するのがPMPの特徴です。
特別なPMP専用の広告枠、いわゆるプレミアムな広告枠もあれば、一般の広告枠と同じ枠を利用している場合もあります。

メリットの多いPMPですが、純広告ほどではないにしても手間がかかります。(実際の契約業務は広告代理サービスによって行われる)

2019年現在、広告システムで先を行くアメリカではプログラマティックな広告の内、2割ほどがPMPに準じたものになっているそうです。日本ではまだ端緒についたところです。

こうしたプレミアムな広告枠の販売は、まだまだ伸びしろのある分野ですが、成立には広告の透明性が欠かせません。


インターネット広告における透明性の問題

DSPとSSPを利用したオープンなRTBにしろ、PMPによるクローズなRTBにしろ、広告の透明性という点では問題が山積しています。
その一つがアドフラウド(Ad Fraud)という広告詐欺や不正な広告の横行です。

最も初歩的なアドフラウドbotによって広告の表示回数を水増しする行為です。メディア側の人間が小遣い稼ぎに行なうことがほとんどです。
その他にもユーザーに見えない位置に広告を埋め込んだり広告を1ページに大量に貼り付けたりと、自動入札の仕組みを悪用した方法が日夜生み出されています。

こうした不正を許せば広告システム自体が成り立たないため、公正なルール作りや、不正を感知するアルゴリズムが日夜開発されています。

残念ながら話はここで終わりません。
広告の透明性を脅かす行為はメディア側だけでなく、広告代理サービスにおいても行われています。その代表的なものが「広告枠の再販売」と呼ばれるものです。
インターネット上に無数のメディアが誕生すると、それに伴い広告代理サービスも増えました。すると別の広告代理サービスから広告枠を購入し、高値でクライアントに売りつける業者が出てきました。いわゆるダフ屋のような行為です。無駄な中間手数料が増えれば広告枠の費用対効果は低下します。

他にも契約しているメディアの数を多く見せるために、A枠とB枠とセットにしてカウントを水増しするという行為も確認されています。
さらに悪質な例では、実際には取引がないにもかかわらず特定のメディアと広告枠を契約しているように見せかけるという例もあります。ここまでくると水増しや操作といった範疇ではなく、ただの詐欺です。

広告代理店とメディア双方に不正を行うものがいるとなると、RTBの信頼性は根底から覆されてしまいます

以上のように、インターネット広告は自動化によって急速に発展した反面新たな不正や危険性も生じています

こうした問題に対して「広告の透明性」を確保しようという動きが、タイトルにある「ads.txt」です。


ads.txtによって広告の透明性を確保する仕組み

ads.txtの仕組みは簡単です。
メディア自身が広告枠の販売に利用している広告代理サービスを明示する」というものです。

以前であれば広告依頼主が特定のメディアの広告枠を購入する場合、純広告を直接依頼するか、取引している広告代理サービスをメディアに問い合わせるしかありませんでした。

ads.txtを見ればクライアントが特定メディアの枠を買う際に、どの広告代理サービスに依頼すればよいか一目瞭然です。

クライアントは広告枠を購入したいメディアのads.txtを見ます。すると広告枠の販売を許可している広告代理サービスがわかります。つまりads.txtが普及すれば広告枠の再販売や、存在しない枠を販売するといった不正は予防できます。


ads.txtの書式と設置方法

ads.txtの書式はIBAの「ADS.TXT – AUTHORIZED DIGITAL SELLERS」で定義されています。

現在の最新バージョンは2019年4月に改定された1.0.2です。バージョンナンバーが示すとおり、当初の設計からそれほど変化はありません。
このページの解説よりも詳しく知りたい方はIBAが発行しているpdfファイルをご覧ください。

ads.txtの書式

ファイルはテキストフォーマットでcharsetはUTF-8形式で作成します。
データはカンマ区切りで、4つのフィールドに区切ります。

FIELD #1, FIELD #2, FIELD #3, FIELD #4

それぞれのfieldには以下の内容を記述します。

FIELD NAME 説明
Field #1 ドメイン名 (必須)パブリッシャーが利用しているSSPの正規のドメインを指定します。(google.comなど)
Field #2 パブリッシャーアカウントID (必須)Field #1の広告代理サービスから付与されたパブリッシャーIDを指定します。(pub-○○○○○○○など)
Field #3 アカウントタイプ (必須)パブリッシャーと広告代理サービスとの関係を記述。
広告代理サービスと直接取引をしている場合は「DIRECT」。
別の広告代理サービスを介して広告枠の再販を許可している場合は「RESELLER」。
Field #4 認証機関ID (任意)広告代理サービスを表す個別のID。認証機関Trustworthy Accountability Groupによって割り振られています。

必須なのは前半3つのフィールドで、最後の1つは任意です。

例)Google AdSenseの場合

google.com, pub-○○○○○○○, DIRECT, f08c47fec0942fa0

実際に設定する際も変更するのはパブリッシャーアカウントIDだけで、他の文言はGoogle AdSenseで固定なので変更する必要はありません。
pub-○○○○○○○」の調べ方ですが、Google AdSenseにログインしてメニューから「アカウント > 設定 > アカウント情報」をクリックし、「サイト運営者 ID」という項目に記載されています。

Googleの認証機関IDは公式ページで明示されています。

その他、ASPによって固有のIDがあるようですがリストのようなものは見つけられませんでした。Trustworthy Accountability Groupに検索ツールはあるものの使い勝手が悪く実用的ではありません。ASPのマニュアルを参照するか、問い合わせて確認するのが確実です。

コメント

行頭に#を追加すると、その行はコメント行として無視されます。

コメントの例

# GoogleAdSense用
google.com, pub-○○○○○○○, DIRECT, f08c47fec0942fa0

コンタクトレコード

contact=””とすることでコンタクト用のレコードを記述することができます。

コンタクトレコードの例

example.com, XF436, DIRECT
contact=adops@example.com
contact=http://example.com/contact-us

承認された認定販売者を明示しない

認定販売者を明示したくない場合、何も記述していないads.txtをアップロードするか、以下のように「placeholder」と記述します。(設置するファイルがhttp://example.com/ads.txtの場合)

placeholder.example.com, placeholder, DIRECT, placeholder

ads.txtファイルをアップロード

ファイルのフォーマットは「UTF-8」、改行コードは「CR」もしくは「CR+LF」で、ファイル名は「ads.txt」とします。

ads.txtファイルをアップロードする場所はルートドメインです。
例えばhttps://example.comというサイトであれば、https://example.com/ads.txtでアクセスできる位置に設置します。
サブドメインがある場合でもルートドメインに設置します。サブドメイン直下にhttps://hoge.example.com/ads.txtとするのは間違いです。

サブドメインがあり、異なる認定販売者を宣言する場合はルートドメイン上に設置したads.txtにサブドメインの情報を明記した上で、サブドメインのルートドメインにads.txtを設置します。

https://example.com/ads.txtの内容

google.com, pub-○○○○○○○, DIRECT, f08c47fec0942fa0
subdomain=hoge.example.com

https://hoge.example.com/ads.txtの内容

google.com, pub-☓☓☓☓☓☓☓, DIRECT, f08c47fec0942fa0

以上ads.txtの書式でした。
たかが4つの区切りでできたテキストファイルですが、意外と記述ミスが多いとのこと。アメリカでの調査ではads.txtを設置しているサイトの内、1割程度に誤りがあるそうです。
誤った設定を行うと、取引している広告代理サービスの広告が表示されなくなります。注意して設置してください。


これでads.txtについての解説は一区切りです。

懸命な読者様は気づかれたと思いますが、ads.txtによって予防できるアドフラウドは全体のごく一部です。決して万能薬ではありませんが、自身のWebサイトに広告を扱う以上、広告の透明性を高める取り組みには積極的に参加するべきです
そうした取組が回り回って収益の安定と最大化として帰ってくるはずです。