JavaScript API
以下のセクションでは、埋め込みスニペットによって作成されるグローバルな PrivacyID()
関数で使用できるコマンドについて説明します。
PrivacyID(<command>, <command parameters>);
PrivacyID コマンドは、グローバル埋め込みスニペットより下に記述されていれば、ページ内のどこからでも呼び出すことができます。
コマンド
endpoint
ユーザーを識別するためにウェブサーバーに実装したAPI エンドポイントの URL を指定します。
PrivacyID('endpoint', '<endpoint>');
引数 | 型 | 例 | 説明 |
---|---|---|---|
<endpoint> | string | “/api/privacyId” | ユーザーを識別するためのウェブサーバー上の API エンドポイントへのパスまたは URL。 |
INFO
getIdentity コマンドは、このプロパティの値が提供されるまで実行を遅延させます。
例
PrivacyID('endpoint', '/api/privacyId');
consentCategories
ユーザーがユーザー ID へのアクセスを許可したスクリプトカテゴリを指定します。
PrivacyID ポータルで定義する各スクリプトには、1つ以上の同意カテゴリを関連付けることができます。getIdentity コマンドは、ユーザーによってすべてのスクリプトカテゴリが許可されているスクリプトにのみユーザー ID を提供します。
PrivacyID('consentCategories', [<categories>]);
引数 | 型 | 例 | 説明 |
---|---|---|---|
[<categories>] | Array<string> | [“functional”, “analytics”] | ユーザーが許可した文字列カテゴリ名の配列。この値は、お客様のシステムまたはウェブサイトに統合されたサードパーティのクッキー同意サービスから取得できます。 |
INFO
デフォルトでは、PrivacyID は同意カテゴリが提供されるまで、getIdentity コマンドの実行を遅延させます。ウェブサイトが同意カテゴリを使用しない場合、この遅延を回避するために requireConsent プロパティを false に設定できます。
例
// サードパーティCookie Scriptサービスとの統合例。
CookieScript.instance.onAccept = function () {
var state = CookieScript.instance.currentState();
PrivacyID('consentCategories', state.categories);
};
requireConsent
PrivacyID がスクリプトにユーザー ID を提供する前に、同意カテゴリが定義されるのを待つべきかどうかを指定します。デフォルトは true
です。
PrivacyID('requireConsent', <value>);
引数 | 型 | 例 | 説明 |
---|---|---|---|
<value> | boolean | false | 同意カテゴリを無効にするには false を指定します。 |
例
PrivacyID('requireConsent', false);
userId
ユーザークッキーが失われた場合に、PrivacyID が将来の訪問でユーザーを識別できるよう、永続的な ID をユーザーに関連付けます。
このプロパティは、渡す値がユーザーに対して一意で一貫性があることを保証できる場合にのみ指定する必要があります。例えば、使用するのに適した値は、ログインしているユーザーのメールアドレスや一意の顧客 ID です。提供される値は、PII (個人を特定できる情報) がサーバー外に送信または保存されないように、使用される前にハッシュ化されます。
PrivacyID('userId', <userId>);
引数 | 型 | 例 | 説明 |
---|---|---|---|
<userId> | string | 1234-5678-9101 | ユーザーに関連付ける一意で永続的な値。例:ログインしているユーザーの一意の顧客 ID。 |
INFO
userId プロパティに値を指定する場合は、その値がユーザーに対して一意であることを確認できる場合に限ります。誤って異なるユーザーに同じ値が提供された場合、PrivacyID は複数のユーザーに同じユーザー識別子を提供し始め、誤認識につながり、PrivacyID に依存するスクリプトに影響を及ぼします。
例
PrivacyID('userId', '1234-5678-9101');
getIdentity
ウェブサイトに統合された各スクリプトに対して、一意で一貫性のあるユーザー ID を返します。
このコマンドは、ユーザーを一意に識別する必要があるウェブサイトに統合された各スクリプトに使用する必要があります。提供するコールバック関数は、ユーザーが識別され、スクリプトが現在 PrivacyID ポータルで有効であり、ユーザーがスクリプトで必要とされるすべてのカテゴリに同意している場合に、ユーザー ID が利用可能になったときに呼び出されます。
PrivacyID('getIdentity', '<scriptKey>', <callback>);
引数 | 型 | 例 | 説明 |
---|---|---|---|
<scriptKey> | string | 6ee2aa22-8ea8-4ad0-9353-5a714151ebf6 | スクリプトを表す一意の識別子。これは PrivacyID ポータルで利用できます。 |
<callback> | Function | (userId) => console.log(userId) | ユーザー識別子で呼び出されるコールバック関数。提供されるユーザー ID は、スクリプトがユーザー ID へのアクセスを許可されていない場合は文字列または undefined になります。 |
INFO
このコマンドへの応答は、endpoint と consentCategories プロパティが提供されるまでキューに入れられます。
例
PrivacyID(
'getIdentity',
'0318b158-5bcc-497a-a526-718b18d1600b',
function (userId) {
console.log(userId);
}
);
Google Analytics を使用した例
<!-- グローバルサイトタグ (gtag.js) - Google Analytics -->
<script
async
src="https://www.googletagmanager.com/gtag/js?id=G-1234567890"
></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-1234567890');
PrivacyID(
'getIdentity',
'0318b158-5bcc-497a-a526-718b18d1600b',
function (userId) {
gtag('config', 'G-XXXXXXXXXX', {
user_id: userId
});
}
);
</script>