variatehq / variate-engine Goto Github PK
View Code? Open in Web Editor NEWVariate AB testing engine for modern applications.
Home Page: https://variate.ca
License: Other
Variate AB testing engine for modern applications.
Home Page: https://variate.ca
License: Other
As a product experimenter, I want to, by default, track all pageviews on experiments, except for some experiments where I wish to override this default behavior.
Add an additional, optional, item to the config file called pageview
.
If this is not present or set to default
, use default behavior as configured when Variate is initialized.
If set to manual
, then pageviews will be tracked manually for this experiment. (e.g. I sent a pageview event from the component when it appears in the viewport)
A built-in mechanism that tracks whether a component has been viewed by a user (automated impression tracking of whether a targeted component variation is in the viewport).
None.
The option we currently have to set manualPageview was intended to do this, but now that we have the qualify event, it's original intent needs to be updated. We just need to switch it to say "qualifyMode" and be auto or manual. Manual means that the customer has to manually qualify the visitor for an experiment when they choose to do so.
Possible implementation of this would be to provide them a method like:
variate.qualify('EXPERIMENT_ID')
and at that moment the visitor is potentially qualified (or not) for that particular experiment.
Possible use case: only qualify visitors into an experiment if they reach the bottom of a page or if they meet various behavior criteria (e.g. they don't move their mouse for 10 seconds).
Trigger a qualify
event when the visitor qualifies into an experiment/variation. Only trigger this event once per visitor ID / experiment / variation.
Is your feature request related to a problem? Please describe.
As a marketer, I want to avoid the UI of my application to break due to an exception that occurs during reporting.
Describe the solution you'd like
Catch (and describe) any reporting exceptions without letting them affect how a page is rendered to the user.
Describe alternatives you've considered
Only allow the exception to occur when debug: true.
Additional context
Currently missing variationId on qualify events.
{
"name":"Qualify",
"type":"qualify",
"value": {
"experimentId":"omlqsI81F5L29W3VIp3U",
"variationId":null
}
}
When tracking events using the built-in reporting, even though the request goes through, the reporter function returns false.
Steps to reproduce the behavior:
When the request goes through, it should return true to indicate that the event was successfully tracked.
As a developer, I want to be able to override the visitor ID to relate my users with the results of my experiment.
Allow developers to pass a custom visitor ID in the config when initializing the tool, to override the generated ID.
Allow developers to use a user UUID
to specify a custom user ID, leaving the visitor ID internal to Variate only.
Move context.view
under context.targeting
in the Event
object.
When reviewing experiments, I want to be able to use a query parameter qa=true
to include draft experiments.
Support for a qa
query parameter, boolean. Default value would be false
. When value is true
, experiments in a draft status would be loaded.
Implement the changes related to the schema update from VariateHQ/variate-schema#5
When reviewing experiments, I want to be able to use a query parameter live=false
to exclude live experiments.
Support for a live
query parameter, boolean. Default value would be true
.
If pageview is set to automatic (default), then all pageviews should send an event, not only those pages that match targeting criteria.
If pageview is set to manual, then customer is responsible for sending pageview event.
Components schema now references "variables" instead of "attributes" to avoid confusion with downstream frameworks language.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.