LINE公式アカウントのメッセージ配信を支える技術

岡田遥来氏:LINE OA Dev 1チームの岡田と申します。よろしくお願いいたします。OAというのはOfficial Accountの略で、日本語でいう公式アカウントのことです。私はそこでLINE公式アカウントのバックエンドの開発を担当しております。

というわけで、今日はLINE公式アカウントについての技術的な話をしていきます。ところで、まずこの中でLINE公式アカウントをご存じの方はどれぐらいいらっしゃいますかね。手を挙げてもらえますか?

(会場挙手)

ありがとうございます。たくさんの方々に知っていただけているようで、なによりでございます。実は今日のこのLINE DEVELOPER DAYにも公式アカウントがあって、新しいセッション情報や受付の登録ができる機能などを提供しておりました。

LINE公式アカウントをみなさんけっこう知っていただいているようですが、おさらいすると、企業や自治体などが自身のLINEアカウントを開設して、LINEユーザーとコミュニケーションをとることができる、LINEのBtoBサービスです。

このLINE公式アカウントは個人・法人問わず、さまざまな数多くの方々にご利用いただいております。直近でアクティブに使われていないアカウントも含めると、グローバルで存在するアカウント数は1,100万に上っています。

また、LINE公式アカウントにはメッセージ配信という機能がありますが、配信したメッセージに対する開封やリンクのクリックなどのユーザーのリアクションのイベントのトラフィックは、ピーク時で秒間50万イベント毎秒ほどの見積もりとなり、かなり大きなトラフィックのサービスとなっています。

このLINE公式アカウントの管理を行うために私たちが提供しているのが「LINE Official Account Manager」と呼ばれる管理画面です。Web版とモバイルアプリ版を提供しているんですが、この画面に出ているのはWeb版のスクリーンショットです。

公式アカウントの運用を担当される方向けに提供しているもので、この画面からメッセージの配信を行ったり、配信したメッセージにどれぐらいのユーザーのリアクションがあったのかといった統計情報をチェックしたり、ユーザーとの1対1チャットを使ってカスタマーサポート業務を行ったり、そういった機能を提供しています。

メッセージ配信機能の統計情報をリアルタイムに

これらのLINE公式アカウントの中で最もよく使われる機能の1つがメッセージ配信機能です。この画面のように、配信するメッセージを管理画面で作成してどういった見た目になるのかをプレビューしたのち、その公式アカウントの友だちのLINEユーザーに対してメッセージを届けることができます。

この機能は、例えばキャンペーンのお知らせや新製品のリリース情報といったプロモーションの用途であったり、クーポンを配信して来店を促したりといったユースケースで利用いただいています。

もしかしたら、ここにいらっしゃるみなさんの中にも、LINE公式アカウントでクーポンを配信している店舗をご利用になったことがある方もいらっしゃるかもしれません。

メッセージ配信を行ったら、そのメッセージがどれぐらいクリックされたのか、どれぐらい見られたのかといったユーザーの反応を確認して、よりユーザーに興味を持ってもらえるというか、ユーザーにとって価値のある情報を届けていくための施策を回していく運用をしたいですよね。

そのために、今まではメッセージ配信数、およびそのメッセージに含まれるリンクがどれだけクリックされたかといった統計情報を提供していました。これは内部では「Message Insights」と呼んでいます。

ここでメッセージ配信数と言っているのは、メッセージは友だち全員に配信するほかにも、例えば年代や性別といったデモグラフィックの推定情報に基づいて、ターゲティングを行うことができます。そういったターゲティングも含めた結果として最終的に何人の友だちに届いたかをあらわす数字です。

しかし、今まで提供していた統計情報は、先ほど述べたメッセージ配信数およびクリック数のみでした。さらにこの統計情報の更新頻度はdailyで、リアルタイムではありませんでした。

現在、私たちは、このLINE公式アカウントを含めたLINEのBtoBサービス全体を企業とユーザーの双方にとってより価値のあるものに刷新していく「Redesign」というプロジェクトを推進しています。したがって、これまで提供していた統計情報だけでは不十分となってきたという背景がありました。

2019年9月に2つのリニューアル

このような背景の下、2019年9月にこのメッセージ配信機能に関する新しい機能を2つリリースしました。

まず1つ目が、メッセージ配信についての統計情報の大幅なリニューアルです。

これにより、まず提供する統計情報の種類が大幅に増えました。開封したユニークユーザー数やリンクをクリックしたユニークユーザー数。また、ユニークユーザー数だけじゃなくて、積み上げで何回クリックされたのかというイベント数。動画や音声を埋め込んでいるメッセージの場合は、その動画の再生開始数や再生完了数といった、詳細な情報の提供を開始しました。

そして、さらにこれらの統計情報の更新間隔はdailyではなくて、リアルタイムで更新を行うようにしました。

ここでこの統計情報のリニューアルによって、提供しているイベントが取っている対象について1つ補足させていただきたいんですが、ここで計測しているのはLINE公式アカウントから配信したメッセージに対してのリアクションのイベントです。つまり、通常のユーザー間のメッセージングに対するイベント、例えば既読をつけたとか、そういうイベントは対象とはしていません。

そして、リニューアルを2つしたと申し上げましたが、もう1つがメッセージ配信のA/Bテストを行う機能です。これはどういったものかというと、1回のメッセージ配信において複数のバリエーションをセグメントを分けて配信して、どのバリエーションが最もユーザーの反応が良かったのかといった統計情報を確認することが可能な機能です。そしてもちろん、この統計情報もリアルタイムで更新します。

イベントトラッキングシステム開発の必要性

これらのリニューアルを行うためには今までのものでは不十分だったので、まったく新しいイベントトラッキングシステムを開発する必要がありました。ただし、この開発においては乗り越えなければならないいくつかの課題がありました。

はじめに少し触れましたが、この公式アカウントのメッセージに対するユーザーリアクションのイベントのトラフィックは、ピーク時で50万イベント毎秒ほどが見込まれていたため、素朴な設計では破綻してしまいます。

例えば、トラフィックがスパイクしたときにぜんぜんスケールしなかったり、障害が発生した場合に容易にデータが欠損してしまったり、そういったことが起きます。

また、今まで取っていなかった新しいイベントを計測することになるわけですが、これによってLINEアプリの動作が重くなってしまったりしてユーザー体験に影響を与えることはもちろん避けなければなりません。そのためLINEアプリ内での計測のオーバーヘッドはできる限り小さくする必要がありました。

そして、もちろんこれらの統計情報の更新をリアルタイムで行いたいという要件がありました。リアルタイムにすると、たいていはそれによって犠牲になってしまう部分があったりしますが、リアルタイム性を確保しつつ、かつ永続性や堅牢性を担保していくためにも、工夫が必要となりました。