AdSenseのdata-ad-slot未設定で広告が出ないとき、最初の30分でやること
data-ad-slotが空になる原因(環境変数/実装)を最短で切り分ける
AdSenseのdata-ad-slot未設定で広告が出ないとき、最初の30分でやることは、まず「HTMLに data-ad-client / data-ad-slot が入っているか」「adsbygoogle.push({}) が走っているか」を確認すると、最短で原因に当たります。
最初に結論
- 広告が出ない原因が
data-ad-slotの 未設定 なら、実装/環境変数の問題なので“待っても直りません”。まずそこを潰します。 data-ad-slotが入っていてもadsbygoogle.push({})が走っていないと、枠はあっても配信が始まりません。data-ad-slotは「仮の値」で進めず、本物のslot値 を環境変数で明示します(slot違いは後で追うほど高コスト)。
最初の30分でやること
1) 症状を固定する(どこで起きている?)
- 影響範囲: 全ページ / 特定ページ / SPのみ など
- いつから: 直近のデプロイ/広告実装変更/環境変数変更と照合
- 何が起きている: 「枠がない」「枠はあるが空」「枠はあるが崩れる」を分類
2) HTMLに data-ad-client / data-ad-slot が入っているか確認する
- 実DOMで
ins.adsbygoogle要素を見て、data-ad-client/data-ad-slotが両方あるか - 片方でも空なら、まずそこが原因候補です(とくに
data-ad-slotの未設定が多い) - 複数slotを使うなら「ページ別slot(例: Home / Event)」の出し分けが意図通りかを見る
3) “slotが空になる原因”を最短で潰す(設定/環境変数)
NEXT_PUBLIC_ADSENSE_SLOT_*のような環境変数が 未設定 になっていないか- build時に値が埋め込まれる仕組みなら、デプロイ環境の変数が入っているか(ローカルだけOKの罠)
- 「空文字/undefined/null」をそのまま
data-ad-slotに流していないか(レンダリングの分岐を確認)
4) adsbygoogle.push({}) が走っているか確認する(SPA遷移含む)
- 初回ロードだけでなく、SPA遷移後にも初期化されるか(Next.jsのApp Router移行で抜けやすい)
- 例外で止まっていないか(Consoleに
adsbygoogle関連のエラーがないか) - 同一ページで重複pushしていないか(“増やしすぎ”も不安定化の原因になるので、まずは1回を担保)
5) “実装は正しいが出ない”に進む前に、最低限の切り分けをする
- 拡張機能/広告ブロッカーの影響がないか(シークレット/別ブラウザで確認)
- CSSで非表示になっていないか(
display:none/ 親要素の高さ0) ads.txtの到達性が壊れていないか(404/別ドメイン/HTML)※別記事に誘導
SiteOpsで最短にする
SiteOpsは、ページごとのslot設定(どのページでどのslotを使うか)と、デプロイ時刻の変化を並べ、data-ad-slot 未設定のような“待っても直らない”原因を早く潰せます。
次に読む
相談する(最短ルート)
この記事を書いた人
川原
SiteOps編集チームの公開窓口として、検索、アクセス、収益データをもとにした運営判断の知見をまとめています。
関連記事
次にやること
複数サイトの検索、アクセス、収益データをまとめて見直すなら、SiteOpsのダッシュボードでサイト別に確認できます。
料金を見る相談したい / お問い合わせ