Search by

jeffersongoncalves / laravel-pixel

jeffersongoncalves

This Laravel package offers a straightforward way to integrate Meta (Facebook) Pixel into your application. By configuring your Pixel ID, you can effortlessly track user interactions, page views, conversions, and other valuable events on your website. This helps you gather insights into your audienc

Package info

github.com/jeffersongoncalves/laravel-pixel

pkg:composer/jeffersongoncalves/laravel-pixel

Statistics

Installs: 2 282

Dependents: 1

Suggesters: 0

Stars: 4

Open Issues: 0

3.1.0 2026-10-09 17:15 UTC

This package is auto-updated.

Last update: 2026-10-10 19:54:48 UTC


README

Laravel Pixel

Laravel Pixel

Buy Me A Coffee

Latest Version on Packagist GitHub Code Style Action Status Total Downloads

This Laravel package offers a straightforward way to integrate Meta (Facebook) Pixel into your application. The Pixel ID is stored in the database using spatie/laravel-settings, allowing you to manage it dynamically (e.g., via an admin panel) without relying on .env files or static config.

Compatibility

Package PHP Laravel
1.x 8.2 / 8.3 / 8.4 11.x / 12.x / 13.x

Installation

Install the package via composer:

composer require jeffersongoncalves/laravel-pixel

Publish and run the spatie/laravel-settings migrations (if not already done):

php artisan vendor:publish --provider="Spatie\LaravelSettings\LaravelSettingsServiceProvider" --tag="migrations"
php artisan migrate

Publish and run the pixel settings migration:

php artisan vendor:publish --tag="pixel-settings-migrations"
php artisan migrate

Usage

Setting the Pixel ID

You can set the Pixel ID programmatically using any of these methods:

Helper function:

$settings = pixel_settings();
$settings->pixel_id = '123456789';
$settings->save();

Facade:

use JeffersonGoncalves\Pixel\Facades\PixelSettings;

$settings = PixelSettings::getFacadeRoot();
$settings->pixel_id = '123456789';
$settings->save();

Container resolution:

use JeffersonGoncalves\Pixel\Settings\PixelSettings;

$settings = app(PixelSettings::class);
$settings->pixel_id = '123456789';
$settings->save();

Adding the Pixel script to your layout

Include the Blade component in your layout's <head> tag:

@include('pixel::script')

The script will only render when a valid Pixel ID is configured. If the Pixel ID is null or empty, nothing will be rendered.

Reading the Pixel ID

$pixelId = pixel_settings()->pixel_id; // returns string|null

Content Security Policy

When your app sets a CSP nonce through Laravel's Vite (Vite::useCspNonce(), as laravel-security-headers does), every <script> this package renders carries it, so a script-src 'self' 'nonce-{nonce}' policy works without 'unsafe-inline'. Scripts loaded afterwards from the vendor's own CDN still need that host in script-src (and its API in connect-src).

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.