Googleサイト運営者のタグを使用して広告を取得しています。
特定の広告スロットの広告または空の広告を取得しているかどうかを確認する方法。私は以下のコードを使用しています。
googletag.defineSlot("/1234/travel", [[300,250],[300x600]], "div-gpt-ad-123456789-0"))
<div id="div-gpt-ad-123456789-0" style="width: 728px; height: 90px">
<script type="text/javascript">
googletag.cmd.Push(function() {
googletag.display("div-gpt-ad-123456789-0");
});
</script>
</div>
このdiv( "div-gpt-ad-123456789-0")に広告が含まれているかどうかを確認するにはどうすればよいですか?
あなたはこのようなことをすることができます:
googletag.pubads().addEventListener('slotRenderEnded', function(event) {
if (event.slot.getSlotElementId() == "div-gpt-ad-123456789-0") {
var containsAd = !event.isEmpty;
}
});
GPT APIは、広告がレンダリングされたとき(または何も返されない場合)に起動する「SlotRenderEndedEvent」を提供します。
https://developers.google.com/doubleclick-gpt/reference
ハンドラーを追加し、isEmptyをチェックして、広告が配信されたかどうかを判断します。
また、広告スロットでCollapsEmptyDivsを有効にしている場合、広告divはGPTによってdisplay:noneに設定されるため、何も返されないという手がかりにもなります。
Googleサイト運営者コンソールと呼ばれる画面上のデバッグツールを使用して、配信の問題のトラブルシューティングを行うことができます。クエリ文字列として「?googfc」を使用します。参照: https://support.google.com/dfp_premium/answer/2462712?hl=en
googletag.cmd.Push(function () {
googletag.pubads().addEventListener('slotRenderEnded', function (event) {
if (event.isEmpty) {
var id = event.slot.getSlotElementId();
var x = document.getElementById(id);
if (x.parentElement.classList.contains("ad-slot")) {
x.parentElement.style.display = "none";
}
}
});
});
Firebugまたはchrome web inspectorでdivを検査しようとしましたか?正しく読み込まれている場合はdiv内にiframeがあり、iframe内には広告クリエイティブを含むhtmlがあります。 。
DFP console を使用すると、DFPを非常に簡単にデバッグして、ページが正しくタグ付けされているかどうか、および広告が配信されているかどうかをテストできます。