LINE Messaging APIのインプレッション計測における注意点
本記事は LINEDC Advent Calendar 2025 の5日目の記事です。
業務で LINE ボットを開発する際、マーケティング施策の効果測定として「メッセージがどれくらい見られたか」という指標は非常に重要です。
Messaging API にはこうした統計情報を取得する機能が備わっていますが、開発段階で仕様を把握しておかないといざ運用が始まった後に「欲しいデータが取れない」という状況になりがちです。
詳細な仕様は全て LINE Developers の公式ドキュメントに記載されていますが、ここでは開発者が特に見落としやすいポイントや、事前に設計しておくべき点に絞ってご紹介します。
まずは公式ドキュメントを確認
正確な仕様や最新の情報については以下の公式ドキュメントが一次情報となります。
実装の際は必ずこちらを参照してください。
既読とインプレッションの違い
一般に LINE のメッセージにおける「開封」というとトークルームで「既読」がついた状態をイメージされることが多いかもしれません。しかし、Messaging API における「インプレッション」の定義は少し厳密です。
ドキュメントによると、インプレッションが計測される条件は「メッセージの吹き出しが100%表示されること」とされています。
つまり、ユーザーがトークルームを開いたとしても、以下のようなケースではインプレッションとしてカウントされない場合があります。
- メッセージが縦に長く、画面からはみ出している場合
- リッチメニューを開いていて、メッセージの下部が隠れている場合
- トーク一覧画面で「既読にする」操作を行った場合
特にリッチメニューを使用しているアカウントで縦長のメッセージを配信する場合はファーストビューで吹き出し全体が表示されず、スクロールされるまで計測されない可能性があります。
より正確な数値を計測したい場合はメッセージの長さを調整したり、リッチメニューとの干渉を考慮したクリエイティブ作成を検討すると良いでしょう。
メッセージ送信時に必要な「ユニット」の設定
もう一つ、運用開始後に気づくことが多いのが「特定の配信ごとのデータが欲しい」という要望への対応です。
通常、統計情報はアカウント全体の合算値として扱われますが、「ユニット」という機能を活用することでキャンペーンごとやA/Bテストごとの数値を個別に集計できるようになります。
ここで注意が必要なのは、ユニット名はメッセージ送信時(APIリクエスト時)に設定する必要があるという点です。
メッセージを送信した後に、後からラベル付けのようにユニット名を付与することはできません。そのため、将来的に施策ごとの分析が必要になる可能性がある場合は、開発段階でユニット名を指定できる仕組みを組み込んでおくことが推奨されます。
以下のように、メッセージ送信APIのリクエストボディに customAggregationUnits を含めることで設定できます。
{
"to": "U4af4980629...",
"messages": [
{
"type": "text",
"text": "Hello, world"
}
],
"customAggregationUnits": [
"promotion_a"
]
}
数値が取得できないケース(プライバシー保護)
正しく実装していても統計情報が null(取得不可)となってしまうことがあります。
これは不具合ではなく、ユーザーのプライバシー保護のための仕様です。集計対象の人数が20人未満の場合や、イベント発生数が20件未満の場合は数値が開示されません。
開発中のテスト配信や極めて少人数のセグメント配信などで「数値が出ない」と焦らないよう、この仕様については事前に認識しておくと安心です。
まとめ
LINE Messaging API の統計情報は強力な機能ですが、その仕様を理解していないと想定通りのデータが得られないことがあります。
- インプレッションは「100%表示」が条件であること
- 詳細分析には送信時の「ユニット」設定が必須であること
- 少人数への配信ではデータがマスクされること
これらのポイントを押さえた上で、詳細な仕様についてはぜひ公式ドキュメントを読み込んでみてください。
Discussion