アイリッジ開発者ブログ

アイリッジに所属するエンジニアが技術情報を発信していきます。

【Android】Google AdSenseアカウント永久停止〜謝罪からの復活まで

こんにちは。

開発部第1グループ、Android担当の沓名です。

今回は個人開発のAndroidアプリに広告サービスであるGoogle AdMobを導入した際の厄介だった体験談を書かせていただいています。興味のある方はご一読いただけると幸いです。

前提

広告サービス:Google AdMob

収益用アカウント:Google AdSense(AdMobを導入するのに必要なアカウント)

Google AdMobとは

公式ドキュメントより

Google AdMob は、高品質な広告の配信を通じて、開発したモバイルアプリを容易に収益化できるサービスです。広告ニーズのグローバル化、革新的な広告フォーマット、高度なアプリ収益化テクノロジーを組み合わせて、インプレッションの価値を最大化します。

Google AdSenseとは

公式ドキュメントより

Google AdSense は、オンライン コンテンツから収益を得ることができるサイト運営者様向けのサービスです。コンテンツや訪問者に基づいて、関連する広告がサイトに表示されます。広告は、商品やサービスを宣伝する広告主によって作成され、費用が支払われます。広告の種類によって広告主が支払う金額が異なりますので、広告から得られる収益も異なります。

AdSenseアカウントの永久停止

簡単なToDoアプリを作り、Google AdMobによるバナー広告を導入してリリース後、以下のようなメールが届きました。

平素よりお世話になっております。

 
このたび、お客様のアカウント(パブリッシャー コード: ***********)が 
AdSense プログラム ポリシーに違反していることが判明し、
アカウントが無効となりましたのでお知らせいたします。
これにより、AdSense を利用するすべてのサービス(AdMob や YouTube など)での
広告配信と収益化の機能が無効となります。

Google では、AdSense のプログラム ポリシーに則って、
すべてのパブリッシャー様を継続的に審査しております。
最近行われた審査において、
お客様のアカウントは次のプログラム ポリシーに準拠していないことが判明いたしました。

検出された違反:

不正行為を助長するコンテンツ:
次のようなコンテンツは許可されません。
ユーザーの誤解を招くコンテンツ
ハッキングやクラッキングを助長し、ソフトウェア、サーバー、
ウェブサイトの改ざんやそれらに不正にアクセスできるようにする手順や手段をユーザーに提供するコンテンツ

「不正行為を助長するコンテンツ」というものに心当たりがなかったため、再審査請求を行いました。

Google AdSenseアカウントが規約違反で停止された場合、一度だけ専用のフォームから再審査請求を行うことが可能です。

すると翌日、以下のようなメールが届きました。

お客様

このたび、お客様の申し立てを審査いたしましたが、
誠に残念ながら、お客様のアカウントを再開できないとの判断に至りました。
申し立ての審査結果は、弊社のポリシー担当者が慎重に調査したうえでの最終決定です。
アカウントが無効となったサイト運営者様は、
今後 AdSense プログラムにご参加いただくことはできませんのでご了承ください。

