81 lines
1.9 KiB
Markdown
81 lines
1.9 KiB
Markdown
# Mattitja Analytics for Laravel
|
|
|
|
A Laravel middleware package for sending analytics data to the Mattitja Analytics API. The package automatically registers middleware for web routes and sends data synchronously to the analytics service.
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
composer require mattitjaab/mattitja-analytics
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Publish the configuration file (optional):
|
|
|
|
```bash
|
|
php artisan vendor:publish --tag=mattitja-analytics-config
|
|
```
|
|
|
|
Add your site key to your `.env` file:
|
|
|
|
```env
|
|
MATTITJA_ANALYTICS_SITE_KEY=your-site-key
|
|
MATTITJA_ANALYTICS_ENABLED=true
|
|
```
|
|
|
|
## Usage
|
|
|
|
The package automatically registers middleware for the `web` group and starts collecting analytics data immediately after installation and configuration.
|
|
|
|
### Manual middleware registration
|
|
|
|
You can also add the middleware manually for specific routes:
|
|
|
|
```php
|
|
// In routes/web.php
|
|
Route::middleware(['mattitja-analytics'])->group(function () {
|
|
// Your routes here
|
|
});
|
|
```
|
|
|
|
## Configuration Options
|
|
|
|
### Basic Settings
|
|
- `MATTITJA_ANALYTICS_SITE_KEY` - Your site key from Mattitja Analytics (required)
|
|
- `MATTITJA_ANALYTICS_ENABLED` - Enable/disable tracking (default: true)
|
|
- `MATTITJA_ANALYTICS_BOTS` - Track bots (default: false)
|
|
|
|
### Privacy Settings
|
|
- `MATTITJA_ANALYTICS_RESPECT_DNT` - Respect Do Not Track header (default: true)
|
|
|
|
### Filtering
|
|
You can configure paths and IP addresses to ignore in the config file.
|
|
|
|
## Data Sent
|
|
|
|
The package sends the following data to `https://analytics.mattitja.cloud/api/send`:
|
|
|
|
- `k` - Site key
|
|
- `u` - Full URL of the visited page
|
|
- `r` - Referrer URL (if available)
|
|
- `ip` - Visitor's complete IP address
|
|
- `ua` - User agent string
|
|
|
|
## Security
|
|
|
|
- Data is sent synchronously directly from middleware
|
|
- IP addresses are NOT anonymized (needed for geolocation)
|
|
- Bot traffic is filtered out by default
|
|
- Do Not Track header is respected by default
|
|
|
|
## Development
|
|
|
|
Run tests:
|
|
|
|
```bash
|
|
composer test
|
|
```
|
|
|
|
## License
|
|
|
|
MIT License |