laravel-ecommerce-tracking maintained by sabuj073
Description
Data Layer, GTM, GA4, Facebook/TikTok Pixels & Conversion API for Laravel ecommerce
Author
Last update
2026/03/10 06:29
(dev-main)
License
Downloads
0
Tags
Laravel Ecommerce Tracking
Data Layer, GTM, GA4, Facebook Pixel, TikTok Pixel এবং Facebook Conversion API সহজে সেটআপ করুন।
Installation
composer require sabuj073/laravel-ecommerce-tracking
php artisan vendor:publish --tag=ecommerce-tracking-config
Configuration
.env:
TRACKING_ENABLED=true
# GTM
GTM_ENABLED=true
GTM_CONTAINER_ID=GTM-XXXXXX
# GA4
GA4_ENABLED=true
GA4_MEASUREMENT_ID=G-XXXXXX
# Facebook Pixel
FB_PIXEL_ENABLED=true
FB_PIXEL_ID=123456789
# Facebook Conversion API (server-side)
FB_CAPI_ENABLED=true
FB_CAPI_ACCESS_TOKEN=your_long_lived_token
# TikTok Pixel (optional)
TIKTOK_PIXEL_ENABLED=false
TIKTOK_PIXEL_ID=
Setup in Layout
<head> তে অথবা </body> এর ঠিক আগে:
@ecommerceTracking
অথবা ম্যানুয়ালি:
{!! app(\Sabuj073\EcommerceTracking\EcommerceTracking::class)->getScriptsContent() !!}
<body> এর শুরুতেই (GTM noscript এর জন্য):
@ecommerceTrackingBody
পূর্ণ layout উদাহরণ:
<!DOCTYPE html>
<html>
<head>
...
@ecommerceTracking
</head>
<body>
@ecommerceTrackingBody
@yield('content')
</body>
</html>
Usage
Data Layer + GA4 + Pixel Events (client-side)
use Sabuj073\EcommerceTracking\EcommerceTracking;
$tracking = app(EcommerceTracking::class);
// Product view page
$tracking->viewItem($product);
// Add to cart
$tracking->addToCart($product, 2);
// Checkout page
$tracking->beginCheckout($cart->items);
// Order success
$tracking->purchase(
$order->id,
$order->items,
$order->total,
'BDT',
$order->coupon_code
);
// Custom event
$tracking->custom('newsletter_signup', ['method' => 'popup']);
Controller এ event push করলে layout render এর সময় data layer এ চলে যাবে। GTM/GA4/Pixel গুলো সেই events ব্যবহার করতে পারবে।
Facebook Conversion API (server-side)
// Purchase এর পর server-side ও পাঠান (cookie block হলে ও কাজ করবে)
$tracking->sendPurchaseCapi(
transactionId: $order->id,
value: (float) $order->total,
currency: 'BDT',
userData: [
'email' => $order->customer_email,
'phone' => $order->customer_phone,
'first_name' => $order->customer_name,
],
items: $order->items->toArray(),
eventId: 'evt_' . $order->id . '_' . time() // deduplication
);
যেকোনো event:
$tracking->sendFacebookCapi(
eventName: 'Lead',
userData: ['email' => $user->email, 'phone' => $user->phone],
customData: ['value' => 10, 'currency' => 'BDT']
);
Product format
viewItem, addToCart, beginCheckout, purchase এ product/items পাঠাতে পারেন:
- Eloquent model:
$productযেখানেid,name/title,price/amount,categoryইত্যাদি আছে - Array:
['item_id' => 'SKU', 'item_name' => 'Name', 'price' => 100, 'quantity' => 1, 'item_category' => 'Category']
GTM Tips
GTM এ Data Layer variables এবং Tags বানান। এই প্যাকেজ শুধু dataLayer.push() করে – GTM থেকে GA4, Facebook, TikTok ইত্যাদির জন্য Tags কনফিগার করুন।