EU ユーザーの同意ポリシー

Google のサイト運営者広告タグでの広告パーソナライズ設定

Google の最新版 EU ユーザーの同意ポリシーの下で、サイト運営者様は欧州経済領域(EEA)のユーザーに対して特定の情報を開示すること、ならびに Cookie などのローカル ストレージの使用(法律で義務付けられている場合)、および広告のパーソナライズを目的とする個人データの収集、共有、使用について、それらのユーザーの同意を得ることが必要になります。このポリシーには、EU の e プライバシー指令と一般データ保護規則(GDPR)の要件が反映されています。

GPT と AdSense タグを使用しているページ向けの広告のパーソナライズ設定

広告をリクエストする

デフォルトでは、Google への広告リクエストによってパーソナライズド広告が配信されます。広告は、ウェブページのコンテンツとページにアクセスしている個々のユーザーの過去のデータの両方に基づいて選択されます。Google では、パーソナライズされていない広告の配信もサポートしています。パーソナライズド広告とパーソナライズされていない広告についての詳細

同意ポリシーの要件を満たしたうえで、サイトにアクセスする欧州経済領域のすべてのユーザーにパーソナライズされていない広告を配信する場合は、広告タグを変更する必要はありません。コンテンツ向け AdSenseGoogle アド マネージャーの管理画面で、パーソナライズされていない広告配信を有効にすることができます。

パーソナライズされていない広告をすべてのユーザーに配信するわけではない場合は、Google サイト運営者タグや AdSense またはアド マネージャーの非同期広告タグを使用して、パーソナライズされていない広告の配信をトリガーするようにページごとに設定できます。この方法は、パーソナライズド広告かパーソナライズされていない広告のどちらを表示するかの選択肢をすべてのユーザー(または一部のユーザー)に提供する場合に便利です。

このような広告では、Cookie は広告のパーソナライズには使用されませんが、フリークエンシーキャップや広告集計レポート、詐欺や不正行為への対処のためには使用されます。したがって、e プライバシー指令の Cookie 規定が適用される国のユーザーからの Cookie をこのような目的で使用する場合は、同意が必要です。 パーソナライズされていない広告についての詳細

GPT タグの場合:

次のメソッドを使用します: googletag.pubads().setRequestNonPersonalizedAds(1)

AdSense とアド マネージャーの非同期広告タグの場合:

次の値を設定します: (adsbygoogle=window.adsbygoogle||[]).requestNonPersonalizedAds=1

これらのメソッドは、ページからの後続の Google 広告リクエストに対してパーソナライズされていない広告のリクエストをトリガーします。広告リクエストは、サポートされている広告タグ(Google サイト運営者タグ、Google サイト運営者タグライト、AdSense やアド マネージャーの非同期広告タグ(adsbygoogle.js)、従来の AdSense 同期タグ(show_ads.js)、IMA SDK)により送信されます。広告タグがパーソナライズされていない広告をリクエストしている場合は、広告リクエストにパラメータ &npa=1 が設定されていますのでブラウザのデベロッパー ツールでご確認ください。

setRequestNonPersonalizedAds(0) を呼び出すか、requestNonPersonalizedAds=0 を設定すると、パーソナライズ設定が再び有効になります。ページに複数の種類の Google 広告タグ(Google サイト運営者タグや AdSense またはアド マネージャーの非同期タグなど)が含まれている場合は、どれを最初に実行するかを予測できない可能性があるため、パーソナライズされていない広告の管理設定を使ってタグの種類ごとに設定してください。

広告リクエストを一時停止する

Google サイト運営者タグや AdSense またはアド マネージャーの非同期タグは、ページの読み込み後に明示的なシグナルを待ってから、広告リクエストの送信を開始する技術をサポートしています。これは、ユーザーが同意リクエスト画面を操作するのを待ってから、広告リクエストを送信する必要がある場合に便利です。

Google サイト運営者タグを使用している場合: 非同期モードを使用すると広告リクエストを遅らせることができます。

  • 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 を設定しないと広告は表示されません。

この手法では広告リクエストが送信されないようにできますが、さまざまなスクリプトは読み込まれます。新しい Cookie が設定されることはありませんが、Google ドメインにある既存の Cookie の読み取りは可能です。既存の Cookie に関連付けられているデータは、広告の配信や測定には使用されません。

ユーザーが選択を行うまでスクリプトの読み込みを延期する方法が同意取得管理ソリューションで提供されている場合は、別の方法として gpt.jsadsbygoogle.js の読み込みを延期することもできます。他のタイプの Google 広告タグでは、広告リクエストの一時停止がサポートされていません。パーソナライズド広告かパーソナライズされていない広告のいずれかをリクエストする準備が整うまで、広告リクエストが読み込まれないようにする必要があります。

AdSense タグについて詳しくは、広告のパーソナライズ設定用広告コードサンプルご覧ください。

AMP ページ向けの広告のパーソナライズ設定

AMP ページからの広告リクエストに対しても、上で説明した AMP 以外のページの場合と同じ広告のパーソナライズ設定を使用できます。つまりサイト運営者やパブリッシャーは、欧州経済領域(EEA)のすべてのユーザーにパーソナライズされていない広告を配信するよう設定するか、ユーザーの同意に基づいてパーソナライズド広告とパーソナライズされていない広告を選択的に配信するよう設定することができます。以下では、それぞれのシナリオについて、AMP ページから <amp-ad type=”doubleclick”> または <amp-ad type=”adsense”> を使用して広告をリクエストする際の設定方法を紹介します。

