本文へスキップ

スタートアップのためのイベントトラッキングプラン

イベントトラッキングプランは、記録するすべてのイベントについて、名前、プロパティ、発火するタイミング、担当者をまとめた生きた仕様書です。スタートアップは小さく始めてください。登録からアクティベーション、売上までのファネルをたどる8〜10個のイベントで十分です。追加するのは、実際の問いがそれを必要としたときだけです。

更新日:7分で読めます執筆 fromHello

要点

  1. トラッキングプランは一度書いて終わりの文書ではなく、生きた仕様書です。すべてのイベントについて、名前、プロパティ、発火条件、担当者を定めます。

  2. 登録→アクティベーション→売上にまたがる8〜10個のイベントから始めます。イベントを追加するのは、実際の問いがそれを必要としたときだけです。

  3. 命名規則を1つ決め(object_action形式、たとえばsubscription_started)、決して崩さないでください。表記の揺れは、分析を静かに台無しにします。

  4. 最初にtrackを呼び出す前に、プランの担当者と、データの置き場所(ファーストパーティ、セルフホスト、SaaS)を決めてください。

トラッキングプランとは

トラッキングプランは、プロダクトが記録するすべてのイベント、それぞれに付くプロパティ、発火する正確なタイミング、責任者を1つにまとめた文書です。データを送るコードと、それを読むダッシュボードとの間の契約にあたります。一度書いて忘れる文書ではなく、プロダクトとともに変わる生きた仕様書として扱ってください。一言の定義はトラッキングプランの用語解説にあります。このガイドでは、そのつくり方を解説します。

トラッキングプランを構成する4つの用語。最小単位のイベントから、すべてを統べる仕様書まで。

場当たり的なトラッキングよりプランが優れている理由

プランがないと、トラッキングは無秩序に積み重なります。あるエンジニアはsignupを送り、別のエンジニアはSign Upを送り、3人目はuser_registeredを送ります。1つの行動に3つの名前が付き、登録に関わるすべてのファネルが、気づかないうちに分裂するか壊れます。これが表記の揺れで、分析が信頼されなくなる一番の原因です。プランはコードをリリースする前に用語を固めるため、半年後に取り出す数字も、想定どおりの意味を保ちます。きれいで一貫したイベントは、実験ロードマップの土台でもあります。3通りの方法で記録している指標では、テストを測れません。

イベント名はobject_action形式にして、崩さない

多くの分析ツールが推奨する規則はobject_action形式です。対象を先に、そこで起きたことを後に書きます。subscription_started、invite_sent、checkout_completedのように。Segment、Amplitude、PostHogはそれぞれ少しずつ違う形を示しています(Segmentは「Object Action」、PostHogは小文字のスネークケース、Amplitudeは名詞と過去形の動詞)。大文字小文字の細かな違いより、1つを選んで決して崩さないことのほうがはるかに重要です。価値の大半は2つのルールで得られます。動詞の時制をそろえること、そしてイベント名を動的に組み立てないことです。plan_${name}_upgradedのようなイベントは顧客ごとに別のイベントを生み、クエリできなくなります。

ファネルをたどる8〜10個のイベント

何でも記録したくなる気持ちを抑えてください。最初の接点から支払いまで(登録、アクティベーション、売上)ユーザーをたどる少数のイベントから始め、深掘りする前にそれらをしっかり計測します。以下は一般的なB2B SaaS向けの最初のセットです。自社プロダクトの名詞に合わせて名前を変えてください。それぞれがプランの1行になり、全体で最初のファーストパーティデータになります。これからつくるすべてのファネル、コホート、リテンションカーブの素材です。各イベントをブラウザーとサーバーのどちらで計測するかは別の判断で、サーバーサイドとクライアントサイドのトラッキングで使い分けを解説しています。

