Download the PHP package gleman17/laravel-ab without Composer
On this page you can find all versions of the php package gleman17/laravel-ab. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download gleman17/laravel-ab
More information about gleman17/laravel-ab
Files in gleman17/laravel-ab
Package laravel-ab
Short Description Laravel A/B experiment testing tool
License MIT
Homepage https://github.com/gleman17/laravel-ab
Informations about the package laravel-ab
This package helps you to find out which content works on your site and which doesn't.
It allows you to create experiments and goals. The visitor will receive randomly the next experiment and you can customize your site to that experiment. The view and the goal conversion will be tracked and you can view the results in a report.
Installation
This package can be used in Laravel 5.6 or higher.
You can install the package via composer:
Config
After installation publish the config file:
You can define your experiments and goals in there.
Finally, run the newly added migration
Two new migrations should be added.
Usage
Experiments
That's the most basic usage of the package. You don't have to initialize anything. The package handles everything for you if you call isExperiment
Alternatively you can use a custom blade if statement:
This will work exactly the same way.
If you don't want to make any continual rendering you can call
directly and trigger a new page view with a random experiment. This function will also be called from isExperiment
.
Under the hood a new session item will keep track of the current experiment. A session will only get one experiment and only trigger one page view.
You can grab the current experiment with:
Alternatively there is a request helper for you:
Goals
To complete a goal simply call:
The function will increment the conversion of the goal assigned to the active experiment. If there isn't an active experiment running for the session one will be created. You can only trigger a goal conversion once per session. This will be prevented with another session item. The function returns the underlying goal model.
To get all completed goals for the current session:
Bots and crawlers
The package can try to ignore bots and crawlers from registering pageviews. Just enable the ignore_crawlers
option in the config.
Report
To get a report of the page views, completed goals and conversion call the report command:
This prints something like this:
Reset
To reset all your visitors and goal completions call the reset command:
Events
In addition you can hook into two events:
ExperimentNewVisitor
gets triggered once an experiment gets assigned to a new visitor. You can grab the experiment as a property of the event.GoalCompleted
gets triggered once a goal is completed. You can grab the goal as a property of the event.
Url Overrides
For the purposes of testing the look and feel of your page you'll sometimes want to specify a particular experiment to run. Just attach a parameter of ab_exp=[experiment name] to your url and this will be the experiment that runs, regardless of the session state. The config has the variable allow_ab_exp which can be set by environment (the result of env('APP_ENV_STATUS')).
Testing
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
- Benjamin Bortels
- All Contributors
License
The MIT License (MIT). Please see License File for more information.
Laravel Package Boilerplate
This package was generated using the Laravel Package Boilerplate.
All versions of laravel-ab with dependencies
illuminate/support Version 5.6.* | 5.7.* | 5.8.* | ^6.0
jaybizzle/crawler-detect Version ^1.2