ターゲット指定データ(JSON)の作成方法

メッセージ送信API を使用してメッセージ配信登録を行う際に配信対象者を指定するためにはJSONで対象者の条件を指定する必要があります。
メッセージ作成画面で配信対象者を設定して保存する事で生成されたJSONを確認する事も可能です。

画面操作によるターゲット(セグメント配信対象者)指定方法は「セグメント設定の方法 」をご覧下さい。

基本的な設定

基本的な設定は画面上のUIでも作成可能ですが、ターゲット指定データを作成する場合は指定したい項目全てを含む必要があります。

ターゲットJSONの基本フォーマット

作成するJSONデータに以下の必要な項目をプロパティとして設定します。

follow_date 友だち登録日の範囲を指定
channel 友だち登録経路を指定
profile 友だちがプロフィール設定画面から登録した情報を指定
property オリジナル属性で作成したプロフィール項目による指定
coupon Posterクーポンの使用状況などで指定
message 過去のメッセージ配信に対するアクションなどで指定
unreaded 一定期間未読の友だちを除外する設定
active 一定期間アクティブな友だちを指定する設定
visit LINE Simple Beaconで計測した来店日の範囲を指定
tags タグ情報で指定
max_users ランダムに抽出
{
    "follow_date":[
        // 友だち登録日の範囲を指定
    ],
    "channel":[
        // 友だち登録経路IDを配列で指定(最大10)
    ],
    "profile":{
        // プロフィールによる抽出条件
    },
    "property":[
        // オブジェクトの配列(最大20)
        {
            // オリジナル属性による抽出条件
        },
    ],
    "coupon":{
        // クーポンによる抽出条件
    },
    "message":[
        // 過去のメッセージによる抽出条件を配列で10個まで設定可能
    ],
    "unreaded":{
        // 連続した未読期間による抽出条件
    },
    "active":{
        //アクティブ期間による抽出条件
    },
    "visit":{
        //来店日による抽出条件
    },
    "tags":{
        //タグ情報による抽出条件
    },
    "max_users":{
        //ランダムに抽出
    }
}

友だち登録日による抽出設定

from 友だち登録日範囲の開始日をYYYY-MM-DD形式で指定
to 友だち登録日範囲の終了日をYYYY-MM-DD形式で指定
// 2019年4月に登録した友だちのみに送る場合
{
    "follow_date":{
        "from": "2019-04-01",
        "to": "2019-04-30"
    }
}
// 2019年4月以降に登録した友だちのみに送る場合
{
    "follow_date":{
        "from": "2019-04-01"
    }
}

友だち登録経路による抽出設定

友だち登録経路ID(数値)を配列で指定(上限10)

{
    "channel":[1111111111,2222222222,3333333333]
}

プロフィール情報による抽出設定

id 友だちのIDを使用)を配列で指定可能(最大10,000)
age 年齢の範囲を指定
from 年齢範囲の開始の年齢
to 年齢範囲の終了の年齢
birth_month 誕生日月を配列で複数指定
sex 性別を指定(1:男性,2:女性)
zip_cd 郵便番号を配列で複数指定(最大1,000)
prefecture 都道府県コードの整数値を配列で複数指定
nullable profile項目指定文字列を配列で指定可能
ここで指定したprofile項目は未登録ユーザーを対象とします
userId LINEログインやwebhookを通して取得したユーザーIDで指定可能(最大10,000)
trackingId メッセージ配信時にリンクから取得したトラッキングIDで指定可能(最大10,000)
{
    "profile":{
       "id":[
           //id[4]の友だちに限定
           4
        ],
        // 20才から40才までの友だちに限定
        "age":{
            "from":20,
            "to":40
        },
        // 1月、2月、3月生まれの友だちに限定
        "birth_month":[
            1,2,3
        ],
        // 男性に限定
        "sex":1,
        // 郵便番号で対象者を指定
        "zip_cd":[
            "1112222","1113333"
        ],
        // 東京都、または神奈川県在中の友だちに限定
        "prefecture":[
            13,14
        ],
        // 都道府県と性別は未登録の友だちも含める
        "nullable":[
            "sex",
            "prefecture"
        ],
        // LINEログインやwebhookを通して取得したユーザーIDで指定(最大10,000)
        "userId":[
            "data1", "data2"
        ],
        //メッセージ配信時にリンクから取得したトラッキングIDで指定(最大10,000)
        "trackingId":[
            1, 2
        ]
    }
}

オリジナル属性による抽出設定

ターゲットJSONデータを直接作成する事で、異なる属性のOR指定が可能となります。

下記のプロパティを含むオブジェクトを作成して配列に追加します。
複数の配列を追加した場合はそれぞれのオブジェクトの条件を全て満たす友だちが抽出されます(AND検索)。

