The Sprocket Developer Hub

The Sprocket Developer Hub

Sprocket の developer hub にようこそ。このサイトでは API 仕様や JavaScript タグ仕様など、Sprocket を活用していただくうえでの技術情報が掲載されています。適宜参照しながら Sprocket をご活用ください。

    

ログイン状態タグ

ユーザーのログイン状態を Sprocket に連携して接客に活用するための JavaScript 形式のデータ連携タグです。

タグの設置場所

ログインの最新状況を把握できるように、ログイン状態が変わる、ログイン直後や、ログアウト直後のページでタグを出力してください。

📘

補足説明

  • 一定時間経過後に自動ログアウトするような仕様のサイトでは、サイト離脱後、再来訪時にログインステータスが変わっている可能性があります。その場合には、最新のログイン状態が把握できるように、再来訪時のランディングページでタグを出力してください。

データ項目

フィールド名(Key)

概要

値(Value)のサンプル

セグメント条件での使用

isLoggedIn

ログインしている:true
ログインしていない:false

true

ブーリアン

🚧

バリデーション仕様(全タグ共通)

以下に該当する場合、エラーとなり全てのプロパティが送信されません。

  • フィールド名(Key)が不適切な場合

    • データ項目定義に存在しないフィールド名がある
  • 値(Value)が不適切な場合

    • 文字列(「ISO8601拡張形式」、「ISO8601拡張形式、日付のみ」を含む)/数値/論理型のデータ型が異なる(エラーの例: totalAmount: "1" ※数値型を期待しているが、文字列が出力されている)
      なお以下のケースでは Sprocket がキャスト処理を行うことによりデータが送信されます。(救済措置)

      文字列型の項目に数値型が入力された場合
      文字列型にキャストしてデータが送られます。
      ※ ただし、値(Value)が空文字列の場合は、フィールド名(Key)が無いものとして扱うためデータは送られません。

      数値型の項目に文字列型が入力された場合
      数値型にキャストした後、文字列型に戻して値が一致する場合のみ、数値型でデータが送られます。
      ※ ただし、値(Value)が空文字列の場合は、キャスト処理が行われずエラーとなるため、データは送られません。

      ブーリアンの項目に文字列型が入力された場合
      文字列で「true」、「false」と一致する場合は、ブーリアンとして解釈し、データが送られます。

    • 文字列(ISO8601拡張形式) の形式エラー

    • 文字列(ISO8601拡張形式、日付のみ) の形式エラー(エラーの例: birthday: '2019-01-01T12:00:00+09:00' ※時刻が含まれている)

    • 値に null が含まれる

    • 文字列長が64文字より大きい(ただし、 ユーザー属性タグuserId を除く。)

JavaScript サンプル(ログイン時)

<script type="text/javascript">
(function() {
  var props = { isLoggedIn: true }
  console.log('Sprocket: Login props:\n' + JSON.stringify(props, null, '  '));
  SPSDK.record('login', props);
})();
</script>

JavaScript サンプル(ログアウト時)

<script type="text/javascript">
(function() {
  var props = { isLoggedIn: false }
  console.log('Sprocket: Login props:\n' + JSON.stringify(props, null, '  '));
  SPSDK.record('login', props);
})();
</script>

🚧

注意事項

  • 必ず Sprocket タグの読込みより後にデータ連携タグが実行されるように実装してください。
    Sprocket タグの読み込みが完了していない状態でデータ連携を実行した場合、データが送信されません。タグマネージャなどで非同期に Sprocket タグを読み込んでいる場合は特にご注意ください。

データ連携タグの実行順が保証できない場合

Sprocket タグが読み込まれてからデータ連携を実行する処理を組み込んでください。コード例は下記です。

JavaScript サンプル(ログイン時)

<script type="text/javascript">
(function() {
  var count = 0;
  setTimeout(function wait() {
    if (++count > 10) return;
    if (typeof SPSDK === 'undefined') return setTimeout(wait, 500);
       var props = { isLoggedIn: true }
       console.log('Sprocket: Login props:\n' + JSON.stringify(props, null, '  '));
       SPSDK.record('login', props);    
  }, 500);
})();
</script>

JavaScript サンプル(ログアウト時)

<script type="text/javascript">
(function() {
  var count = 0;
  setTimeout(function wait() {
    if (++count > 10) return;
    if (typeof SPSDK === 'undefined') return setTimeout(wait, 500);
      var props = { isLoggedIn: false }
      console.log('Sprocket: Login props:\n' + JSON.stringify(props, null, '  '));
      SPSDK.record('login', props);       
  }, 500);
})();
</script>

Updated 5 months ago

ログイン状態タグ


ユーザーのログイン状態を Sprocket に連携して接客に活用するための JavaScript 形式のデータ連携タグです。

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.