SuperblocksHQ / ethereum-studio

Official Ethereum Studio project repository. And IDE specially tailored to make it as simple as possible to onboard new users into the Ethereum ecosystem
https://ethereum.org/build/
GNU General Public License v3.0
186 stars 103 forks source link

Add event tracking #256

Closed samajammin closed 4 years ago

samajammin commented 4 years ago

Summary

Currently we track the following events:

Let's add the following:

Motivation

This will help give us more complete insight into the user funnel. An ideal user "happy path" being a session where the user:

  1. creates a project (CREATE_PROJECT_FROM_TEMPLATE)
  2. deploys a contract (CONTRACT_DEPLOYED)
  3. executes transactions (SEND_TRANSACTION)
  4. moves on to more advanced tooling (OUTBOUND_LINK_CLICK of a README's "next steps")

Tracking the template prop across each funnel will allow us to compare engagement across templates & to make improvements accordingly.

Tracking the status prop of transactions may allow us to debug issues that users have (if many of their txs fail).

Describe alternatives you've considered

None

Additional context

How we plan to think about product KPIs moving forward:

The hope is that establishing these metrics will help guide decisions around product features & prioritization.

lovrobiljeskovic commented 4 years ago

@samajammin https://github.com/SuperblocksHQ/ethereum-studio/pull/266 there is a new PR for this! Seems to be working just fine, but I have one question for you: Do we really want a template prop for OUTBOUND_LINK_CLICK event? I dont really understand the point of having it there as we only care about what link was clicked, not from which template the click came from, would love to hear your insight!

samajammin commented 4 years ago

@lovrobiljeskovic excellent!

Do we really want a template prop for OUTBOUND_LINK_CLICK event? I dont really understand the point of having it there as we only care about what link was clicked, not from which template the click came from

Yes I do believe the template prop on OUTBOUND_LINK_CLICK would be useful. The reasoning is that I actually do care which template the click came from for the cases where we link to the same resource from multiple templates. For example, at the bottom of every README, we link to a resource on how to set up a local development environment. It'd be useful to know at which point (i.e. which template) the user is taking that step. Are they doing that straight from the Hello World template? Or are they first moving on to the subsequent templates before making that jump? Knowing the data on this may influence how we guide users through the product.