# 任意の集計単位で統計情報を取得する

複数のユーザーに送信したプッシュメッセージマルチキャストメッセージについて、ユーザーがどのように操作したかを示す統計情報を集計できます。統計情報は、任意の「ユニット」単位で集計されます。下図のように、ユニット名を付与してメッセージを送ることでユニットごとの統計情報が取得できます。

# ユニット名を付与する

統計情報を取得するには、プッシュメッセージやマルチキャストメッセージを送信する際に、任意の集計単位のユニット名を付与する必要があります。ユニット名を付与するには、プッシュメッセージやマルチキャストメッセージの送信時に、リクエストボディのcustomAggregationUnitsプロパティにユニット名を指定してください。メッセージ送信時に指定できるユニット名は1つだけです。プッシュメッセージやマルチキャストメッセージの送信方法について詳しくは、『Messaging APIリファレンス』の「メッセージ」を参照してください。

以下の例では、promotion_aというユニット名を付与してプッシュメッセージを送信しています。

curl -v -X POST https://api.line.me/v2/bot/message/push \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {channel access token}' \
-d '{
    "to": "U4af4980629...",
    "messages":[
        {
            "type": "text",
            "text": "Hello, world1"
        }
    ],
    "customAggregationUnits": [
        "promotion_a"
    ]
}'
ユニット名の後付けや変更について

既に送信したメッセージに後からユニット名を付与したり、ユニット名を変更したりすることはできません。

ユニット名を付与するときは吹き出しの内容を揃えましょう

同じユニット名を付与してメッセージを送ると、メッセージの内容や吹き出し数、吹き出しの順番が異なっていても、統計情報はまとめて集計されます。同一のユニット名を付与した複数のメッセージを送るときは、吹き出しの内容を揃えて送ることをおすすめします。

# ユニット名の種類数の上限

当月中(その月の1日~末日)に、最大で1,000種類のユニット名を付与してメッセージを送信できます。

たとえば3月にpromotion_0001からpromotion_1000まで1,000種類のユニット名を付与してメッセージを送信したとします。その場合、翌月(4月)に同じpromotion_0001からpromotion_1000までの1,000種類のユニット名を付与してメッセージを送信することも可能ですし、新しいユニット名であるpromotion_1001からpromotion_2000までの1,000種類を付与してメッセージを送信することも可能です。

なお、1,001種類目以降のユニット名を付与してメッセージを送ると、そのユニット名はメッセージに付与されていないものとして扱われます。たとえばpromotion_0001からpromotion_1500まで1,500種類のユニット名を付与してメッセージを送ろうとした場合、1,001種類目となるpromotion_1001以降については、メッセージは送信されますがユニット名はメッセージに付与されません。

当月中に付与したユニット名の数は、「当月中に付与したユニット名の種類数を取得する」エンドポイントで取得できます。

ユニット名の制限について

ユニット名を付与する際には「当月中に最大で1,000種類まで」という制限がありますが、メッセージの送信後にユニットごとの統計情報を取得する際には、fromからtoまでの集計対象期間に存在するすべてのユニットの統計情報が取得できます。

# ユニットごとの統計情報を取得する

ユニット名を付与して送信したプッシュメッセージやマルチキャストメッセージの統計情報は、「ユニットごとの統計情報を取得する」エンドポイントで取得できます。以下の例では、promotion_aという名前のユニットの統計情報を取得しています。

curl -v -X GET https://api.line.me/v2/bot/insight/message/event/aggregation \
-H 'Authorization: Bearer {channel access token}' \
--data-urlencode 'customAggregationUnit=promotion_a' \
--data-urlencode 'from=20210301' \
--data-urlencode 'to=20210331' \
-G

なお、当月中に付与したユニット名は、「当月に付与したユニット名のリストを取得する」エンドポイントで取得できます。前月以前に付与したユニット名を確認するためのエンドポイントはありません。