The Sprocket Developer Hub

The Sprocket Developer Hub

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

    

ユーザー属性タグ

誕生日や会員が保持するポイント数を Sprocket に連携して接客に活用するための JavaScript 形式のデータ連携タグです。

主な活用方法

・誕生日クーポンを表示する
・保持するポイント数に応じてその活用方法を提案する
・メール配信がオプトアウトされているユーザーに対してメールのメリットを訴求する

タグの設置ページ

サイトの構造によりますが、ログイン直後など、ユーザーがログインしているページかつアクセス頻度が高いページに設置ください。複数ページに設置いただいても問題ありません。

データ項目

フィールド名(Key)

概要

値(Value)のサンプル

セグメント条件での使用

userId

ユーザーを識別するユニークなID
※ この項目があると会員ID連携されます

'123456'

文字列
文字数:1〜128文字
使用できる文字:ASCIIコードの英数記号すべて

registrationDate

会員登録日時

'2018-11-23T00:00:00Z'
'2018-11-23T00:00:00.000Z'
'2018-11-23T00:00:00+09:00'
new Date('2018-11-23').toISOString()

文字列
※ISO8601拡張形式

gender

性別

'M', 'female', '女性', '0'

文字列

birthday

誕生日

'1975-04-19'

文字列
※ISO8601拡張形式、日付のみ

country

国名

'japan', '日本', 'JP'

文字列

prefecture

都道府県

'東京都'

文字列

point

会員が保有するポイント数

500

数値(整数)

expiringPoint

当月失効する会員ポイント数

200

数値(整数)

group

会員をグルーピングしている場合にはその情報を入力してください。

'G1'

文字列

canSendMail

メール送信可能: true
メール送信不可: false

true

ブーリアン

isLineUser

LINE ID あり(連携済み): true
LINE ID なし(未連携): false

true

ブーリアン

purchase

購入に関連するデータをセットします

{
totalCount: 3,
totalAmount: 35000
}

オブジェクト

purchase.initialDate

初回購入日時

'2018-11-23T00:00:00Z'
'2018-11-23T00:00:00+09:00'

文字列
※ISO8601拡張形式

purchase.lastDate

最終購入日時

'2018-11-23T00:00:00Z'
'2018-11-23T00:00:00+09:00'

文字列
※ISO8601拡張形式

purchase.totalCount

総購入回数

3

数値(整数)

purchase.totalAmount

総購入金額
※送料、消費税を含む金額を推奨

35000

数値(整数)

🚧

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

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

  • フィールド名(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 を除く。ユーザー属性タグuserId のバリデーション仕様は補足説明を参照してください。)

🚧

ユーザー属性タグについての補足説明

  • データ連携タグは Sprocket タグより後に発火するように設置してください
  • [ユーザー属性タグ]はユーザーがログインしている場合のみ出力してください。非ログイン時に[ユーザー属性タグ]が出力されると、ゲストユーザーとして値が保存されるため、会員ユーザーとの値の紐付けができません。
  • 必須項目はありませんが、会員ID連携のために userId の出力を推奨します
  • userId は文字列型ですが、例外的に以下のバリデーション仕様となっています
    • 文字数:1〜128文字
    • 使用できる文字:ASCIIコードの英数記号全て
  • 文字列(ISO8601拡張形式) のミリセカンドの値は、サーバーへのデータ送信時に JSSDK で削除されます
  • サポートしている文字コードは UTF-8 です

JavaScript サンプル

データ項目はサンプルを参考に、ファンクション SPSDK.user() のパラメータに配列でセットしてください。

<script type="text/javascript">
(function() {
  var props = {
    userId: '123456',
    point: 200,
    group: 'VIP',
    purchase: {
      initialDate: '2019-01-01T12:00:00+09:00',
      totalCount: 10
    }
  };
  console.log('Sprocket: User props:\n' + JSON.stringify(props, null, '  '));
  SPSDK.user(props);
})();
</script>

🚧

注意事項

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

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

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

<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 = {
        userId: '123456',
        point: 200,
        group: 'VIP',
        purchase: {
          initialDate: '2019-01-01T12:00:00+09:00',
          totalCount: 10
        }
      };
     console.log('Sprocket: User props:\n' + JSON.stringify(props, null, '  '));
     SPSDK.user(props);
  }, 500);
})();
</script>

Updated about a month 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.