-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposal: events for tracking conversion goals #296
Comments
@fahad19 Interesting. What would you benefit by tracking events through Featurevisor SDK? For example, you can track Sign up event directly to your analytics platform, what would you gain by running it through Featurevisor SDK? |
very good question, @meirroth. breaking down my thought process which can lead to a few different directions below: 1: Designing experiments keeping conversion goals in mindAt the moment, Featurevisor allows expressing experiments in the form of variations inside features, but without any ties to what conversion goals (events) they should impact. From purely tooling perspective, events have no place in Featurevisor. But from the workflow perspective around experimentation, it does make sense that we:
It's more of a gap in experimentation workflow that I am looking at, rather than thinking what a particular tool should or should not do. 2: Separate events management solutionBuilding Featurevisor also gave me ideas about managing schemas in a similar fashion, with a much broader use case covering:
If such a tool is built, then we can also guide users to define their conversion goal events there, and then show them how that tool can be integrated with Featurevisor SDKs in their application runtime. Thus, closing the loop of designing experiments and also creating event schemas while tying them together. Just some thoughts in my head, and I haven't really settled on any direction yet. But tbh, I am leaning a bit more towards the second option. I am yet to study the use cases more thoroughly before I attempt to build something new, because the surface area with schema management is really large. |
Closing this. I will likely create a separate solution for this idea. Featurevisor stays simple focusing on what it does best. |
Background
Featurevisor allows setting up A/B and multivariate tests:
Experiment activations
When feature (experiment) variations are evaluated, they can also be "activated" for tracking purposes:
Analytics
While Featurevisor itself is not an analytics tool, the SDKs provide API to track the experiment activations with your preferred analytics service.
Challenge: tracking conversion goals
The idea of experimenting is to ultimately figure out which variation is converting better. Meaning, which variation is resulting into our users doing what we intend them to do (conversion goal).
Examples include:
Without conversion goals, we don't have anything to aim towards and see which variation of a feature is winning/losing.
Like having two variations of a button in a landing page, resulting into more/less successful signups.
Proposal: events
(Not to be confused with SDK events like
ready
,refresh
, andupdate
: https://featurevisor.com/docs/sdks/javascript/#events)Next to:
We could introduce a new
event
type for defining what are the possible conversion goals that we wish to track.Defining events
They could reside in the
events
directory:Or, the schema could be composed based on already defined attributes:
Tracking with SDK
To track events with SDKs:
Referencing events in defined features
If we are already defining features with variations, and we know what conversion goals we should measure, we can reference them from our feature definition directly:
Code generation
Featurevisor currently supports generating code for your features as documented here: https://featurevisor.com/docs/code-generation/
This is completely optional for you to adopt.
For convenience, we could expand the code generation to also support new
event
type, where produced code could be used like this:Since we have schemas defined already for our events, TypeScript will help developers know what to pass when tracking specific events.
The text was updated successfully, but these errors were encountered: