Looking to hire Laravel developers? Try LaraJobs

laravel-ecommerce-tracking maintained by sabuj073

Description
Data Layer, GTM, GA4, Facebook/TikTok Pixels & Conversion API for Laravel ecommerce
Last update
2026/03/10 06:29 (dev-main)
License
Links
Downloads
0

Comments
comments powered by Disqus

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 কনফিগার করুন।