Skip to content

JavaScript API

以下のセクションでは、埋め込みスニペットによって作成されるグローバルな PrivacyID() 関数で使用できるコマンドについて説明します。

javascript
PrivacyID(<command>, <command parameters>);

PrivacyID コマンドは、グローバル埋め込みスニペットより下に記述されていれば、ページ内のどこからでも呼び出すことができます。

コマンド

endpoint

ユーザーを識別するためにウェブサーバーに実装したAPI エンドポイントの URL を指定します。

javascript
PrivacyID('endpoint', '<endpoint>');
引数説明
<endpoint>string“/api/privacyId”ユーザーを識別するためのウェブサーバー上の API エンドポイントへのパスまたは URL。

INFO

getIdentity コマンドは、このプロパティの値が提供されるまで実行を遅延させます。

javascript
PrivacyID('endpoint', '/api/privacyId');

consentCategories

ユーザーがユーザー ID へのアクセスを許可したスクリプトカテゴリを指定します。

PrivacyID ポータルで定義する各スクリプトには、1つ以上の同意カテゴリを関連付けることができます。getIdentity コマンドは、ユーザーによってすべてのスクリプトカテゴリが許可されているスクリプトにのみユーザー ID を提供します。

javascript
PrivacyID('consentCategories', [<categories>]);
引数説明
[<categories>]Array<string>[“functional”, “analytics”]ユーザーが許可した文字列カテゴリ名の配列。この値は、お客様のシステムまたはウェブサイトに統合されたサードパーティのクッキー同意サービスから取得できます。

INFO

デフォルトでは、PrivacyID は同意カテゴリが提供されるまで、getIdentity コマンドの実行を遅延させます。ウェブサイトが同意カテゴリを使用しない場合、この遅延を回避するために requireConsent プロパティを false に設定できます。

javascript
// サードパーティCookie Scriptサービスとの統合例。
CookieScript.instance.onAccept = function () {
  var state = CookieScript.instance.currentState();
  PrivacyID('consentCategories', state.categories);
};

requireConsent

PrivacyID がスクリプトにユーザー ID を提供する前に、同意カテゴリが定義されるのを待つべきかどうかを指定します。デフォルトは true です。

javascript
PrivacyID('requireConsent', <value>);
引数説明
<value>booleanfalse同意カテゴリを無効にするには false を指定します。

javascript
PrivacyID('requireConsent', false);

userId

ユーザークッキーが失われた場合に、PrivacyID が将来の訪問でユーザーを識別できるよう、永続的な ID をユーザーに関連付けます。

このプロパティは、渡す値がユーザーに対して一意で一貫性があることを保証できる場合にのみ指定する必要があります。例えば、使用するのに適した値は、ログインしているユーザーのメールアドレスや一意の顧客 ID です。提供される値は、PII (個人を特定できる情報) がサーバー外に送信または保存されないように、使用される前にハッシュ化されます。

javascript
PrivacyID('userId', <userId>);
引数説明
<userId>string1234-5678-9101ユーザーに関連付ける一意で永続的な値。例:ログインしているユーザーの一意の顧客 ID。

INFO

userId プロパティに値を指定する場合は、その値がユーザーに対して一意であることを確認できる場合に限ります。誤って異なるユーザーに同じ値が提供された場合、PrivacyID は複数のユーザーに同じユーザー識別子を提供し始め、誤認識につながり、PrivacyID に依存するスクリプトに影響を及ぼします。

javascript
PrivacyID('userId', '1234-5678-9101');

getIdentity

ウェブサイトに統合された各スクリプトに対して、一意で一貫性のあるユーザー ID を返します。

このコマンドは、ユーザーを一意に識別する必要があるウェブサイトに統合された各スクリプトに使用する必要があります。提供するコールバック関数は、ユーザーが識別され、スクリプトが現在 PrivacyID ポータルで有効であり、ユーザーがスクリプトで必要とされるすべてのカテゴリに同意している場合に、ユーザー ID が利用可能になったときに呼び出されます。

javascript
PrivacyID('getIdentity', '<scriptKey>', <callback>);
引数説明
<scriptKey>string6ee2aa22-8ea8-4ad0-9353-5a714151ebf6スクリプトを表す一意の識別子。これは PrivacyID ポータルで利用できます。
<callback>Function(userId) => console.log(userId)ユーザー識別子で呼び出されるコールバック関数。提供されるユーザー ID は、スクリプトがユーザー ID へのアクセスを許可されていない場合は文字列または undefined になります。

INFO

このコマンドへの応答は、endpointconsentCategories プロパティが提供されるまでキューに入れられます。

javascript
PrivacyID(
  'getIdentity',
  '0318b158-5bcc-497a-a526-718b18d1600b',
  function (userId) {
    console.log(userId);
  }
);

Google Analytics を使用した例

html
<!-- グローバルサイトタグ (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>