PHPackages                             dwivedianuj9118/behavior-tracker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. dwivedianuj9118/behavior-tracker

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

dwivedianuj9118/behavior-tracker
================================

Consent-first behavior &amp; preference tracking for Laravel.

02PHP

Since Oct 10Pushed 7mo agoCompare

[ Source](https://github.com/dwivedianuj9118/behavior-tracker)[ Packagist](https://packagist.org/packages/dwivedianuj9118/behavior-tracker)[ RSS](/packages/dwivedianuj9118-behavior-tracker/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

dwivedianuj9118/behavior-tracker
================================

[](#dwivedianuj9118behavior-tracker)

Consent-first, privacy-aware behavior &amp; preference tracking for Laravel 10/11.

Features
--------

[](#features)

- Consent banner + tiny JS collector (beacon/fetch).
- POST endpoint to store events (page\_view, click, preference, time\_on\_page, consent).
- Eloquent model + migration.
- Profile widget Blade partial.
- Optional middleware to auto-inject the script.

Install
-------

[](#install)

1. Add the package to your project (path repo during local dev):

```
{
"repositories": [
{ "type": "path", "url": "dwivedianuj9118/behavior-tracker" }
]
}
Then:

composer require wwivedianuj9118/behavior-tracker:@dev

Publish & migrate

php artisan vendor:publish --provider="Dwivedianuj9118\\BehaviorTracker\\BehaviorTrackerServiceProvider" --tag=behavior-tracker-migrations
php artisan vendor:publish --provider="Dwivedianuj9118\\BehaviorTracker\\BehaviorTrackerServiceProvider" --tag=behavior-tracker-config
php artisan vendor:publish --provider="Dwivedianuj9118\\BehaviorTracker\\BehaviorTrackerServiceProvider" --tag=behavior-tracker-assets
php artisan migrate

Inject banner + script (layout)

{{-- resources/views/layouts/app.blade.php --}}
@include('behavior-tracker::consent-banner')

Or enable auto-inject via middleware:

Set auto_inject => true in config/behavior-tracker.php.

Add middleware to your web group (optional):

protected $middlewareGroups = [
  'web' => [
     // ...
     \Dwivedianuj9118\BehaviorTracker\Http\Middleware\InjectBehaviorScript::class,
  ],
];

Show profile widget

@include('behavior-tracker::profile-widget', ['user' => auth()->user()])
Usage

Auto page view is sent on DOMContentLoaded (after consent=Yes).

Track clicks by adding data-behavior="add_to_cart" on elements; events are POSTed to endpoint_path.

Send custom events from your app:

window.BehaviorTracker.sendEvent('preference', { key: 'category', value: 'electronics' });
Config

See config/behavior-tracker.php.

Privacy

Consent required by default (require_consent true).

Provide export/delete UI in your app if needed using /behavior/my-data and your own deletion endpoint.

Testing
vendor/bin/phpunit

---

## 🧪 tests/Feature/CollectEndpointTest.php
```php
