BonicBD
Server-Side GTM · Anti-Adblock · Safari ITP Fix
Live Tracking Active
sGTM Platform v12.7 · Enterprise

🛡️ BonicBD sGTM সেটআপ গাইড

Anti-Adblock লোডার, Safari ITP Fix এবং Facebook EMQ স্কোর বাড়ানোর পূর্ণাঙ্গ গাইড। নিচের ধাপগুলো ক্রমানুযায়ী অনুসরণ করুন।

1
Loader Script
2
Cookie Extender
3
GTM Variable
4
GA4 Config
5
Server GTM
6
Verify
ধাপ ১ — সবচেয়ে গুরুত্বপূর্ণ

ওয়েবসাইটের <head>-এ Anti-Adblock GTM Loader বসানো

সাধারণ GTM snippet ব্যবহার করলে EasyPrivacy / uBlock Origin অ্যাডব্লকার ?id=GTM- প্যাটার্ন দেখে ব্লক করে দেয়। BonicBD-এর /bbd-loader.js?st= পাথ ব্যবহার করলে এই ব্লক এড়ানো যায়।

❌ সাধারণ GTM
gtm.js?id=GTM-XXX → ব্লক হয়
✅ BonicBD Loader
bbd-loader.js?st=GTM-XXX → পাস হয়
Cookie Lifetime
1 বছর (Server-side)

আপনার ওয়েবসাইটের <head> ট্যাগের ঠিক পরেই নিচের কোডটি বসান:

HTML — <head> এর ভেতরে বসান
<!-- BonicBD sGTM Anti-Adblock Loader -->
<script>
(function(w,d,s,l,i){
  w[l]=w[l]||[];
  w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});
  var f=d.getElementsByTagName(s)[0],
      j=d.createElement(s),
      dl=l!='dataLayer'?'&l='+l:'';
  j.async=true;
  // ⚠️ নিচে আপনার ট্র্যাকিং ডোমেইন ও GTM ID বসান
  j.src='https://ts.yourdomain.com/bbd-loader.js?st='+i+dl;
  f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXXX');
</script>
<!-- BonicBD Integrated Tracker (Cookie + Click ID + Dedup + UTM) -->
<script src="https://ts.yourdomain.com/bbd-tracker-integrated.js" async></script>
PHP — functions.php এ যোগ করুন
function bonicbd_head_scripts() {
  $sgtm  = 'https://ts.yourdomain.com';
  $gtmid = 'GTM-XXXXXXX';
  ?>
  <script>
  (function(w,d,s,l,i){
    w[l]=w[l]||[];
    w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});
    var f=d.getElementsByTagName(s)[0],j=d.createElement(s),
        dl=l!='dataLayer'?'&l='+l:'';
    j.async=true;
    j.src='<?php echo $sgtm; ?>/bbd-loader.js?st='+i+dl;
    f.parentNode.insertBefore(j,f);
  })(window,document,'script','dataLayer','<?php echo $gtmid; ?>');
  </script>
  <script src="<?php echo $sgtm; ?>/bbd-tracker-integrated.js" async></script>
  <?php
}
add_action('wp_head', 'bonicbd_head_scripts', 1);

function bonicbd_body_open() { ?>
<noscript><iframe src="https://ts.yourdomain.com/ns.html?id=GTM-XXXXXXX"
  height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<?php }
add_action('wp_body_open', 'bonicbd_body_open', 1);
Replace করুন: ts.yourdomain.com → আপনার ট্র্যাকিং সাবডোমেইন  |  GTM-XXXXXXX → আপনার GTM Web Container ID
ধাপ ২ — Web GTM

Cookie Extender ট্যাগ (Safari ITP Fix)

Safari ITP JavaScript cookie-এর lifetime মাত্র ৭ দিন-এ কমিয়ে দেয়। এই ট্যাগটি সার্ভার ব্যবহার করে bbd_uid cookie ১ বছরের জন্য set করে।

  1. Web GTM → Tags → New → Custom HTML
  2. নিচের কোড paste করুন | Trigger: All Pages
  3. Tag নাম: BonicBD - Cookie Extender → Save
GTM Custom HTML Tag
<script>
(function() {
  if (typeof window === 'undefined' || !window.fetch) return;
  // ⚠️ ts.yourdomain.com → আপনার ট্র্যাকিং ডোমেইন দিন
  var url = 'https://ts.yourdomain.com/ping';
  try {
    fetch(url, {
      method: 'GET', mode: 'cors',
      credentials: 'include', // Safari ITP fix এর জন্য জরুরি
      keepalive: true,
      headers: { 'Cache-Control': 'no-cache', 'Pragma': 'no-cache' }
    }).catch(function(){});
  } catch(e) {}
})();
</script>
credentials: 'include' অবশ্যই রাখুন — এটা ছাড়া Safari-তে cookie set হবে না।
ধাপ ৩ — Web GTM

Cookie Variable তৈরি করা

সার্ভার থেকে সেট হওয়া bbd_uid কুকিটি GTM Variable হিসেবে রিড করুন।

  1. GTM → Variables → New → 1st Party Cookie
  2. Cookie Name: bbd_uid | URI-decode cookie চেক করুন ✅
  3. Variable নাম: C - bbd_uid → Save
এই Variable এখন {{C - bbd_uid}} হিসেবে যেকোনো Tag-এ ব্যবহার করা যাবে।
ধাপ ৪ — Web GTM

GA4 Google Tag — সম্পূর্ণ Configuration

server_container_url শুধু sGTM container load করে — কিন্তু GA4 collect request এখনো /g/collect path ব্যবহার করে যা uBlock Origin ব্লক করে। এই সমস্যা এড়াতে transport_url আলাদাভাবে সেট করতে হবে।

❌ শুধু server_container_url
  • Container JS load → ঠিক আছে
  • Collect path → /g/collect
  • uBlock দেখে → BLOCK
  • GA4 data → miss হয়
✅ দুটো একসাথে
  • Container JS load → ঠিক আছে
  • Collect path → /evt (masked)
  • uBlock চেনে না → PASS
  • GA4 data → সব পাচ্ছে

Web GTM → Google Tag (GA4 Config) → Configuration Settings → Fields to Set:

নিচের সবগুলো field একে একে Add করুন:

GTM — Fields to Set (Google Tag)
// ১. sGTM Container URL (আগে থেকে থাকলে আপডেট করুন)
Field Name  : server_container_url
Value       : https://ts.yourdomain.com

// ২. Anti-Adblock Collect Path — এটা নতুন যোগ করুন
Field Name  : transport_url
Value       : https://ts.yourdomain.com

// ৩. External ID — Facebook EMQ + Server-side identity
Field Name  : external_id
Value       : {{C - bbd_uid}}

// ৪. User ID (optional কিন্তু recommended)
Field Name  : user_id
Value       : {{C - bbd_uid}}
server_container_url
sGTM container থেকে GTM JS load করে। এটা ছাড়া সার্ভার ট্র্যাকিং কাজ করে না।
transport_url ← নতুন
GA4 collect request এর destination। এটা দিলে /g/collect এর বদলে আপনার domain-এ পাঠায় → uBlock block করতে পারে না।
external_id
Facebook EMQ score বাড়ায়। bbd_uid কে server-side identity হিসেবে পাঠায়।
user_id
GA4 cross-device tracking উন্নত করে। Login ছাড়াও bbd_uid দিয়ে কাজ করে।
কীভাবে কাজ করে: transport_url → GA4 আপনার sGTM-এ collect পাঠায় → Nginx sub_filter /g/collect কে /evt-এ mask করে → uBlock Origin /evt চেনে না → ব্লক হয় না ✅
ধাপ ৫ — Server GTM

Server Container-এ External ID ম্যাপ করা

Web থেকে পাঠানো external_id রিসিভ করে Facebook CAPI-তে পাঠানো।

Server GTM Variable তৈরি:

  1. Server GTM → Variables → New → Event Data
  2. Key Path: external_id | Variable নাম: ED - External ID
Facebook CAPI Tag — User Data Mapping
Facebook CAPI Tag → User Data Section:

External ID  : {{ED - External ID}}

// EMQ বাড়াতে এগুলোও ম্যাপ করুন (যদি available থাকে):
Email        : {{ED - email}}
Phone        : {{ED - phone}}
Client IP    : {{Request IP}}
Client UA    : {{Request Header - User-Agent}}
FBP Cookie   : {{ED - _fbp}}
FBC Cookie   : {{ED - _fbc}}
কাজ শেষ! প্রতিটি ইভেন্টের সাথে ইউনিক External ID Facebook-এ যাবে → EMQ স্কোর বাড়বে → Conversion Matching উন্নত হবে।

Verification

  1. Browser F12 → Network Tab খুলুন, uBlock চালু রেখে সাইট reload করুন।
  2. Filter: bbd-loader → Status 200 দেখা যাচ্ছে?
  3. Filter: ping → Response Headers-এ Set-Cookie: bbd_uid=... আছে?
  4. Filter: evt/g/collect নেই, শুধু /evt দেখা যাচ্ছে? ✅
  5. Application → Cookies-এ bbd_uid cookie আছে?
  6. Facebook Events Manager → Test Events → Match Quality চেক করুন।
✅ সফল হলে
bbd_uid cookie, /evt requests, Status 200, External ID in events
❌ সমস্যা হলে
CORS error → domain mismatch | /g/collect দেখলে → transport_url দেওয়া হয়নি

সাহায্য প্রয়োজন?

কোনো সমস্যায় পড়লে WhatsApp-এ নক করুন।

WhatsApp Support