AND検索の場合

id 対象のオリジナル属性のID(管理画面で確認可能)
values 選択肢の値(管理画面で確認可能)文字列を配列で指定
複数(最大10)指定した場合はOR指定となります
nullable trueを指定した場合は未回答の友だちも対象となります
省略した場合はfalseとして扱われます
// ID[1]の属性が「yes」または未回答、且つ、ID[2]の属性が「answer_1」または「answer_2」の友達
{
    "property":[
        {
            "id": 1,
            "values": ["yes"],
            "nullable":true
        },
        {
            "id": 2,
            "values": ["answer_1","answer_2"]
        }
    ]
}
// ID[2]の属性に対して「answer_1」と「answer_2」両方にチェックを入れた友だち
{
    "property":[
        {
            "id": 2,
            "values": ["answer_1"]
        },
        {
            "id": 2,
            "values": ["answer_2"]
        }
    ]
}

異なる属性間でのOR検索を指定する場合は下記のプロパティを含むオブジェクトを作成して配列に追加します。

OR検索の場合

type 「properties」に含まれる複数のオブジェクトの検索方法を「or」または「and」で指定します
properties 「id」「values」「nullable」を含むオブジェクトの配列を指定します
// ID[1]の属性が「yes」、またはID[2]の属性が「answer_1」、またはID[2]の属性が「answer_2」の友だち
{
    "property":[
        {
            "type": "or",
            "properties": [
                {
                    "id": 1,
                    "values": ["yes"]
                },
                {
                    "id": 2,
                    "values": ["answer_1","answer_2"]
                }
            ]
        }
    ]
}

タグ情報による抽出設定

ターゲットJSONデータを直接作成する事で「タグAが付与されている AND タグBが付与されていない」といった複雑な条件指定を行う事が出来ます。

下記のプロパティを含むオブジェクトを作成して配列に追加します(最大10個)。

複数の配列を追加した場合はそれぞれのオブジェクトの条件を全て満たす友だちが抽出されます(AND検索)。

name タグ名を配列(最大10個)で記述します
exclusion 指定したタグを持つ友だちを除外する場合はtrueにします
省略した場合はfalseとして扱われます
// 「タグAが付与されていて」 且つ 「タグBが付与されていない」 友だちに配信
{
    "tags":[
        {
            "name": ["タグA"]
        },
        {
            "name": ["タグB"],
            "exclusion": true
        }
    ]
}

Posterクーポンによる抽出設定

ターゲットJSONデータを直接作成する事で複数のPosterクーポンの利用状況を条件に配信対象の抽出が行えます。

type 「properties」に指定した複数のオブジェクトの検索方法を「AND」または「OR」で指定します
properties クーポンによる指定条件オブジェクトの配列(上限10)
id PosterクーポンのID(管理画面で確認可能)
type 「get(クーポン獲得)」「use(クーポン使用)」「unused(クーポン未使用)」のいずれかを指定
period クーポン獲得期間(useの場合は使用日)を指定(省略可)
from クーポン獲得期間の開始日をYYYY-MM-DD形式で指定
to クーポン獲得期間の終了日をYYYY-MM-DD形式で指定
// ID[1]のクーポンを2019年4月30日までに使用済みで、且つ、
// ID[2]のクーポンを2019年4月30日までに獲得して現時点で未使用の友だち
{
  "coupon": {
    "type": "and",
    "properties":[
      {
        "id": 1,
        "type": "use",
        "period": {
          "to": "2019-04-30"
        }
      },
      {
        "id": 2,
        "type": "unused",
        "period": {
          "to": "2019-04-30"
        }
      }
    ]
  }
}

過去のメッセージによる抽出設定

過去に配信したメッセージの既読やリンククリックの測定情報を条件に配信対象者の抽出が行えます。

一定期間未読の友だちを配信対象から除外

下記のプロパティを追加すると、指定した期間一度もメッセージの既読判定がされていない友だちを配信対象から除外します。

指定期間より後に登録された友だちや、指定期間にメッセージが配信されていない友だちは除外されません。

flag true 固定
days 日数を数値で指定
// 過去31日の間に一度もメッセージの既読判定されていな友だちを配信対象から除外する
{
    "unreaded":{
            "flag": true,
            "days": 31
        }
}

指定したメッセージに対する行動履歴で抽出

