リクエストごとの制限付きデータ処理の設定は、全世界のユーザーに適用されます。たとえば、リクエストごとの制限付きデータ処理のパラメータを、対象となる米国の州のユーザーのリクエストに追加した場合、制限付きデータ処理モードが有効になり、非パーソナライズド広告のみが配信されるようになります。
GPT と AdSense タグを使用しているページでの制限付きデータ処理の設定
広告のリクエスト
デフォルトでは、Google への広告リクエストに、データ処理方法とパーソナライズド広告配信方法に関する制限は設定されていません。広告は、ウェブページのコンテンツとページにアクセスしている個々のユーザーの過去のデータの両方に基づいて選択されます。Google では、規制遵守のため、またプライバシー保護に関する複数の理由により、広告タグを利用したシグナルの送信がすでにサポートされています。たとえば次のとおりです。
- Google のパブリッシャー広告タグでの非パーソナライズド広告の設定
(アド マネージャー、AdMob、Android および iOS、AdSense) - 同意年齢に満たない EEA ユーザー向けの広告リクエストのタグ付け(TFUA)
(アド マネージャー、AdMob、AdSense) - 子供向け取り扱い用の広告リクエストのタグ付け(TFCD)
(アド マネージャー、AdMob、AdSense)パブリッシャーは、未成年のユーザー向けのリクエストをタグ付けする際に TFCD パラメータの使用を選択できます。TFCD パラメータが設定されていると制限付きデータ処理も有効になります。
この記事では、広告タグ経由で制限付きデータ処理モードをリクエストする方法について説明します。制限付きデータ処理を有効にすると、Google でのデータ使用が制限され、非パーソナライズド広告のみが配信されるようになります。プロパティにアクセスする、対象となる米国の州の全ユーザーに対して制限付きデータ処理を有効にしたい場合は、広告タグを変更する必要はありません。制限付きデータ処理については、アド マネージャー、AdMob、または AdSense の各 Google ヘルプセンターでご確認ください。各サービスの管理画面で有効化する方法を含む詳細をご覧いただけます。
制限付きデータ処理を一部のユーザーのみに有効化したい場合は、GPT および AdSense / Ad Exchange の非同期広告タグを使用することで、制限付きデータ処理をページ単位でトリガーできます。これは、「個人情報を第三者に売却しない」オプトアウト リンクを表示したい場合に有用です。オプトアウトするユーザーについては、このシグナルを渡すことで規制上の義務を果たすことができます。制限付きデータ処理モードに関する詳細は、「パブリッシャー様の米国のプライバシー関連州法の遵守をサポートする」(Google アド マネージャー、AdMob、AdSense)でご確認いただけます。
- GPT には、次のコード スニペットを使用してください。
googletag.pubads().setPrivacySettings({
'restrictDataProcessing': true
}); - AdSense および Ad Exchange の非同期広告タグには、次のコード スニペットを使用してください。
<ins class="adsbygoogle"
style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-0123456789abcdef"
data-ad-slot="0123456789"
data-restrict-data-processing="1"></ins>
これらのメソッドにより、ページからの後続の Google 広告リクエストに対して制限付きデータ処理がトリガーされます。広告リクエストは、サポートされている広告タグ(GPT、AdSense または Ad Exchange の非同期広告タグ(adsbygoogle.js
)、IMA SDK)により送信されます。広告タグがデータ処理を制限している場合は、広告リクエストにパラメータ &rdp=1
が設定されていますのでブラウザのデベロッパー ツールでご確認ください。
これらと同じ API を使って、false
または 0
(API により想定されるタイプに応じて選択)を渡すことで制限付きデータ処理を無効化し、パーソナライズを再有効化できます。ページに複数の種類の Google 広告タグが含まれている場合(GPT に加えて AdSense または Ad Exchange の非同期タグが設定されている場合など)は、各タイプのタグに RDP コントロールを適用する必要があります。
その他のタグでの制限付きデータ処理の設定
Google パブリッシャー タグのパスバックタグ
GPT パスバックタグを使用している場合、広告リクエストを制限付きデータ処理として指定するには、従来の GPT で使用されているのと同じ googletag.pubads().setPrivacySettings
API を使用します。
コード例:
<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <div id='gpt-passback'> <script> window.googletag = window.googletag || {cmd: []}; googletag.cmd.push(function() { googletag .defineSlot('/123/sports', [300, 250], 'gpt-passback') .addService(googletag.pubads()); googletag.pubads().setPrivacySettings({ 'restrictDataProcessing': true }); googletag.enableServices(); googletag.display('gpt-passback'); }); </script> </div>
タグなしリクエスト
タグなしリクエストを使用している場合、広告リクエストを制限付きデータ処理として指定するには、rdp=[int]
パラメータをタグのリクエスト URL に直接追加します。末尾が切り捨てられる可能性があるため、このパラメータをタグの前の方に指定することをおすすめします。広告リクエストを制限付きデータ処理として指定する場合は rdp=1
と指定します。パラメータを指定しない場合、デフォルトで制限付きデータ処理が無効になり、パーソナライズド広告が許可されます。
コード例:
https://securepubads.g.doubleclick.net/gampad/ad?iu=/12345/adunit&sz=728x90&rdp=1&c=12345
Google Mobile Ads SDK
Google Mobile Ads SDK について詳しくは、アプリ デベロッパー サイトをご確認ください。
- AdMob: iOS GMA SDK、Android GMA SDK
- アド マネージャー: iOS GMA SDK、Android GMA SDK
Google Interactive Media Ads SDK(動画向け)
動画のリクエスト時に、動画コンテンツを制限付きデータ処理として指定できます。これには、手動で作成したマスター動画タグを使用する(アド マネージャーのみ)か、プラットフォーム固有の IMA SDK(HTML 5 IMA SDK、iOS IMA SDK、Android IMA SDK、Google Cast IMA SDK)のいずれかを使用する方法があります。
動画プレーヤーでアド マネージャーのダイナミック広告挿入機能を使用している場合は、ビデオ オンデマンド(VOD)やライブ ストリームのリクエストに rdp=1 パラメータを含めると、そうしたリクエストに含まれる広告リクエストにもこのパラメータを渡すことができます(DAI HTML5 SDK、DAI Cast SDK、DAI iOS SDK、DAI Android SDK、DAI Roku SDK、DAI tvOS SDK)。
従来の Google パブリッシャー広告タグ
他のタイプの Google 広告タグ(従来の Google アド マネージャー タグ、GUT タグ、AdSense または Ad Exchange の非同期タグ(show_ads.js
)など)では、制限付きデータ処理広告リクエストはサポートされていません。パーソナライズド広告と制限付きデータ処理モードの機能をフルでサポートしているタグのいずれかに移行することをおすすめします。
検索向け AdSense
デフォルトでは、Google への広告リクエストに、データ処理方法とパーソナライズド広告配信方法に関する制限は設定されていません。広告は、ユーザーの検索クエリと検索を行う個々のユーザーの過去のデータの両方に基づいて選択されます。制限付きデータ処理を有効にすると、Google でのデータ使用が制限され、非パーソナライズド広告のみが配信されるようになります。
制限付きデータ処理を有効化するには、下記の説明のようにリクエストごとに行うか、特定のプロパティでパーソナライズを無効化するようアカウント マネージャーに依頼します。
- カスタム検索広告 - ウェブ広告タグの場合: カスタム検索広告タグの
pageOptions
に下記のテキストを追加します。personalizedAds: false,
- AdMob タグの場合:
builder.setAdvancedOptionValue("csa_personalizedAds", "false");
- iOS タグの場合:
[request setAdvancedOptionValue:@"false" forKey:@"personalizedAds"];
これらの方法により、特定のリクエストに対して制限付きデータ処理がトリガーされ、非パーソナライズド広告が配信されます。これはステートレス パラメータです。ユーザーに対して、後続のリクエストでパラメータが設定されていない場合は、パーソナライズド広告をリクエストするデフォルトの動作に戻ります。
Accelerated Mobile Pages(AMP)
<amp-ad type=”doubleclick”>
または <amp-ad type=”adsense”>
を使用して広告をリクエストする際の設定方法を紹介します。AMP ページからの広告リクエストについては、対象となる米国の州の全ユーザーに制限付きデータ処理を適用するか、下記の説明に従ってパーソナライズを無効化することで制限付きデータ処理を選択的に適用するかを選択できます。制限付きデータ処理を有効化する場合は、既存のパーソナライズ無効化設定を使用します。これらの用語は、この記事では同義で使用されます。
対象となる米国の州のユーザーに対して、非パーソナライズド広告をリクエストする
AMP AdSense タグを使用するか、リアルタイム設定(RTC)なしで AMP Doubleclick を使用する場合は、Google アド マネージャーまたは AdSense の管理画面で制限付きデータ処理を有効にできます。AMP ページに変更を加える必要はありません。
AMP 広告タグでリアルタイム設定(RTC)を使用している場合、RTC リクエストは、同意が得られている場合または必要ない場合にのみ送信されます(注: 特定の RTC コールアウトは同意ステータスにかかわらず送信できます)。非パーソナライズド広告を表示するユーザー(つまり対象となる米国の州のユーザー)を対象とした RTC リクエストの送信を回避するには、次のコンポーネントと設定(amp-geo
と amp-consent
)を使用できます。
<!-- 米国からのエンドユーザーを検出するように amp-geo コンポーネントをセットアップします。amp-geo は現在、国レベルの地域検出しかサポートしていませんが、近日中に米国の州レベルで検出できるようになります。amp-geo で国を判断できない場合はその事例を必ず「unknown」として取り扱い、少なくとも 1 つのグループに「unknown」を含めるようにしてください。-->
<amp-geo layout=nodisplay>
<script type="application/json">
{
"ISOCountryGroups": {
"us": ["us"],
"eea": ["preset-eea", “unknown”]
}
}
</script>
</amp-geo>
<!-- amp-consent コンポーネントを設定して、リクエストをブロックし、ユーザーから同意を得ます。このコンポーネントは、自動的に拒否されるよう後で設定して、実際には同意確認が行われないようにします。これにより、RTC コールアウトが防止され、非パーソナライズド広告を配信するためのシグナルがアド マネージャー / AdSense に送られます。-->
<amp-consent layout="nodisplay" id="consent-element">
<script type="application/json">
{
“consentInstanceId”: “my_consent”,
“consentRequire”: false,
“geoOverride”: {
“us”: {
“consentRequired”: “remote”,
“checkConsentHref”: “https://your-endpoint”
}
}
</script>
</amp-consent>
現在 amp-geo
では、対象となる米国の州の検出がサポートされていないため、checkConsentHref
設定を利用して現在のユーザーに同意が必要かどうかを AMP に伝えるためのエンドポイントを提供する必要があります。AMP はエンドポイントから JSON オブジェクトが返されることを想定します。エンドポイントの応答に関する詳細については、AMP サイトのドキュメントを参照してください。
エンドポイントの設定が難しい場合に備えて、AMP チームが、対象となる米国の州のユーザーを検出できるようにする新機能の開発に取り組んでいます。その機能がリリースされるまでは、一時的な解決策として、米国の全ユーザーに同意設定を適用するよう選択できます。amp-consent
の設定は次のようになります。
<!-- 米国の全ユーザーを対象として amp-consent コンポーネントを設定し、リクエストをブロックして同意を得ます -->
<amp-consent layout="nodisplay" id="consent-element">
<script type="application/json">
{
“consentInstanceId”: “my_consent”,
“consentRequire”: false,
“geoOverride”: {
“us”: {
“consentRequired”: “true”
}
}
</script>
</amp-consent>
ページにすでに amp-ad
コンポーネントがある場合は、次のように data-block-on-consent
属性を追加する必要があります。_auto_reject
は、確認メッセージではなく代替広告を待機して、非パーソナライズド広告を配信するよう、広告に指示します。
<!-- 最後に広告タグを設定し、自動的に同意を拒否するよう指定します -->
<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 コンポーネントをセットアップします。amp-geo は現在、国レベルの地域検出しかサポートしていませんが、近日中に米国の州レベルで検出できるようになります。amp-geo で国を判断できない場合はその事例を必ず「unknown」として取り扱い、少なくとも 1 つのグループに「unknown」を含めるようにしてください。-->
<amp-geo layout=nodisplay>
<script type="application/json">
{
"ISOCountryGroups": {
"us": ["us"],
"unknown": ["unknown"]
}
}
</script>
</amp-geo>
<!-- 米国のユーザーを対象に同意を設定します -->
<amp-consent layout="nodisplay" id="consent-element">
<script type="application/json">
{
“consentInstanceId” : “my_consent”,
“consentRequired”: false,
“geoOverride”: {
“us”: {
“consentRequired”: “true”,
“promptUI”: “myConsentFlow”
}
}
}
</script>
<div id=”myConsentFlow”>...</div>
</amp-consent>
<!-- 最後に広告タグを設定して、必要な場合には同意を待機し解決済みの同意が不明な場合は非パーソナライズド広告をリクエストするよう、指定します。-->
<amp-ad data-block-on-consent
data-npa-on-unknown-consent=true
width=320 height=50
type="doubleclick"
data-slot="/4119129/mobile_ad_banner">
</amp-ad>
checkConsentHref
を使用してページからエンドポイントに CORS POST リクエストを送信するよう設定することで、ユーザーに対して選択的に同意を求めるよう独自のエンドポイントを設定できます。詳しくは、amp-consent に関するドキュメントをご覧ください。