制限付き広告を使用すると、ユーザーが個人データの共有に同意していない場合でも、アプリで広告を配信できます。制限付き広告モードでは、広告の選択を目的とする個人データの収集、共有、使用が停止されます。ユーザーが個人データの共有を拒否した場合でも、この機能により広告の配信を継続できます。
このガイドでは、アプリで制限付き広告の設定を使用する方法と、アプリの動作を Google アド マネージャー ネットワークの全般設定と一致させる方法について説明します。
クライアントの制限付き広告の設定を構成する
PAL では、ユーザーのプライバシーとデータ使用に関する管理を強化するため、設定の処理方法を更新しています。PAL バージョン 1.90.0 では、forceLimitedAds プロパティが導入され、既存の allowStorage プロパティが非推奨になりました。これらのプロパティは ConsentSettings クラスにあります。
バージョン 1.90.0 以降では、PAL がデバイスから透明性と同意に関するフレームワーク(TCF)データを読み取り、ローカル ストレージに対するユーザーの同意を判断します。TCF データの読み取りに関するこの変更により、既存の allowStorage プロパティは冗長になります。アプリは引き続き、広告タグの URL で gdpr= パラメータと gdpr_consent= パラメータを渡す必要があります。
TCF に基づく自動判定が不十分な場合は、アプリで forceLimitedAds プロパティを直接設定します。詳しくは、パブリッシャー様による IAB ヨーロッパの TCF の統合をご覧ください。forceLimitedAds プロパティを true 値に設定すると、PAL はサーバーに送信されるノンスにユーザー ID を保存したり送信したりしなくなります。forceLimitedAds プロパティを true 値に設定することは、IMA(Interactive Media Ads)SDK の広告リクエスト URL に ltd=1 パラメータを追加することと同じです。制限付き広告について詳しくは、ltd(制限付き広告)をご覧ください。forceLimitedAds プロパティを true 値に設定すると、PAL はノンスに ltd=1 パラメータを含めます。
アプリの現在の動作を維持するには、これまで allowStorage プロパティを設定していない場合でも、実装の更新が必要となることがあります。既存の allowStorage プロパティはデフォルトで false 値に設定され、制限付き広告が有効になります。forceLimitedAds プロパティのデフォルト値は false で、制限付き広告は有効になりません。
TCF の判定のフェーズ 1 の更新
PAL HTML5 フェーズ 1 のリリースでは、ConsentSettings.allowStorage プロパティから制限付き広告の TCF ベースの自動判定への移行を準備します。
移行期間中、PAL はユーザーの TCF データ、既存の allowStorage プロパティ、最新の forceLimitedAds プロパティを考慮します。このフェーズでは、常に allowStorage プロパティを true 値に設定して、TCF データに基づいて制限付き広告が適用されるかどうかを PAL が判断できるようにする必要があります。TCF の判定に関係なく制限付き広告を有効にする場合は、forceLimitedAds プロパティを true 値に設定します。
フェーズ 1 では、PAL は次のいずれかの状況で制限付き広告を有効にします。
allowStorageプロパティはfalse値または未設定です。この設定は、更新されていないアプリをサポートするためだけのものなので、allowStorageプロパティに使用することはおすすめしません。forceLimitedAdsプロパティはtrue値です。- PAL は、IAB(Interactive Advertising Bureau)TCF の目的 1 の同意が付与されていないことを検出します。
次の表に、考えられるすべての状態と、制限付き広告が有効かどうかを示します。
| TCF の目的 1 の同意 | allowStorage 件の宿泊施設 |
forceLimitedAds 件の宿泊施設 |
制限付き広告が有効になっている |
|---|---|---|---|
| 許可 | 正しい | 正しい | 正しい |
| 未許可 | 正しい | 正しい | 正しい |
| 許可 | 正しい | False(デフォルト) | 誤り |
| 未許可 | 正しい | False(デフォルト) | 正しい |
| 許可 | False(デフォルト) | 正しい | 正しい |
| 未許可 | False(デフォルト) | 正しい | 正しい |
| 許可 | False(デフォルト) | False(デフォルト) | 正しい |
| 未許可 | False(デフォルト) | False(デフォルト) | 正しい |
TCF フェーズ 2 の判定に備える
フェーズ 2 のリリースでは、allowStorage プロパティから機能が削除されます。フェーズ 2 のリリースは、フェーズ 1 のリリースから 90 日後(2026 年 3 月 10 日を予定)に予定されています。この日までに、ConsentSettings.forceLimitedAds パラメータを使用するように実装を更新する必要があります。
フェーズ 2 のリリースでは、PAL は TCF の目的 1 の同意がないことと、オプションの ConsentSettings.forceLimitedAds プロパティのみに基づいて制限付き広告を有効にします。
| TCF の目的 1 の同意 | forceLimitedAds 件の宿泊施設 |
制限付き広告が有効 |
|---|---|---|
| 許可 | 正しい | 正しい |
| 未許可 | 正しい | 正しい |
| 許可 | False(デフォルト) | 誤り |
| 未許可 | False(デフォルト) | 正しい |
Google アド マネージャーのグローバル設定を一致させる
アド マネージャーの設定 [プログラマティック広告の制限] または [ウェブ広告のファーストパーティ Cookie] を更新する場合は、これらの新しい API を使用して、アド マネージャーの設定を一致させます。API を使用しない場合、PAL はサーバーへの広告リクエストで使用されるノンスに ID を含める可能性があります。ただし、アド マネージャーの設定によっては、アド マネージャーがシグナルをドロップする可能性があります。
API は次のとおりです。
disableLimitedAdsStorage- 無効なトラフィック検出専用の Cookie と、制限付き広告でのローカル ストレージの使用を無効にします。アド マネージャーの [管理] > [グローバル設定] で [プログラマティック制限付き広告] の設定を更新した場合は、この API を使用して、PAL での制限付き広告のローカル ストレージの使用を無効にします。なお、この設定は制限なしの広告には適用されません。disableFirstPartyIdentifiers- 広告選択に使用されるファーストパーティ識別子を無効にします。アド マネージャーの [管理者] > [全般設定] で [ウェブ広告のファーストパーティ Cookie] 設定を更新した場合は、この API を使用して PAL でそのような識別子を無効にします。なお、この設定は、無効なトラフィックの検出を目的とした Cookie とローカル ストレージの使用には適用されません。
アプリでユーザーの同意を処理する
次の例では、PAL 実装でユーザーのプライバシーとデータの使用を処理します。
const consentSettings = new goog.pal.ConsentSettings();
consentSettings.allowStorage = true;
// During the PAL Phase 1 release, best practice is to always set the
// `allowStorage` property to a `true` value to allow PAL to automatically
// determine whether limited ads applies based on the TCF data.
// To enable limited ads regardless of the TCF determination, set the
// `forceLimitedAds` property to a `true` value.
const adManagerSettings = new goog.pal.GoogleAdManagerSettings();
// Add this line if the "Programmatic limited ads" toggle is turned off in
// Ad Manager.
adManagerSettings.disableLimitedAdsStorage = true;
// Add this line if the "First party cookies for ads on web" toggle
// is turned off in Ad Manager.
adManagerSettings.disableFirstPartyIdentifiers = true;
const nonceLoader = new goog.pal.NonceLoader(consentSettings, adManagerSettings);