type 「messages」に指定した複数のオブジェクトの検索方法を「AND」または「OR」で指定します
messages 下記のプロパティを含むオブジェクトの配列(上限10)
message_type 「delivery」(配信済み)、「readed」(既読)、「clicked」(リンククリック)、「error」(配信エラー)を指定
message_id 対象のメッセージIDを指定します。メッセージIDは「配信メッセージ管理」画面の「配信メッセージ情報」で確認可能です。
link_id message_typeで「clicked」を指定した場合のみ、対象とするリンクIDを配列(最大10)で指定する事が出来ます。リンクIDはメッセージ配信結果画面で確認する事が出来ます。
省略した場合はどれか一つ以上のリンクをクリックした友だちが対象となります。
複数指定した場合は指定したリンクのどれか一つ以上のリンクをクリックした友だちが対象となります。
// message_id[1]を既読、または
// message_id[2]を受信(配信済み)、または
// message_id[3]のリンク(1または2または3のどれか)をクリックした友だち
{
  "message":[
    {
      "type": "or",
      "messages": [
        {
          "message_type": "readed",
          "message_id": 1
        },
        {
          "message_type": "delivery",
          "message_id": 2
        },
        {
          "message_type": "clicked",
          "message_id": 3,
          "link_id": [1,2,3]
        }
      ]
    }
  ]
}
// message_id[3]が配信エラーになった友だち
{
  "message":[
    {
      "message_type": "error",
      "message_id": 3
    }
  ]
}

一定期間アクティブな友だちを指定

下記のプロパティを追加すると、指定した期間アクティブな友だち(を条件に配信対象の抽出が行えます。

アクティブの定義


Posterでは、友だちが公式アカウントに対して以下の動作をおこなった場合を「アクティブ」と判定しています。

  • 公式アカウントにメッセージを送る
  • 送られてきたメッセージ内のアクションボタンをタップする
  • 公式アカウントのリッチメニューをタップする
    (ポストバックアクションやLIFFブラウザ用リンクが設定されている領域をタップした場合)
days 日数を数値で指定
// 過去90日の間にアクティブな友だち
{
    "active":{
            "days": 90
        }
}

来店日による抽出設定

LINE Simple Beaconを使った来店計測(やQRコードなどで記録した来店履歴を使用して配信対象者の抽出が行えます。

LINE Simple Beacon


「Posterビーコンオプション(月額3,000円)」をご利用いただくと、友だちを対象にした来店測定をすることができます。

from 来店範囲の開始日ををYYYY-MM-DD形式で指定
to 来店範囲の終了日をYYYY-MM-DD形式で指定
branches 拠点IDを配列で指定可能(最大10)
省略した場合は全ての拠点の来店履歴が対象となります。
exclusion trueを指定した場合は指定範囲の配信対象を除外します
省略した場合はfalseとして扱われます
// 2019年4月に来店した友だちのみに送る場合
{
    "visit": {
        "from": "2019-04-01",
        "to": "2019-04-30",
        "branches": [1111111111,2222222222]
    }
}

// 2019年4月に登録した友だちのみに送らない場合
{
    "visit": {
        "from": "2019-04-01",
        "to": "2019-04-30",
        "exclusion": true
    }
}

タグによる抽出設定

タグ情報を条件に配信対象の抽出が行えます。

id タグのID(管理画面で確認可能)を配列で指定します
exclusion trueを指定した場合は指定したタグを持つユーザーを除外します
省略した場合はfalseとして扱われます

下記のタグいずれかを含むオブジェクトを作成して配列に追加します。
複数の配列を追加した場合はそれぞれのオブジェクトの条件を全て満たす友だちが抽出されます(AND検索)。

OR検索の場合

//タグID「4」または「5」を持つ友だちを指定
{
    "tags": [
        {
            "id": [
                4,5
            ]
        }
    ]
}

AND検索の場合

//タグID「4」且つ「5」を持つ友だちを指定
{
    "tags": [
        {
            "id": [
                4
            ]
        },
        {
            "id": [
                5
            ]
        }
    ]
}

ORとANDの組み合わせ指定も可能です。

// タグID「4」「5」「6」のいずれかを持ち
//且つ タグID「7」「8」いずれかを持つ友だち
{
    "tags": [
        {
            "id": [
                4,5,6
            ]
        },
        {
            "id": [
                7,8
            ]
        }
    ]
}

指定タグを除外する場合

// タグID「4」「5」のいずれかを持つ友だちを配信対象者から除外
{
    "tags": [
        {
            "id": [
                4,5
            ],
            "exclusion": true
        }
    ]
}

抽出人数の上限設定

指定した人数をランダムで抽出することができます。

amount 抽出人数の上限数を数値で指定(0〜250,000)
// 最大20人を配信対象者としてランダムに指定
{
    "max_users": {
        "amount": 20
    }
}

※ LINE 及び LINE公式アカウント はLINE株式会社の商標または登録商標です。PosterはLINE株式会社が提供する LINE Messaging API を利用しています。