---
title: CMP連携
description: STRIGHTとCMPガバナンスパックの役割、通常時のタグ実行フローを説明します。
canonical: 'https://mixed.co.jp/docs/governance-pack/cmp-integration/'
---
# CMP連携

STRIGHTとCMPガバナンスパックの役割、通常時のタグ実行フローを説明します。

公式ページ: [https://mixed.co.jp/docs/governance-pack/cmp-integration/](https://mixed.co.jp/docs/governance-pack/cmp-integration/)

## STRIGHTとの連携

CMPガバナンスパックは、STRIGHTを利用するサイト向けのCMS側プラグインです。
STRIGHTが同意状態を取得・保持し、CMS側は公開HTMLの対象タグを初期状態で無効にします。

CMPガバナンスパックの導入だけでは、同意後のタグ実行は開始されません。
STRIGHT側の設定が必要です。設定が完了してから、タグ変換を有効にしてください。

STRIGHTの設定は、STRIGHTの管理画面からマニュアルを取得し行なってください。

## CMS側で行う処理

* ページ生成時に対象の`script`と`iframe`を変換する
* YAMLの既定属性を対象タグへ追加する
* `src`のドメインが完全一致するルールを適用する
* ルールに応じて配信元ドメインを置換する
* ルールに応じてタグへ属性を追加する
* STRIGHTの判定がない状態でも、変換済みタグを非実行状態にしておく

CMS側は利用者の同意状態を保存せず、同意区分の判断も行いません。

## STRIGHT側で行う処理

* Cookie等の利用目的を表示する
* 利用者へ同意・拒否の選択肢を提供する
* 選択状態を取得・保持する
* 同意区分を判定する
* 同意された区分に対応する変換済みタグを公開ページ上で有効化する
* 同意の変更または撤回をタグの状態へ反映する

## プラグインに含まれない処理

CMPガバナンスパックの実装には、次の処理は含まれていません。

* STRIGHTのバナースクリプトをページへ挿入する
* STRIGHTへ同意状態を照会する
* STRIGHTの同意区分をYAMLへ自動同期する
* `data-src`を`src`へ戻す
* `type="text/plain"`のscriptを実行可能なscriptとして作り直す
* 同意撤回時に、すでに実行したタグや発行済みCookieを削除する

これらはSTRIGHT側の設定または公開ページ側の連携実装として別途用意します。

## 通常時のタグ実行フロー

1. CMSが公開ページを生成します。
2. CMPガバナンスパックが対象タグを無効状態へ変換し、YAMLで指定した属性を追加します。
3. 利用者が公開ページを開きます。
4. STRIGHTのスクリプトと同意UIが動作します。
5. STRIGHTが現在の同意状態を判定します。
6. STRIGHTで有効化されたタグが外部通信やCookie発行を開始します。

同意されていないタグと、同意状態を取得できないときのタグは無効状態のままにします。

## 同意状態ごとの関係

| 状態               | STRIGHT側    | CMS側で変換したタグ                           |
| ---------------- | ----------- | ------------------------------------- |
| 初回表示・選択前         | 同意状態を提示・待機  | 無効状態を維持                               |
| 対象区分へ同意          | 対象区分を許可と判定  | 連携処理で対象だけを有効化                         |
| 対象区分を拒否          | 対象区分を不許可と判定 | 無効状態を維持                               |
| 同意を撤回            | 更新後の状態を判定   | 対象タグを新たに有効化しない。実行済み処理とCookieの後始末は別途必要 |
| STRIGHTを読み込めない   | 判定できない      | 変換済みタグは無効状態を維持                        |
| 属性とSTRIGHT設定が不一致 | タグを対応付けられない | 対象タグは有効化されない                          |

## STRIGHTスクリプトの配置

script変換を有効にすると、CMSが生成するHTML内のtypeなしscript、空のtype、JavaScript MIMEタイプのscriptを一括で変換します。

STRIGHTのスクリプトも同じ形式でCMS出力内にある場合、`type="text/plain"`へ変換され、STRIGHT自体が起動しない可能性があります。

導入設計では、次を確認してください。

* STRIGHTスクリプトがどの仕組みから出力されるか
* CMPガバナンスパックの変換対象になるか
* 変換対象になる場合、どの処理が最初にスクリプトを起動するか
* 同じスクリプトがCMS、GTM、別テンプレートから重複して出力されていないか

STRIGHTスクリプトをCMSテンプレートから出力する場合は、必要に応じて`CMPGovernancePackExclude`ブロックタグで囲み、script変換から除外します。除外したscriptは同意前や障害時にも実行可能な状態で出力されるため、除外対象は同意判定に必要なコードへ限定してください。

`type="module"`へ変更して変換を回避する方法は、CMPガバナンスパックの明示的な除外範囲として管理できません。除外が必要な場合はブロックタグを使用してください。

## 注意事項

* 変換済みタグを有効化する順序と重複実行の防止は、公開ページ側の実装で確認してください。
* STRIGHTの契約、ユーザー管理、管理コンソールの操作はCMPガバナンスパックの管理画面では行いません。
* STRIGHTの管理コンソール内の各種マニュアルは、管理コンソール右上のヘルプから取得できます。