無効となったアカウントに関して詳しくは、
ヘルプセンター記事「アカウントの閉鎖につながった無効なトラフィックとポリシー違反」
(https://support.google.com/adsense/answer/2660562?utm_source=crs&utm_medium=email&utm_campaign=notificationhl=ja&answer=113059&topic=30288)
をご参照ください。

ご理解のほどよろしくお願い申し上げます。

Google AdSense チーム

非常に強い文章でアカウント再発行ができない旨が記載されていることがわかります。

お客様のアカウントを再開できないとの判断に至りました。
申し立ての審査結果は、弊社のポリシー担当者が慎重に調査したうえでの最終決定です。
アカウントが無効となったサイト運営者様は、
今後 AdSense プログラムにご参加いただくことはできませんのでご了承ください。

特にこの部分が重要で、

Google AdSenseのアカウントはGoogleアカウントと紐付いているので、アカウントを再発行しようが同じ名前や請求先であろうが特定して二度とGoogle AdSenseの広告サービスは使わせないぞ、ということらしいです。

※ちなみにAdSenseのアカウントが停止されるとアプリ内に広告が表示されなくなりますが、アプリ自体が公開停止されるわけではありません。

永久停止されてからの対応

今回のアプリで広告が使えなくなるだけならまだしも、今後二度と広告が使えないのは流石に辛いですよね。

「アプリ作っても広告載せられないんだよな…」となると、開発意欲も激減するというものです。

エンジニアとして非常に大きな烙印を押され、意気消沈です。

これはなんとかしたい!と、同じようなことで悩んでいる人のブログ記事等をとにかくたくさん調べました。

残念ながら基本的に一度停止されたGoogleAdSenseアカウントを復帰する手段は現状だと存在しないという情報が多かったのですが、

たまたま「暫く経ってから謝罪のメールをしたら復活した」という事例を見つけたので、

そこに一縷の望みを託すことにしました。

そもそもなぜ停止されたのかを調べる

謝罪するにしても、なぜ規約違反でアカウント停止されたのかが分からなければ具体的に謝罪することが出来ません。

Google AdSenseチームからのメールには具体的な規約違反の内容が記載されておらず、問い合わせて教えてくれることもないので、自分で当たりをつける必要があります。

メールを読み返すと、まず最初に

「不正行為を助長するコンテンツ」ということでアカウントが停止されており、再審査請求をしたところ

「無効なトラフィックとポリシー違反」ということでアカウントを永久停止されていることがわかります。

「無効なトラフィックとポリシー違反」について、以下に主な理由が記載されています。

無効なトラフィックのために AdSense アカウントが無効となる一般的な理由

無効なトラフィックのために AdSense アカウントが無効となる一般的な理由

ご自身のサイトや YouTube チャンネル、アプリの広告をクリックしている

ご自身のサイトや YouTube チャンネル、アプリの広告をユーザーが繰り返しクリックしている

自動ツールやボットを使ってトラフィックを増やしている

インセンティブ型トラフィックのソースを使用している

広告配信を操作している

広告の操作を通じてユーザーにサイトや YouTube チャンネル、アプリを支持するよう促している

紛らわしい方法で広告を掲載している、偶発的なクリックが起こるよう仕向けている

心当たりがない、と上に書きましたが、どうにも以下の点が怪しかったので調査しました。

ご自身のサイトや YouTube チャンネル、アプリの広告をクリックしている

これはリリースしたユーザーでなくても、同一端末からの複数クリックであれば該当するようです。

この行為を悪意を持って行う、俗に言う「アドセンス狩り」という行為を行うユーザーも存在するそうです。

自分でテストのため数回クリックしていた上に、

リリースしたことを周囲に告知していたので、他者によるクリックでも該当している可能性がありました。

ちなみに、FirebaseAnalyticsを予め導入しておき、自身でないユーザーによる複数クリックであることを証拠として提示できればスムーズに停止解除されることが多いそうです。

今回のアプリはFirebaseAnalyticsを導入していなかったので、証拠がありませんでした。

が、謝罪の材料の一つにはなります。

もう一点怪しいと思ったのが、AdMobのバナー広告のポリシーについてです。

以下にAdMobのバナー広告の禁止事項が記載されています。

AdMob および AdSense のプログラム ポリシー / バナー広告の導入における禁止事項

アプリ コンテンツに重なった広告(ポリシー違反)

アプリ コンテンツに重ねるようにバナー広告を表示しないでください。アプリのメニューがスクロールする場合は、以下の例のようにバナー広告がポップアップしたり、メニューのコンテンツに重なったりしないようにします。また、ユーザーがスクロールすると同時に、バナー広告が移動しないようにしてください。ユーザーがメニューをクリックしようとしたときに、間違って広告をクリックしてしまう可能性があります。このような導入はポリシー違反であり、Google はアプリへの広告配信を停止する権利を有します。

実は、今回のアプリでは

「広告の読込完了まで、上にプログレスバーを表示しておき、読み込み完了したら非表示にする」という実装を行っていました。

val adRequest = AdRequest.Builder().build()
        binding.adView.loadAd(adRequest)
        binding.adView.adListener = object : AdListener() {
            ...
            override fun onAdLoaded() {
                super.onAdLoaded()
                Log.d(TAG, "AdMob onAdLoaded")
                binding.adProgress.visibility = View.GONE 
                                // ↑ この部分。デフォルトではVISIBLEになっており、読み込みが完了した時にGONEになる
            }
            ...
        }

これが上記ポリシーに違反している可能性が高いと考えました。

この部分については修正するだけでも良さそうですが、

こうなってくると最早このアプリのバナー広告による収益はどうでもよくなっていたのもあり、

AdSenseアカウントを復活させてから別のアプリに載せたほうが確実だと考え、

バナー広告自体を削除してアプリをリリースする対応を行いました。

以上の点を謝罪の要点としてまとめておき、しばらく置いておきます。

謝罪とAdSenseアカウントの復活

アカウント停止されてから大体1年後、

以下のフォームから謝罪とアカウント復活の要望を送信しました。

ポリシー違反によるアカウント無効化に対する異議申し立て

フォームには以下の要点をまとめて記載しました。

  • 「悪意はありませんでした」という前提で以下の点を謝罪
  • 動作確認のために広告を自己クリックしたこと
  • アプリのリリースを知人に告知したため、他人による広告の複数クリックが行われた可能性があること
  • バナー広告の上に、広告の読み込み状態に応じてProgressBarを表示するよう実装していたこと

  • バナー広告を削除してアプリをリリースしたことを報告

  • GoogleAdSenseチームと広告主に迷惑をかけたことを丁寧に謝罪

すると1日後、GoogleAdSenseアカウント再開のメールが届きました。

平素よりお世話になっております。

プログラム ポリシーの規定に沿って、サイトに変更を加えていただきありがとうございます。 お客様の AdSense アカウントは審査を経て再度有効になり、AdSense プログラムにご参加いただけるようになりました。 アカウントの現在のステータス: 有効。

お支払いの保留が解除され、お客様のプロパティでの広告掲載も 48 時間以内に再開されます。 ただし、アカウントが無効となったために発生した収益の損失は補償されませんのでご了承ください。 この損失にあたる収益と、その収益から Google が受ける分配益は、広告主様に払い戻されました。

必要な対応: サイト全域について、AdSense ポリシーに違反していないことを確認し、 今後はポリシー違反が発生しないようにしてください。

次のステップ: 今後も AdSense プログラム ポリシーを継続的に遵守してください。 プログラム ポリシーに違反すると、AdSense アカウントが再度無効となる場合がありますのでご注意ください AdSense のプログラム ポリシーは、次の URL のヘルプセンターでご確認ください。 https://support.google.com/adsense/answer/48182

今後ともよろしくお願いいたします。

Google AdSense チーム

これにて、ようやく永久停止されたGoogle AdSenseアカウントを復活させることができました。

これで一安心です。

まとめ

  • GoogleAdMobを入れたアプリをリリースする際はAdMob、AdSense両方のポリシーを確認し、違反していないか細心の注意を払いましょう。
  • アカウント単位で停止されるので、該当するアプリだけではなく、自身の名義のGoogleアカウント全般に影響が出ます。
  • アドセンス狩りにあった時に対応できるよう、FirebaseAnalyticsを導入しておいた方が安全です。
  • 一度ポリシー違反によるアカウントの一時停止の勧告があった時は、その時点では心当たりがなくても、本当にポリシー違反していないかちゃんと確認し、対応してから再審査請求を行いましょう。
  • 永久停止されても諦めずに誠意を見せて謝罪しましょう。

参考URL