sabuj073 / laravel-ecommerce-tracking
Data Layer, GTM, GA4, Facebook/TikTok Pixels & Conversion API for Laravel ecommerce
Package info
github.com/sabuj073/laravel-ecommerce-tracking-pixel-ga4-convertionapi
pkg:composer/sabuj073/laravel-ecommerce-tracking
Requires
- php: ^8.1
- illuminate/http: ^10.0|^11.0
- illuminate/support: ^10.0|^11.0
This package is auto-updated.
Last update: 2026-04-10 05:43:26 UTC
README
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 কনফিগার করুন।