サービスの成長と環境変化に追いつくためアップデートを実施
最初に、西村氏はKARTEの基本的な機能を紹介した。
「KARTEでは、今現在サイト上にどんなユーザーが訪問しているか知ることができ、エンドユーザーが実際にどんな動きをしているかを確認できます。」
エンドユーザーの行動に応じたアクションも配信可能になっており、ポップアップやチャットなどを提供できるのだ。たとえば、サイトの初回訪問者のみにクーポンを配布するなど、エンドユーザーの状態に応じたアクションを打てる顧客体験を改善・強化できるマーケティングのためのWebサービスだ。
この機能を実現するため、「計測タグ」と呼ぶ専用タグを顧客のWebサイトに埋め込んでもらう。そして、KARTEが提供するサードパーティスクリプトを読み込むことで機能を実現している。
サードパーティスクリプトは、訪問者の状態に応じたイベントデータをサーバーに送信し、サーバーから返却されたポップアップなどのアクションの描画をおこなうJavaScriptのコードだ。
計測タグは、全てのお客さまのWebサイトに埋め込まれており、共通のサードパーティスクリプトをCDNを介して読み込むというシステム構成になっている。
KARTEでは、2015年のサービスリリース以来、継ぎ足しで計測タグとサードパーティスクリプトを改善してきたが、3つの課題を持っていた。
「1つ目の課題は、スクリプトサイズの肥大化が目立ってきたことです。一部のプロジェクトにしか必要ない機能が存在しており、またブラウザの進化などにより不要なコードが増加していました。」
さらに、Web全体でのトレンドの変化への対応も要因のひとつだ。GoogleによるCore Web Vitalsの導入以降、それまで非機能要件であったWebサイトのパフォーマンスが、SEOを重視するサイトで一種の機能要件と見なされていたのだ。
「2つ目の課題は、サードパーティスクリプト上で動作するKARTEプロダクトの増加です。複数のプロダクトを動かす統一的な仕組みがなく、プロダクトごとに自由に開発している状態でした。3つ目の課題は、計測タグ自体の拡張性に制限があり、
KARTEでは、こうした課題に対処するため、スクリプトサイズの軽量化、サードパーティスクリプト上で動作するプロダクトのプラグイン化、計測タグ自体の拡張を目指すことにした。