Google のパブリッシャー広告タグでの広告パーソナライズ設定は、世界中のあらゆる地域で利用可能です。
GPT と AdSense タグを使用しているページ向けの広告のパーソナライズ設定
広告をリクエストする
デフォルトでは、Google への広告リクエストによってパーソナライズド広告が配信されます。広告は、ウェブページのコンテンツとページにアクセスしている個々のユーザーの過去のデータの両方に基づいて選択されます。Google では、非パーソナライズド広告の配信もサポートしています。パーソラナイズド広告と非パーソナライズド広告についての詳細
一部のユーザーにパーソナライズド広告を配信し、他のユーザーには非パーソナライズド広告を配信する場合は、Google パブリッシャー タグ(GPT)および AdSense / アド マネージャーの非同期広告タグを使用し、非パーソナライズド広告の配信をページごとにトリガーするよう設定できます。この方法は、パーソナライズド広告を表示するか、非パーソナライズド広告を表示するかの選択肢をすべてのユーザー(または一部のユーザー)に提供する場合に便利です。
非パーソナライズド広告で 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>
広告リクエストを一時停止する
GPT と AdSense やアド マネージャーの非同期タグは、ページの読み込み後に明示的なシグナルを待ってから、広告リクエストの送信を開始する技術をサポートしています。これは、ユーザーが同意リクエスト画面を操作するのを待ってから、広告リクエストを送信する必要がある場合に便利です。
GPT を使用している場合: 非同期モードを使用すると広告リクエストを遅らせることができます。
disableInitialLoad()
関数を使用し、最初のページ読み込み時にこのタグが広告リクエストを送信しないようにします。display()
を使用して広告リクエストをトリガーする前に、この関数を使用する必要があります。- 通常どおり、
googletag.cmd.push(...)
への呼び出しを使用して広告スロットを設定します。 - 同意に関するユーザーの選択に応じて、
setRequestNonPersonalizedAds(1)
を呼び出します。 refresh()
関数を使用して、広告リクエストの送信を再開します。refresh()
を呼び出さないと広告は表示されません。enableSyncRendering()
を使用する場合は、リクエストを遅らせることができません。
AdSense やアド マネージャーの非同期広告コードを使用する場合:
(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)を使用している場合は、非パーソナライズド広告が配信されるユーザー(欧州経済領域、英国、スイスのユーザーなど)に対して RTC リクエストを送信しないようにページを設定できます。そのために必要なコンポーネントと設定(amp-geo
と amp-consent
)は次のとおりです。
<!-- まず amp-geo 拡張機能を設定します。ここでは、欧州経済領域のすべての国と英国を含むグループ「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>
<!-- 次に同意のタイムアウトを 0 に設定し(これは同意 UI を表示しないことを意味します)、同意ステータスをデフォルトで「rejected」(拒否)とします。これにより、RTC コールアウトを停止し、非パーソナライズド広告を配信するよう DFP / AdSense に通知します。-->
<amp-consent layout="nodisplay" id="consent-element">
<script type="application/json">
{
"consents": {
"my_consent": {
"promptIfUnknownForGeoGroup": "eea"
}
}
"policy": {
"default": {
"waitFor": {
"my_consent": []
}
"timeout": {
"seconds": 0,
"fallbackAction": "reject"
}
}
}
}
</script>
</amp-consent>
ページにすでに amp-ad
コンポーネントがある場合は、次のように data-block-on-consent
属性を追加する必要があります。
<!-- 最後に広告タグを設定し、同意を得るまで待機するよう指示します -->
<amp-ad data-block-on-consent
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
コンポーネントが正しく設定されていない場合、リクエストは通常どおりに送信されます。
欧州経済領域と英国のすべてのユーザーに同意の確認メッセージを表示する場合の設定例を以下に示します。これによる動作は上で説明したとおりとなります。
<!-- まず amp-geo 拡張機能を設定します。ここでは、欧州経済領域のすべての国と英国を含むグループ「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 に関するドキュメントをご覧ください。
その他のタグを使用している場合の広告のパーソナライズ設定
GPT のパスバックタグ
GPT のパスバックタグを使用している場合は、API 呼び出しに次の情報を含めることで、広告リクエストを非パーソナライズド広告としてマークできます。
googletag.pubads().setRequestNonPersonalizedAds(int options);
広告リクエストを非パーソナライズド広告としてマークするには、options
パラメータを整数値 1 に設定し、パーソナライズド広告の対象となる広告リクエストには 0 を設定します。
例:
<script src="https://googletagservices.com/tag/js/gpt.js">
googletag.pubads().setRequestNonPersonalizedAds(1);
googletag.pubads().definePassback("123456/ad/unit", [100,200])
.display();
</script>
タグなしリクエスト
タグなしリクエストを使用している場合、広告リクエストを「非パーソナライズド」として指定するには、npa=[int]
パラメータをタグリクエスト URL に直接追加します。末尾が切り捨てられる可能性があるため、このパラメータをタグの前の方に指定することをおすすめします。ここでは npa=1
を使用し、広告リクエストを非パーソナライズド広告として指定します。パラメータを指定しないと、デフォルトでパーソナライズド広告に設定されます。次に例を挙げます。
https://pubads.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(HTML5 IMA SDK、iOS IMA SDK、Android IMA SDK、Google Cast IMA SDK)を使用します。
動画プレーヤーで Google アド マネージャーのダイナミック広告挿入機能を使用している場合は、ビデオ オンデマンド(VOD)やライブ ストリームのリクエストに npa=1
パラメータを含めると、そうしたリクエストに含まれる広告リクエストにもそのパラメータを渡すことができます(DAI HTML5 SDK、DAI Cast SDK、DAI iOS SDK、DAI Android SDK、DAI Roku SDK、DAI tvOS SDK)。