Google のパブリッシャー広告タグでの広告パーソナライズ設定は、欧州経済領域(EEA)を含む世界中のあらゆる地域で設定できます。
Google の更新版 EU ユーザーの同意ポリシーのもと、パブリッシャー様は、欧州経済領域と英国のユーザーに対して特定の情報を開示すること、ならびに Cookie などのローカル ストレージの使用(法律で義務付けられている場合)および広告のパーソナライズを目的とする個人データの収集、共有、使用について、それらのユーザーの同意を得ることが必要になります。このポリシーには、EU の e プライバシー指令と一般データ保護規則(GDPR)の要件が反映されています。
リクエストごとの広告のパーソナライズ設定は、EEA と英国のユーザーだけでなく全世界のユーザーに適用されます。リクエストごとのパラメータを EEA と英国以外のユーザーのリクエストに追加した場合は、非パーソナライズド広告が返されます。
GPT と AdSense タグを使用しているページ向けの広告のパーソナライズ設定
広告をリクエストする
Google に広告リクエストがあると、デフォルトでパーソナライズド広告が配信されます。配信される広告は、対象のウェブページのコンテンツと、ページにアクセスしている個人ユーザーの履歴の両方に基づいて選択されます。Google は、非パーソナライズド広告の配信もサポートしています。パーソラナイズド広告と非パーソナライズド広告についての詳細をご確認ください。
同意ポリシーの要件を満たしたうえで、欧州経済領域、英国、その他の規制対象地域でサイトにアクセスするすべてのユーザーに対し非パーソナライズド広告を配信する場合は、広告タグを変更する必要はありません。非パーソナライズド広告の配信は、Google アド マネージャーまたは AdSense の管理画面で有効にできます。
ユーザーに応じてパーソナライズド広告と非パーソナライズド広告の配信を切り替える場合は、Google パブリッシャー タグ(GPT)と AdSense または Ad Exchange の非同期広告タグを使用して、非パーソナライズド広告の呼び出しをページ単位で設定することができます。この方法は、すべてまたは一部のユーザーに、パーソナライズド広告と非パーソナライズド広告のどちらを表示するかの選択肢を提供する場合に効果的です。
非パーソナライズド広告でも、フリークエンシー キャップの設定、広告の集計レポートの作成、詐欺や不正使用の防止のために Cookie が使用されます。したがって、e プライバシー指令の Cookie に関する条項が適用される国のユーザーに対しては、こうした目的で Cookie を使用することについてユーザーの同意を得る必要があります。非パーソナライズド広告についての詳細をご確認ください。
GPT タグの場合
次のメソッドを使用します。googletag.pubads().setPrivacySettings({nonPersonalizedAds: true})
setCookieOptions()
呼び出しは GDPR の対象とはなりません。
AdSense と Ad Exchange の非同期広告タグの場合
次の値を設定します。(adsbygoogle=window.adsbygoogle||[]).requestNonPersonalizedAds=1
広告タグが非パーソナライズド広告をリクエストしている場合は、広告リクエストにパラメータ &npa=1
が設定されていますのでブラウザのデベロッパー ツールでご確認ください。
setPrivacySettings({nonPersonalizedAds: false})
を呼び出すか、requestNonPersonalizedAds=0
を設定すると、パーソナライズ設定が再び有効になります。
広告リクエストを一時停止する
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 以外のページの場合と同じ広告のパーソナライズ設定を使用できます。つまりパブリッシャー様は、欧州経済領域(EEA)と英国のすべてのユーザーに非パーソナライズド広告を配信するよう設定するか、ユーザーの同意に基づいてパーソナライズド広告と非パーソナライズド広告を選択的に配信するよう設定できます。
以下では、それぞれのシナリオについて、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>
<!-- 次に、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
コンポーネントが正しく設定されていない場合、リクエストは通常どおりに送信されます。
欧州経済領域のすべてのユーザーに同意の確認メッセージを表示するように設定する例を以下に示します。これによる動作は上で説明したとおりとなります。
<!-- まず 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 に関するドキュメントをご覧ください。
その他のタグを使用している場合の広告のパーソナライズ設定
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 Mobile Ads SDK
Google Mobile Ads SDK について詳しくは、アプリ デベロッパー サイト(iOS GMA SDK、Android GMA 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 ユーザーの同意ポリシーを遵守した状態を保つには、こちらのほうが簡単な場合もあります。