欧州経済領域(EEA)のすべてのユーザーにパーソナライズされていない広告を配信する

AMP 広告タグでリアルタイム設定(RTC)を使用していない場合、パーソナライズされていない広告の配信を有効にするには Google アド マネージャーまたは AdSense の管理画面で該当の設定を行うだけです。AMP ページにさらに変更を加える必要はありません。

AMP 広告タグでリアルタイム設定(RTC)を使用している場合は、パーソナライズされていない広告を表示するユーザー(欧州経済領域(EEA)のユーザー)に対して RTC リクエストを送信しないようにページを設定します。必要なコンポーネントと設定(amp-geoamp-consent)について、以下をご覧ください。


<!-- First we need to set up the amp-geo extension. We define a group: `eea` which includes all European Economic Area countries. You will need to keep this list up-to-date as membership in the EEA may change over time. -->
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>

<!-- Next we need to setup the consent with 0 timeout (i.e. it doesn’t show a consent UI  at all) and default “rejected” consent state. This halts RTC callouts and signals DFP/AdSense to serve non-personalized ads. -->
<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 属性を追加する必要があります。

<!-- Finally we set up the ad tag, directing it 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-consentdata-npa-on-unknown-consent の各属性の構成に基づいて行います。たとえば amp-consent コンポーネントを設定するとともに、data-block-on-consent を使ってページのすべての <amp-ad> タグにこのコンポーネントをリンクしている場合、処理の流れは次のようになります。

  • amp-consent コンポーネントにユーザーが肯定応答を返した(同意した)場合、広告は通常どおりにリクエストされます。
  • amp-consent コンポーネントにユーザーが否定応答を返した(同意しなかった)場合は、パーソナライズされていない広告がリクエストされます。
  • amp-consent コンポーネントに対するユーザーの応答が不明な場合(ユーザーが同意確認のメッセージを閉じた場合)は、以下のいずれかの処理が行われます。
    • デフォルトでは、広告リクエストは一切送信されません
    • data-npa-on-unknown-consenttrue に設定されている場合は、パーソナライズされていない広告がリクエストされます。
  • amp-geo コンポーネントの設定に基づき、ユーザーの所在地が同意の確認の対象外と判定された場合、リクエストは通常どおりに送信されます。

<amp-ad> タグで data-block-on-consent が使用されていない場合、または amp-consent コンポーネントが正しく設定されていない場合、リクエストは通常どおりに送信されます。

欧州経済領域(EEA)のすべてのユーザーに同意の確認メッセージを表示するように設定する例を以下に示します。動作結果は上で説明したとおりとなります。

<!-- First we need to set up the amp-geo extension. We define a group: `eea` which includes all European Economic Area countries. You will need to keep this list up-to-date as membership in the EEA may change over time. -->
<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>
 
<!-- Next we need to setup the consent for users in the “eea” country group -->
<amp-consent layout="nodisplay" id="consent-element">
  <script type="application/json">
    {
      "consents": {
        "my_consent": {
          "promptIfUnknownForGeoGroup": "eea",
          "promptUI": "myConsentFlow"
        }
      }
    }
  </script> 
</amp-consent>
 

<!-- Finally we set up the ad tag, directing it to wait for consent when necessary -->
<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 サイト運営者タグのパスバックタグ

Google サイト運営者パスバックタグを使用している場合は、API 呼び出しに次の情報を含めることで、広告リクエストをパーソナライズされていない広告としてマークできます。

googletag.pubads().setRequestNonPersonalizedAds(int options);

広告リクエストをパーソナライズされていない広告としてマークするには、options パラメータを整数値 1 に設定し、パーソナライズド広告の対象となる広告リクエストに 0 を設定します。

この設定を省略すると、デフォルトでパーソナライズド広告が配信されます。

例:

<script src="https://www.googletagservices.com/tag/js/gpt.js">
googletag.pubads().setRequestNonPersonalizedAds(1);
googletag.pubads().definePassback("123456/ad/unit", [100,200])
    .display();
</script>

簡易 URL

簡易 URL を使用している場合は、npa=[int] パラメータをタグリクエスト URL に直接追加することで、広告リクエストをパーソナライズされていない広告としてマークすることができます。切り捨てられる恐れがあるため、タグの前半でパラメータを指定することをおすすめします。ここでは npa=1 を指定して、広告リクエストをパーソナライズされていない広告としてマークします。パラメータを指定しないと、デフォルトでパーソナライズド広告に設定されます。次に例を示します。

http://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 Mobile Ads SDK

Google Mobile Ads SDK について詳しくは、アプリ デベロッパー サイト(iOS GMA SDKAndroid GMA SDK)をご確認ください。

Google Interactive Media Ads SDK(動画向け)

動画リクエストでは、広告タグに npa=1 パラメータを追加することで、Google が動画コンテンツをパーソナライズされていない広告として扱うように指定することができます。これは、手動で作成したマスター動画タグを使用するか、プラットフォーム固有の IMA SDK(HTML5 IMA SDKiOS IMA SDKAndroid IMA SDKGoogle Cast IMA SDK)を使用して行うことができます。

動画プレーヤーで Google アド マネージャーのダイナミック広告挿入機能を使用している場合は、npa=1 パラメータをビデオ オンデマンド(VOD)かライブ ストリームのリクエストに含めると、そのパラメータが含められた広告リクエストすべてにパラメータが渡されます(DAI HTML5 SDKDAI Cast SDKDAI iOS SDKDAI Android SDKDAI Roku SDKDAI tvOS SDK)。

この記事は役に立ちましたか?
改善できる点がありましたらお聞かせください。