忍者AdMaxの広告タグを貼ったのに、スワぽいにバナーが出なかった
Google AdSenseの審査に落ちたことはありますか。私はあります。
サイトは動いていて、アプリも公開している。それでもAdSenseは通りませんでした。そこで次に試したのが、忍者AdMaxです。
スワぽい にタグを貼ると、管理画面は「配信中」になりました。ソースにもタグの文字列があって、画面には広告用の場所もあります。それなのに、バナーが出ません。夜中にスマホで自分のニュースカードをスワイプしながら、「ここが空いているのは分かっているのに」と、変な気持ちになったのを覚えています。
最初は「タグを貼れば出る」と思っていました。違いました。この記事では、出なかった原因と、直した方法を書きます。
忍者AdMaxのタグは、ページを読み込む途中で動く前提だった
私が使ったのは、管理画面で発行された「同期タグ」です。<script src="https://adm.shinobi.jp/s/..."> という1行を、HTMLの広告を出したい位置に書くタイプでした。このタグは、ブラウザがHTMLを上から読み込んでいる途中で実行されて、その場所に広告を出します。
一方、スワぽいは、Next.js(React)で作っています。最初のHTMLは骨組みだけで、画面の中身は、読み込みが終わったあとにJavaScriptで組み立てます。広告の枠も、この組み立ての途中でできます。広告タグが実行される時点では、まだ枠がない。あとからタグを差し込んでも、HTMLを読み込む途中の実行にはならないので、広告が出る場所が定まりません。
AdSenseの感覚で、「タグがソースにあれば大丈夫」と思いがちです。私もそうでした。AdMaxでは、タグがHTMLを読み込む途中で動く形になっているかが大事でした。
広告タグはあるのに、バナーが出ない症状
状態は次のとおりでした。
- 管理画面は配信中
- ソースにタグがある
- 画面に枠がある
- 広告が見えない
審査待ちなのか、広告の在庫がないのか、実装のミスなのか、切り分けがつきません。しばらくは「そのうち出るだろう」と放置しそうになりました。出ませんでした。
ソースにタグがあることは、安心材料にはなります。でも、広告が表示されている証拠にはなりません。そこは早めに疑ったほうがいいです。
原因1:広告の枠に必要な設定が1つ足りなかった
最初の実装では、広告を入れる要素に必要な設定のうち、1つが抜けていました。そのせいで、枠の高さがほぼ0のままでした。ID(広告の識別番号)がずれていた箇所もあって、別の枠の指定を見に行って、何も出ませんでした。地味なミスですが、これだけでも広告は出なくなります。
原因2:審査用に置いた隠しタグが、本物の枠より先に使われた
いちばん大きな原因は、こちらでした。
AdMaxの審査のために、「タグがソースにあります」と見せる必要がありました。そこで、画面には表示しない隠しの枠を置いて、その中にタグを入れていました。
広告のスクリプトは、ページが読み込まれた直後に、広告を入れる場所を探します。Reactが本物の枠を作るより前に、この隠しの枠が見つかって、広告がそこに入ってしまいました。そのあとで本物の枠ができても、広告はもう入れ終わった扱いです。ユーザーが見る場所は空のままでした。審査のための対策が、本番の表示を邪魔していたことになります。
原因3:広告スクリプトは、枠を探すのが一度きり
親のページで動く広告スクリプトは、読み込み時に1回だけ枠を探して終わります。あとから増えた枠は、見落とされます。
スワぽいのトップのように、画面があとから組み上がるページでは、「上の広告だけ出る」「下の広告だけ出る」「ブログでは出るのにトップでは出ない」ということが起きやすくなります。同じIDの広告を1ページに複数置くと、先に見つかった枠が優先されることもあります。
原因4:広告は出ていても、配置のせいでスカスカに見えていた
アプリの画面には、別のパターンもありました。広告自体は出ているのに、広告とニュースカードのあいだに別の枠や説明文が挟まって、離れて見えていたんです。出ないバグだと思っていたら、配置の問題でした。
直した方法:広告の枠ごとに、小さな別ページ(iframe)を用意した
直し方は、派手なものではありません。
広告の枠ごとに、/admax-frame.html という小さなHTMLを用意しました。このページを、iframe(ページの中に別のページを埋め込む仕組み)で表示します。広告のタグは、このページの中で、HTMLの読み込み途中に書き込みます。ブラウザから見ると、広告タグが想定どおりの形で動く、昔ながらのページになります。
- 枠ごとに別のiframeにしたので、同じページに広告を複数置いても、お互いに邪魔をしません。
- パソコン用とスマホ用で、タグとサイズ(728×90と320×100)を切り替えます。
- 審査用のタグの文字列は、画面に出さない要素の中に、ただの文字として置くだけにしました。スクリプトとしては実行されません。
- 配置は、ニュースカードの直下など、読み終わりの区切りになる場所に、一本化しました。
要するに、AdMaxのタグが、HTMLを読み込む途中で動ける場所を、枠の数だけ用意したということです。
いまの感覚
AdSenseに落ちてAdMaxに来た人は、「タグを貼ったら完了」と思いやすいです。スワぽいでは、それが通じませんでした。
管理画面が配信中でも、タグが動く場所がずれていれば、ユーザーには出ません。いま風のアプリほど、広告タグが想定している古い読み込み方とのずれが大きくなります。私にとって決め手になったのは、「どの枠を、いつ、一度だけ探すのか」を単純にしたこと、つまり、枠ごとに小さな別ページを用意することでした。
バイブコーディングだと、タグを貼る作業は一瞬で終わります。だからこそ、「貼ったのに出ない」で夜更かししやすいんです。私はそこで学びました。
バナーが出るようになったあとの話は、忍者AdMaxの広告が2174回表示されて、収益はたったの1円 に書いています。2か月半たった10月10日の時点でも、表示5,440回に対して、収益は1円のままです。
> RATE THIS POST
この記事を評価する
評価には Google アカウントでのログインが必要です。
まだ評価はありません
> SHARE
この記事をシェア
> EDITORIAL
この記事の執筆について
AIが下書きを作成し、冨岡 優喜(トミークリエイト代表)が責任を持って内容を確認・校正しています。公開する文章の最終責任は運営者にあります。 運営者の実績・免責は運営者情報をご覧ください。
> RELATED LOGS
関連記事
Google AdSenseの審査に落ちたあと、忍者AdMaxを貼りました。11日間で2174回表示され、クリックは1回、収益は1円でした。管理画面の数字と、表示だけでは収益がほとんど増えない理由を書いています。
Androidアプリのクローズドテストは終わりましたが、製品版の公開は止めています。個人アカウントのまま出すと、ストアに自宅の住所が載るためです。レンタルオフィスの住所では、本人確認が厳しいことも分かりました。
ニュースを右に動かすと保存、左に動かすと飛ばすアプリ「スワぽい」を、バイブコーディングで作りました。作りながら選んだ構成と、アクセス計測が突然0になった失敗を書いています。無料は1日50回、有料は月980円です。


