Google のパブリッシャー広告タグでの広告パーソナライズ設定は、世界中のあらゆる地域で有効です。
GPT と AdSense タグを使用しているページ向けの広告のパーソナライズ設定
広告をリクエストする
Google に広告リクエストがあると、デフォルトでパーソナライズド広告が配信されます。配信される広告は、対象のウェブページのコンテンツと、ページにアクセスしている個人ユーザーの履歴の両方に基づいて選択されます。Google は、非パーソナライズド広告の配信にも対応しています。パーソラナイズド広告と非パーソナライズド広告についての詳細をご確認ください。
ユーザーに応じてパーソナライズド広告と非パーソナライズド広告の配信を切り替える場合は、Google パブリッシャー タグ(GPT)と AdSense または Ad Exchange の非同期広告タグを使用して、非パーソナライズド広告の呼び出しをページ単位で設定することができます。この方法は、すべてまたは一部のユーザーに、パーソナライズド広告と非パーソナライズド広告のどちらを表示するかの選択肢を提供する場合に効果的です。
この種の広告は、広告のパーソナライズの目的で Cookie を使用することはありませんが、フリークエンシー キャップの設定と広告レポートの集計の目的では Cookie を使用します。したがって、e プライバシー指令の Cookie に関する条項が適用される国のユーザーに対しては、こうした目的で Cookie を使用することについてユーザーの同意を得る必要があります。非パーソナライズド広告についての詳細をご確認ください。
GPT タグを使用して NPA=1
を設定する
次のメソッドを使用します。
googletag.pubads().setPrivacySettings({nonPersonalizedAds: true})
setCookieOptions()
呼び出しは GDPR の対象とはなりません。GPT タグを使用して PPT=1
を設定する
次のメソッドを使用します。
googletag.setConfig({privacyTreatments: { treatments: ["disablePersonalization"]}})
AdSense と Ad Exchange の非同期広告タグを使用して NPA=1
を設定する
次の値を設定します。
(adsbygoogle=window.adsbygoogle||[]).requestNonPersonalizedAds=1
広告タグが非パーソナライズド広告をリクエストしている場合は、広告リクエストにパラメータ &npa=1
が設定されていますので、ブラウザのデベロッパー ツールでご確認ください。
setPrivacySettings({nonPersonalizedAds: false})
を呼び出すか、requestNonPersonalizedAds=0
を設定すると、パーソナライズ設定が再び有効になります。AdSense と Ad Exchange の非同期広告タグを使用して PPT=1
を設定する
- 方法 1: Push API
push
メソッドを使用します。
(adsbygoogle=window.adsbygoogle||[]).push({ params: {google_privacy_treatments: 'disablePersonalization'}})
広告タグが非パーソナライズド広告をリクエストしている場合は、広告リクエストにパラメータ&ppt=1
が設定されていますので、ブラウザのデベロッパー ツールでご確認ください。
- 方法 2: ヘッダータグ API
adsbygoogle
スクリプトタグにdata-privacy-treatments
を設定します。次に例を示します。
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js" data-privacy-treatments='disablePersonalization'></script>
広告リクエストを一時停止する
Google パブリッシャー タグと AdSense / Ad Exchange の非同期タグは、ページを読み込んだ後、明示的なシグナルを待ってから広告リクエストの送信を開始する技術をサポートしています。これは、ユーザーが同意リクエスト画面を操作するのを待ってから、広告リクエストを送信する必要がある場合に便利です。
GPT 広告リクエストを一時停止する
disableInitialLoad()
関数を使用して、最初のページ読み込み時にこのタグが広告リクエストを送信しないようにします。display()
を使用して広告リクエストをトリガーする前に、この関数を使用する必要があります。- 通常どおり、
googletag.cmd.push(...)
への呼び出しを使用して広告スロットを設定します。 - 同意に関するユーザーの選択に応じて、
setPrivacySettings({nonPersonalizedAds: true})
を呼び出します。 refresh()
関数を使用して、広告リクエストの送信を再開します。refresh()
を呼び出さないと広告は表示されません。
AdSense または Ad Exchange の非同期広告コードを一時停止する
(adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=1
を使用して、タグが広告リクエストを送信しないようにします。adsbygoogle.push(...)
を使用して広告リクエストをトリガーする前に、この関数を使用する必要があります。- 通常どおり、
adsbygoogle.push(...)
への呼び出しを使用して広告スロットを設定します。 - 同意に関するユーザーの選択に応じて、
requestNonPersonalizedAds=1
を設定します。 (adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=0
を使用して、広告リクエストの送信を再開します。pauseAdRequests=0
を設定しないと広告は表示されません。
この手法では広告リクエストは送信されませんが、さまざまなスクリプトは読み込まれます。Google ドメインにある既存の Cookie の読み取りは可能ですが、新しい Cookie が設定されることはありません。既存の Cookie に関連付けられているデータは、広告の配信と測定には使用されません。
自社の同意取得管理ソリューションにおいて、ユーザーが選択を行うまでスクリプトの読み込みを延期することを約束している場合は、gpt.js
と adsbygoogle.js
の読み込みを延期することもできます。他のタイプの Google 広告タグでは、広告リクエストの一時停止がサポートされていません。そのため、パーソナライズド広告または非パーソナライズド広告のいずれかをリクエストする準備が整うまで、そうした広告タグが読み込まれないようにする必要があります。
AMP ページ向けの広告のパーソナライズ設定
AMP ページからの広告リクエストに対しても、前述した AMP 以外のページの場合と同じ広告のパーソナライズ設定を使用できます。つまり、パブリッシャー様は、地域内のすべてのユーザーに非パーソナライズド広告を配信するよう設定するか、ユーザーの同意に基づいてパーソナライズド広告と非パーソナライズド広告を選択的に配信するよう設定できます。
以下では、それぞれのシナリオについて、AMP ページから <amp-ad type="doubleclick"> または <amp-ad type="adsense">
を使用して広告をリクエストする際の設定方法を紹介します。
地域内のユーザーに非パーソナライズド広告を配信する
AMP 広告タグでリアルタイム設定(RTC)を使用していない場合は、Google アド マネージャーまたは AdSense の管理画面で非パーソナライズド広告の配信を有効にできます。AMP ページに変更を加える必要はありません。
AMP 広告タグでリアルタイム設定(RTC)を使用している場合は、非パーソナライズド広告が配信されるユーザー(EEA、英国、スイスのユーザーなど)に対して RTC リクエストを送信しないようにページを設定できます。そのために必要なコンポーネントと設定(amp-geo
と amp-consent
)を次に示します。
<!-- まず amp-geo 拡張を設定する必要があります。ここでは、EEA のすべての国と英国を含むグループ「eea」を定義します。今後、EEA の加盟国が変わった場合は、それに合わせてこのリストを更新する必要があります。-->
<amp-geo layout="nodisplay">
<script type="application/json">
{
"ISOCountryGroups": {
"eea": [ "at", "be", "bg", "cy", "cz", "de", "dk", "ee", "es", "fi", "fr",
"gb", "gr", "hr", "hu", "ie", "is", "it", "li", "lt", "lu", "lv", "mt", "nl",
"no", "pl", "pt", "ro", "se", "si", "sk"]
}
}
</script>
</amp-geo
<!-- 次に、EEA 加盟国のエンドユーザー向けの同意確認用コンポーネントを設定します。このコンポーネントは、自動的に拒否されるよう後で設定して、実際には同意確認が行われないようにします。これにより、RTC コールアウトが停止され、非パーソナライズド広告を配信するためのシグナルがアド マネージャー / AdSense に送られます。-->
<amp-consent layout="nodisplay" id="consent-element">
<script type="application/json">
{
"consents": {
"my_consent": {
"promptIfUnknownForGeoGroup": "eea"
}
}
}
</script>
</amp-consent
ページにすでに amp-ad
コンポーネントがある場合は、次のコードサンプルのように data-block-on-consent
属性を追加する必要があります。
<!-- 最後に広告タグを設定し、自動的に同意を拒否するよう指定します -->
<amp-ad data-block-on-consent="_auto_reject"
width=320 height=50
type="doubleclick"
data-slot="/4119129/mobile_ad_banner">
</amp-ad
同意に基づいてパーソナライズド広告と非パーソナライズド広告の配信を切り替える
AMP では JavaScript をカスタマイズできないため、パーソナライズド広告と非パーソナライズド広告のリクエストは、amp-consent
コンポーネントの設定と、data-block-on-consent
属性および data-npa-on-unknown-consent
属性に基づいて行います。たとえば、amp-consent
コンポーネントを設定するとともに、data-block-on-consent
を使ってページのすべての <amp-ad>
タグにこのコンポーネントをリンクしている場合、処理の流れは次のようになります。
amp-consent
コンポーネントにユーザーが肯定応答を返した(同意した)場合、広告は通常どおりにリクエストされます。amp-consent
コンポーネントにユーザーが否定応答を返した(同意しなかった)場合は、非パーソナライズド広告がリクエストされます。amp-consent
コンポーネントに対するユーザーの応答が不明な場合(ユーザーが同意確認のメッセージを閉じた場合)は、以下のいずれかの処理が行われます。- デフォルトでは、広告リクエストは一切送信されません。
data-npa-on-unknown-consent
がtrue
に設定されている場合は、非パーソナライズド広告がリクエストされます。
amp-geo
コンポーネントの設定に基づき、ユーザーの所在地が同意の確認の対象外と判定された場合、リクエストは通常どおりに送信されます。
<amp-ad>
タグで data-block-on-consent
が使用されていない場合、または amp-consent
コンポーネントが正しく設定されていない場合、リクエストは通常どおりに送信されます。
EEA のすべてのユーザーに同意の確認メッセージを表示するように設定するコードの例を以下に示します。これによる動作は上で説明したとおりとなります。
<!-- まず amp-geo 拡張を設定します。「eea」グループを定義して、EEA のすべての国を含めます。今後、EEA の加盟国が変わった場合は、それに合わせてこのリストを更新する必要があります。-->
<amp-geo layout="nodisplay">
<script type="application/json">
{
"ISOCountryGroups": {
"eea": [ "at", "be", "bg", "cy", "cz", "de", "dk", "ee", "es", "fi", "fr",
"gb", "gr", "hr", "hu", "ie", "is", "it", "li", "lt", "lu", "lv", "mt", "nl",
"no", "pl", "pt", "ro", "se", "si", "sk"]
}
}
</script>
</amp-geo>
<!-- 次に、「eea」加盟国グループのユーザー向けの同意設定を行います -->
<amp-consent layout="nodisplay" id="consent-element">
<script type="application/json">
{
"consents": {
"my_consent": {
"promptIfUnknownForGeoGroup": "eea",
"promptUI": "myConsentFlow"
}
}
}
</script>
</amp-consent
<!-- 最後に広告タグを設定し、必要であれば同意を得るまで待機するよう指定します -->
<amp-ad data-block-on-consent
width=320 height=50
type="doubleclick"
data-slot="/4119129/mobile_ad_banner">
</amp-ad>
ユーザーに対して選択的に同意を求める方法は他にもあります。たとえば、checkConsentHref
で設定したエンドポイントにページから CORS POST
リクエストを送信するよう設定できます。詳しくは、amp-consent に関するドキュメントをご覧ください。
その他のタグを使用している場合の広告のパーソナライズ設定
Google パブリッシャー タグのパスバックタグ
GPT パスバックタグを使用している場合は、API 呼び出しに次の情報を含めることで、広告リクエストを非パーソナライズド広告としてマークできます。
googletag.pubads().setPrivacySettings({nonPersonalizedAds: boolean})
広告リクエストを非パーソナライズド広告としてマークするには、boolean
値を true
に設定し、パーソナライズド広告の対象となる広告リクエストに false
を設定します。
タグなしリクエスト
タグなしリクエストを使用している場合、広告リクエストを非パーソナライズド広告として指定するには、タグのリクエスト URL に npa=[int]
パラメータを直接追加します。末尾が切り捨てられる可能性があるため、このパラメータをタグの前の方に指定することをおすすめします。ここでは npa=1
を使用し、広告リクエストを非パーソナライズド広告として指定します。パラメータを指定しないと、デフォルトでパーソナライズド広告に設定されます。
以下に例を示します。
https://securepubads.g.doubleclick.net/gampad/ad?iu=/12345/adunit&sz=728x90&npa=1&c=12345
検索向け AdSense
Google に広告リクエストがあると、デフォルトでパーソナライズド広告が配信されます。配信される広告は、ユーザーの検索語句と、検索している個人ユーザーの履歴の両方に基づいて選択されます。Google は、非パーソナライズド広告の配信にも対応しています。パーソナライズド広告と非パーソナライズド広告についての詳細をご確認ください。
ユーザーに応じてパーソナライズド広告と非パーソナライズド広告の配信を切り替える場合は、検索向け AdSense タグを使用して、非パーソナライズド広告の呼び出しをページ単位で設定することができます。この方法は、すべてまたは一部のユーザーに、パーソナライズド広告と非パーソナライズド広告のどちらを表示するかの選択肢を提供する場合に効果的です。
カスタム検索広告 - ウェブ広告タグの場合
カスタム検索広告タグの pageOptions
に以下を追加します。
personalizedAds: false,
AdMob タグの場合
builder.setAdvancedOptionValue("personalizedAds", "false");
iOS タグの場合
[request setAdvancedOptionValue:@"false" forKey:@"personalizedAds"];
これらのメソッドは、該当するリクエストを受け取ったときに非パーソナライズド広告のリクエストをトリガーします。これはステートレス パラメータです。ユーザーに対して後続のリクエストでパラメータが設定されていない場合は、パーソナライズド広告をリクエストするデフォルトの動作に戻ります。
Google User Messaging Platform(UMP)SDK
Google の EU ユーザーの同意ポリシーへのアプリの準拠に User Messaging Platform SDK がどのように役立つかについて詳しくは、Google Developers ドキュメント(iOS UMP SDK、Android UMP SDK)をご覧ください。
Google Interactive Media Ads SDK(動画向け)
動画リクエストでは、広告タグに npa=1
パラメータを追加することで、Google が動画コンテンツを非パーソナライズド広告として扱うように指定できます。これには、手動で作成したマスター動画タグを使用するか、プラットフォーム固有の IMA SDK(HTML 5 IMA SDK、iOS IMA SDK、Android IMA SDK、Google Cast IMA SDK)のいずれかを使用する方法があります。
動画プレーヤーでアド マネージャーのダイナミック広告挿入機能を使用している場合は、VOD(ビデオ オンデマンド)またはライブ ストリームのリクエストに npa=1
パラメータを追加し、一緒に送信される広告リクエスト(DAI HTML5 SDK、DAI Cast SDK、DAI iOS SDK、DAI Android SDK、DAI Roku SDK、DAI tvOS SDK)に渡すこともできます。
従来の Google パブリッシャー広告タグ
他のタイプの Google 広告タグ(従来の GAM タグや GUT タグ、AdSense または Ad Exchange の同期タグ(show_ads.js
)など)では、非パーソナライズド広告のリクエストの送信はサポートされていません。そのため、パーソナライズド広告をリクエストする準備が整うまでは、こうしたタグが読み込まれないようにしてください。
別の方法として、パーソナライズド広告と非パーソナライズド広告の機能をフルでサポートしているタグのいずれかに移行し、同意が必要とされる場合にその回答を得るまでリクエストを一時停止するよう設定することもできます。EU ユーザーの同意ポリシーに準拠した状態を保つには、こちらのほうが簡単な場合もあります。