revoltify/pixelify

Laravel package for Facebook Conversion API integration

Maintainers

Package info

github.com/revoltify/pixelify

pkg:composer/revoltify/pixelify

Statistics

Installs: 46

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

2.0.0 2026-03-02 11:55 UTC

This package is auto-updated.

Last update: 2026-03-03 02:58:24 UTC


README

Latest Version on Packagist Total Downloads Tests PHP 8.2+ Laravel Version

A Laravel package for easy integration with Facebook Conversion API to track various events like ViewContent, PageView, AddToCart, InitiateCheckout, and Purchase.

Installation

For Laravel 11+

composer require revoltify/pixelify "^2.0"

For Laravel 9+

composer require revoltify/pixelify "^1.0"

Configuration

Publish the configuration file:

php artisan pixelify:setup

Add 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

Getting Your Facebook Pixel ID and Access Token

  1. Go to Facebook Events Manager
  2. Select your Pixel
  3. Go to the "Settings" tab
  4. Copy the Dataset ID (this is your Pixel ID)
  5. Scroll down to "Set up direct integration"
  6. Click "Generate access token"
  7. Copy the generated Pixel Access Token

Usage

Model Integration

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;
    }
}

Tracking Events

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);

Using DTOs Directly

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);

Testing

composer test

Contributing

Thank 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.

License

The MIT License (MIT). Please see License File for more information.