jeffersongoncalves / laravel-hotjar
This Laravel package seamlessly integrates Hotjar into your Blade templates. Easily capture heatmaps, session recordings, and feedback directly within your Laravel application, providing valuable insights into your website's user experience. This package simplifies the integration process, saving yo
Package info
github.com/jeffersongoncalves/laravel-hotjar
pkg:composer/jeffersongoncalves/laravel-hotjar
Fund package maintenance!
Requires
- php: ^8.2|^8.3|^8.4
- laravel/framework: ^12.61.1|^13.12.0
- spatie/laravel-package-tools: ^1.14.0
- spatie/laravel-settings: ^3.0
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.27
- orchestra/testbench: ^10.0|^11.0
- pestphp/pest: ^3.7.4|^4.0
- pestphp/pest-plugin-laravel: ^3.0|^4.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-07 17:13:07 UTC
README
Laravel Hotjar
This Laravel package seamlessly integrates Hotjar into your Blade templates. Easily capture heatmaps, session recordings, and feedback directly within your Laravel application, providing valuable insights into your website's user experience. This package simplifies the integration process, saving you time and effort. With minimal configuration, you can leverage Hotjar's powerful behavior analytics features to gain a clearer understanding of your audience and website usage.
Settings are stored in the database using spatie/laravel-settings, allowing you to manage them dynamically (e.g., via an admin panel) without relying on .env files.
Installation
You can install the package via composer:
composer require jeffersongoncalves/laravel-hotjar
Publish and run the settings migration:
php artisan vendor:publish --tag=hotjar-settings-migrations php artisan migrate
Configuration
All settings are managed exclusively from the database after running the migration. You can update them programmatically:
use JeffersonGoncalves\Hotjar\Settings\HotjarSettings; $settings = app(HotjarSettings::class); $settings->site_id = '1234567'; $settings->save();
Or use the helper function:
$settings = hotjar_settings(); $settings->site_id = '1234567'; $settings->save();
Or use the Facade. The facade resolves the underlying HotjarSettings instance, so read or write properties through getFacadeRoot():
use JeffersonGoncalves\Hotjar\Facades\Hotjar; // Read a value $siteId = Hotjar::getFacadeRoot()->site_id; // Update and persist $settings = Hotjar::getFacadeRoot(); $settings->site_id = '1234567'; $settings->save();
Available settings
| Setting | Type | Default | Description |
|---|---|---|---|
site_id |
?string |
null |
Your Hotjar site ID (hjid). The script only renders when this is set. |
version |
int |
6 |
Hotjar tracking script version (hjsv). |
Usage
Add the Hotjar script to your Blade layout (typically in <head>):
@include('hotjar::script')
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.