イベント発火するタイミング重要な理由
account_createdユーザーが登録を終え、レコードが作成されたときファネルの入口。すべてのコンバージョン率の分母
onboarding_startedユーザーが初回利用のフローに入ったときセットアップを始めた登録者と、離脱した登録者を分ける
activation_reachedユーザーが定義したアハモーメントに到達したとき(例:最初のプロジェクトを共有)最も予測力のある初期イベント。思い込まずに検証する
feature_used中心となる機能が使われたとき(feature_nameプロパティ付き)エンゲージメントの深さ。セグメントとリテンションの入力
invite_sentユーザーがチームメンバーを招待したときB2Bでのアップセルと定着度の先行指標
trial_startedトライアルまたはフリープランが始まったとき売上ファネルの起点。トライアルからの有料化率の基準
subscription_startedユーザーが有料プランに転換したとき売上が生まれる瞬間。グロースの取り組みをお金に結びつける
subscription_cancelledユーザーが有料プランを解約したとき解約のシグナル。掘り起こしとリテンション分析の材料

詳細はプロパティに、品質は担当者に

イベントは少なく汎用的に保ち、具体的な情報はプロパティに入れます。プランごとに別のイベントをつくるのではなく、plan_nameとamount_usdのプロパティを付けたsubscription_startedを1つ送ります。豊かに記述された1つのイベントなら、クエリしやすいままです。各イベントのプロパティも絞ってください。使わない数十個より、実際にクエリする数個のほうが役立ちます。次に担当者を決めます。小さなチームの多くではグロースエンジニアか計測を実装する人が担い、新しいイベントはすべてその人を通すことで、プランとコードがずれないようにします。最後に、イベントがどこに届くかを把握してください。ホスト型の分析ツールやCDPに送れば手早く始められますが、行動データは他社のサーバーに置かれます。ファーストパーティのまま(セルフホストのPostgresや自社のデータウェアハウスに)置けば、データは自社のものであり続けます。これが、エンゲージメントツールにおけるオープンソースとSaaSのトレードオフの核心です。

FAQ

よくある質問

  • スタートアップはいくつのイベントを記録すべきですか?

    登録、アクティベーション、売上をたどる8〜10個から始め、具体的な問いが必要としたときだけ追加してください。最初から何でも記録すると、維持の手間がかかるうえにめったにクエリしないノイズが生まれます。一貫性のない100個のイベントを解きほぐすより、名前の整ったイベントを後から足すほうが簡単です。

  • イベントの命名規則は何が一番よいですか?

    最も広く推奨されているのは、object_action形式(名詞の後に起きたこと)です。subscription_started、invite_sentのように。Segment、Amplitude、PostHogはそれぞれ少しずつ違う形を公開しています。一番よい規則は、一貫して適用できるものです。大文字小文字や時制より、ルールを崩さないこと、名前を動的に生成しないことのほうが重要です。

  • イベントとプロパティの違いは何ですか?

    イベントは行動(subscription_started)、プロパティはその行動についての詳細(plan_name、amount_usd)です。イベントは少なく汎用的に保ち、具体的な情報はプロパティに入れます。そうすれば、よく記述された1つのイベントがクエリしやすいまま保たれ、ほぼ同じイベントが何十個にも分裂することを防げます。

  • トラッキングデータはSaaSツールに置くべきですか、それともセルフホストすべきですか?

    どちらでも機能します。ホスト型の分析ツールやCDPのほうが早く始められます。セルフホスト(自社のPostgresやデータウェアハウス)なら、行動データを自社のインフラに置け、ロックインも避けられます。顧客データをファーストパーティとして扱う技術系のチームにとっては、長期的にはセルフホストのほうがよい選択であることが多いです。計測を始める前に決めてください。後からイベントを移行するのは大変です。

fromHelloは、オープンソースのマーケティングオートメーションです。

人の行動をきっかけにメッセージを届けます。fromHello Cloudは、ウェイトリスト経由でアーリーアクセスを提供しています。

アーリーアクセス

fromHello Cloud

小さくまとまるために始めたわけではない。

fromHello Cloudのアーリーアクセスは、段階的にご案内します。 オンボーディングは伴走型です。セットアップからコンタクトの移行まで、私たちがお手伝いします。

ご利用の準備が整い次第、メールでお知らせします。スパムは送りません。

まだ登録する段階ではありませんか?GitHubで見る