@extends('backEnd.layouts.master') @section('title', 'Ad Management') @push('styles') @include('backEnd.reports.partials.report-styles') @endpush @section('content') @php $fb = $config['facebook']; $google = $config['google']; $summary = $dashboard['summary']; $charts = $dashboard['charts']['daily']; $match = $dashboard['match_quality']; $queryBase = request()->only(['from_date','to_date']); @endphp

Ad Management

Multi-platform pixels, CAPI, campaign analytics & UTM attribution
@if($tab === 'dashboard') {{-- Campaign Dashboard --}}
Revenue
৳{{ number_format($summary['revenue'], 0) }}
Ad Spend @if($summary['spend_source']==='manual')(manual)@endif
৳{{ number_format($summary['spend'], 0) }}
ROAS
{{ $summary['spend'] > 0 ? number_format($summary['roas'], 2).'x' : '—' }}
Conversion Rate
{{ number_format($summary['conversion_rate'], 1) }}%
CTR
{{ number_format($summary['ctr'], 2) }}%
CPC
৳{{ number_format($summary['cpc'], 2) }}
CPM
৳{{ number_format($summary['cpm'], 2) }}
Cost / Purchase
৳{{ number_format($summary['cost_per_purchase'], 0) }}
@if(empty($dashboard['meta_insights']['connected']))
Meta Ad Account + Marketing Token দিলে spend/CTR/CPC/CPM auto-fetch হবে। না থাকলে Integrations tab-এ manual spend দিন।
@endif
Spend vs Revenue
Event Match Quality
{{ $match['score'] }}
{{ $match['label'] }}
Meta CAPI matching estimate
@foreach($match['events'] as $ev => $on) {{ ucfirst($ev) }} @endforeach
    @foreach(array_slice($match['tips'], 0, 3) as $tip)
  • {{ $tip }}
  • @endforeach
Manual Ad Spend (date range estimate)
@csrf
@foreach($config['manual_spend'] as $platform => $amount)
@endforeach
@elseif($tab === 'integrations') {{-- Multi-Platform Integrations --}}
Pixel, CAPI, GA4, GTM — এখানেই এক জায়গায় configure ও test করুন। Integrations & Services-এ courier, payment, SMTP থাকবে।
{{-- Facebook --}}
@csrf
Facebook Pixel + Conversion API (CAPI)
দুইভাবে setup — একটাই বেছে নিন (browser pixel-এর জন্য)
Option A — GTM দিয়ে FB Pixel (recommended)
Google Ads tab-এ GTM ID দিন → GTM container-এ FB Pixel tags বানান।
এখানে Pixel ID খালি রাখুন — নাহলে browser-এ event দুইবার fire হবে (GTM + direct pixel)।
CAPI-র জন্য নিচে Pixel ID + CAPI Token + Enable CAPI চালু রাখুন (server-side, GTM দিয়ে হয় না)।
Option B — Direct Pixel (GTM ছাড়া)
Pixel ID এখানে দিন → site direct fbq() fire করবে। GTM-এ আবার FB Pixel tag বন্ধ রাখুন।
CAPI ON করলে browser + server দুটোই match quality ভালো হয়।
Conversion API (CAPI) — সম্পূর্ণ ব্যাখ্যা

CAPI কী? Browser pixel ছাড়াও server থেকে Meta-তে event পাঠায় (AddToCart, Purchase, ViewContent ইত্যাদি)। Ad blocker / iOS privacy-তে browser pixel miss হলেও CAPI event ধরে রাখে — Event Match Quality বাড়ে।

  • Pixel ID — Meta Events Manager-এর pixel (CAPI-তেও same ID লাগে)
  • CAPI Access Token — Events Manager → Settings → Conversions API → Generate access token
  • Enable CAPI — ON করলে order/cart/checkout server থেকে Meta-তে যাবে
  • Test Event Code — Events Manager → Test Events tab-এ code copy করে দিন; test mode-এ event verify করবেন। Live-এ খালি রাখতে পারেন।

Setup steps: Meta Business → Events Manager → Data Sources → আপনার Pixel → Settings → Conversions API → Generate token → এখানে paste → Enable CAPI ON → Save → Test CAPI button → Meta Test Events tab-এ দেখুন।

