A Laravel package for easy integration with Facebook Conversion API to track various events like ViewContent, PageView, AddToCart, InitiateCheckout, and Purchase.
You can install the package via composer:
composer require revoltify/pixelify
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
- 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 Revoltify\Pixelify\Facades\Pixelify;
// Track page view
Pixelify::pageView($user->toPixelUser());
// Track view content
Pixelify::viewContent(
$product->toPixelProduct(),
$user->toPixelUser()
);
// Track add to cart
Pixelify::addToCart(
$product->toPixelProduct(),
$user->toPixelUser()
);
// Track initiate checkout
Pixelify::initiateCheckout(
$product->toPixelProduct(),
$user->toPixelUser()
);
// Track purchase
Pixelify::purchase(
$product->toPixelProduct(),
$user->toPixelUser()
);
You can also create DTOs manually:
use Revoltify\Pixelify\DTO\UserData;
use Revoltify\Pixelify\DTO\ProductData;
$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 test
The MIT License (MIT). Please see License File for more information.