A Laravel package for easy integration with Facebook Conversion API to track various events like ViewContent, PageView, AddToCart, InitiateCheckout, and Purchase.
For Laravel 11+
composer require revoltify/pixelify "^2.0"For Laravel 9+
composer require revoltify/pixelify "^1.0"Publish the configuration file:
php artisan pixelify:setupAdd your Facebook Pixel credentials to your .env file:
FACEBOOK_PIXEL_ID=your_pixel_id
FACEBOOK_CONVERSION_API_TOKEN=your_api_token
FACEBOOK_TEST_EVENT_CODE=your_test_event_code (optional)
FACEBOOK_PIXEL_DEBUG=false- Go to Facebook Events Manager
- Select your Pixel
- Go to the "Settings" tab
- Copy the Dataset ID (this is your Pixel ID)
- Scroll down to "Set up direct integration"
- Click "Generate access token"
- Copy the generated Pixel Access Token
Implement the interfaces in your models:
use Revoltify\Pixelify\Contracts\PixelifyUserInterface;
use Revoltify\Pixelify\Traits\HasPixelifyUser;
class User extends Model implements PixelifyUserInterface
{
use HasPixelifyUser;
// overwrite methods if needed
public function getPixelFirstName(): ?string
{
return $this->name;
}
}
use Revoltify\Pixelify\Contracts\PixelifyProductInterface;
use Revoltify\Pixelify\Traits\HasPixelifyProduct;
class Product extends Model implements PixelifyProductInterface
{
use HasPixelifyProduct;
// overwrite methods if needed
public function getPixelProductCurrency(): string
{
return $this->product_currency;
}
}use App\Models\User;
use App\Models\Product;
use Revoltify\Pixelify\Facades\Pixelify;
$user = User::first();
$product = Product::first();
// Track page view
Pixelify::pageView($user);
// Track view content
Pixelify::viewContent($product, $user);
// Track add to cart
Pixelify::addToCart($product, $user);
// Track initiate checkout
Pixelify::initiateCheckout($product, $user);
// Track purchase
Pixelify::purchase($product, $user);You can also create DTOs manually:
use Revoltify\Pixelify\DTO\UserData;
use Revoltify\Pixelify\DTO\ProductData;
use Revoltify\Pixelify\Facades\Pixelify;
$userData = new UserData(
firstName: 'John',
lastName: 'Doe',
email: 'user@example.com',
phone: '+1234567890',
);
$productData = new ProductData(
productId: '123',
price: 99.99,
quantity: 1,
currency: 'USD'
);
Pixelify::purchase($productData, $userData);composer testThank you for considering contributing to the Pixelify package! We welcome all contributions, including bug reports, feature requests, and pull requests.
Please review existing issues and pull requests before submitting your own to avoid duplicates.
If you discover any security-related issues, please email info@revoltify.net directly instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.