Meta Events Manager → Data Sources → Pixel → Pixel ID (১৫ digit)।
GTM দিয়ে browser pixel track করলে খালি রাখুন (double count এড়াতে)।
CAPI চালু করলে same Pixel ID এখানে দিতে হবে (server-side-এর জন্য)।
Meta Ads Manager → Ad Account settings → Account ID (act_123456789 format)।
Campaign Dashboard spend/insights ও Audience sync-এর জন্য — pixel tracking-এর জন্য নয়।
Events Manager → Pixel → Settings → Conversions API → Generate access token।
Secret key — কাউকে share করবেন না। Enable CAPI ON না হলে কাজ করবে না।
Meta Graph API token with ads_read permission — campaign spend, CTR, CPC auto-fetch।
Pixel/CAPI tracking-এর জন্য লাগে না; শুধু Ad Management dashboard insights।
Meta Events Manager → Test Events tab → “Test event code” copy করুন (যেমন TEST12345)।
দিলে CAPI event শুধু Test tab-এ দেখাবে — live reporting-এ যাবে না। Setup verify করার পর খালি করে Save দিন।
ON = server থেকে Meta-তে event যাবে (Purchase, AddToCart, Checkout…)।
Pixel ID + CAPI Token দেওয়ার পর ON করুন → Save → Test CAPI চাপুন।
Eventকখন fireCAPI
PageViewপ্রতিটি page loadPixel auto
ViewContentProduct/content page
SearchSearch করলে
AddToCartCart-এ add
AddToWishlistWishlist-এ add
InitiateCheckoutCheckout page
AddPaymentInfoPayment method select/submit
PurchaseOrder complete
LeadLead capture
নিচের checkbox = CAPI server-side ON/OFF (browser GTM pixel আলাদা)।
GTM browser pixel: Google tab → GTM ID + container-এ FB tags। Site dataLayer auto push করে।
@csrf
Facebook Domain Verification

Meta Business Manager → Brand Safety → Domains থেকে meta tag copy করুন। Save করলে store homepage <head>-এ auto যাবে।

Full meta tag অথবা শুধু verification code। Domain name (example.com) paste করবেন না। @if(!empty($fb['domain_verification']))
Saved code: {{ $fb['domain_verification'] }}
@endif
{{-- Google --}}
@csrf
Google Ads + GTM
গুরুত্বপূর্ণ: GTM + GA4 দুটো একসাথে fill করবেন না — double count হতে পারে (এক visitor দুইবার count)। নিচের দুটো option-এর যেকোনো একটা follow করুন।
Setup — দুটো option (একটাই বেছে নিন)
Option 1 শুধু GTM (recommended)
এখানে শুধু Google Tag Manager ID (GTM-XXXXXXX) দিন। GA4 Measurement ID field খালি রাখুন। GTM container-এ GA4 + Google Ads conversion tag নিজে setup + publish করুন।
Option 2 GTM ছাড়া direct GA4
GTM field খালি রাখুন। GA4 Measurement ID (G-XXXXXXXX) + প্রয়োজন হলে Conversion ID (AW-…) ও Conversion Label দিন। Order complete হলে purchase/conversion auto fire হবে।
Option 2-এ দিন। Option 1 (GTM only) হলে খালি রাখুন।
Option 1-এ দিন। Option 2 (direct GA4) হলে খালি রাখুন।
Google Ads conversion tracking (AW-…)
Conversion ID-এর সাথে label দিলে order success-এ count হবে
{{-- TikTok --}}
@csrf
TikTok Pixel
{{-- Pinterest --}}
@csrf
Pinterest Tag
@elseif($tab === 'audience')
{{ number_format($audience['purchasers']) }}
Purchasers (unique phones)
{{ number_format($audience['recent_visitors']) }}
Visitors (180 days)
{{ number_format($audience['exclusion_count']) }}
Exclusion List
@csrf
@foreach(['purchasers'=>'Purchasers','visitors'=>'Visitors / Leads','exclusion'=>'Exclusion List'] as $type => $label)
{{ $label }}

Meta Custom Audience format (email, phone hashed on upload)

Export CSV @if($audience['can_sync_meta']) @endif
@endforeach
@if($audience['can_sync_meta'])
Source audience ID auto-save হয় purchaser sync থেকে
@else
Meta Audience sync: Integrations → Facebook tab-এ Ad Account ID + Marketing Token দিন।
@endif @elseif($tab === 'utm')
Tracking URL Generator
Example: ?utm_source=facebook&utm_campaign=eid_sale → order-এ auto save
Sales by Traffic Source
@forelse($attribution['by_source'] as $row) @empty @endforelse
SourceVisitsOrdersDeliveredRevenue
{{ Str::limit($row->source, 40) }} {{ number_format($attribution['visitor_by_source'][$row->source]->visits ?? 0) }} {{ number_format($row->orders) }} {{ number_format($row->delivered) }} ৳{{ number_format($row->revenue, 0) }}
No attribution data yet
Campaign Breakdown (utm_campaign)
@forelse($attribution['by_campaign'] as $row) @empty @endforelse
CampaignSourceOrdersDeliveredRevenue
{{ $row->campaign }} {{ Str::limit($row->source, 30) }} {{ number_format($row->orders) }} {{ number_format($row->delivered) }} ৳{{ number_format($row->revenue, 0) }}
UTM campaign data দেখতে ads URL-এ utm_campaign ব্যবহার করুন
@endif
@endsection @push('scripts') @if($tab === 'dashboard') @endif @if($tab === 'integrations') @endif @if($tab === 'audience') @endif @if($tab === 'utm') @endif @endpush