A utility for extracting test data from Shoplift A/B testing platform. This tool helps you capture and analyze test results by extracting structured data in JSON format.
- Visit Shoplift Extractor website and drag the button to your bookmarks
- Navigate to a Shoplift test results page
- Click the bookmarklet in your bookmarks bar
- The data will be downloaded as a JSON file, that's it!
- Extract test information (name, store, type)
- Extract test metrics (conversion rates, revenue)
- Extract performance data by device type
- Extract traffic source information
- Download all data as a structured JSON file
- Node.js (v14 or newer)
- Clone this repository
- Install dependencies:
npm install
- Start the development server:
npm run dev
The development server will start at http://localhost:3000.
To build the project and generate the bookmarklet:
npm run build
This will:
- Compile and minify the code
- Generate the bookmarklet
- Update this README with the latest bookmarklet link
- Output files to the
dist
directory
You can test the extractor in two ways:
- Click the "Run Extractor Script" button on the development page
- Click the "Load Demo Page" button to load a simulated test results page
- Use the bookmarklet on the demo page to test extraction functionality
shoplift-tests/
βββ src/ # Source files
β βββ extractor.js # Main extractor logic
β βββ index.js # Entry point
βββ public/ # Static assets
βββ demo/ # Demo test results page
βββ dist/ # Build output (generated)
βββ vite.config.js # Vite configuration
βββ package.json # Project dependencies
βββ README.md # This file
- Navigate to a Shoplift test results page
- Click the bookmarklet in your bookmarks bar
- The data will be downloaded as a JSON file named
shoplift-test-[test-name]-[date].json
The extracted data is structured as follows:
{
"storeName": "Store Name",
"testName": "Test Name",
"testType": "Conversion Rate Optimization",
"testOverview": {
"status": "Completed",
"date_created": "Jan 1, 2023",
"duration": "30 days"
},
"metrics": {
"all_devices": {
"visitors": { "original": "1000", "variant": "1000", "change": "0%" },
"conversion_rate": {
"original": "2.5%",
"variant": "3.2%",
"change": "+28%"
}
}
},
"traffic": {
"sources": {},
"devices": {}
}
}
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
MIT