২০২৬ সালের জন্য Microsoft Clarity সেশন রেকর্ডিং কুকি সম্মতি ইন্টিগ্রেশন গাইড
Microsoft Clarity ২০২০ সালে সেশন রেকর্ডিং, হিটম্যাপ এবং ইন্টারঅ্যাকশন অ্যানালিটিক্সের জন্য Hotjar ও Smartlook-এর একটি বিনামূল্যে, কোটা-মুক্ত বিকল্প হিসেবে চালু হয়েছিল। পাঁচ বছর পরে এটি বিশ্বজুড়ে মিড-মার্কেট এবং ছোট ব্যবসার সাইটগুলির একটি উল্লেখযোগ্য অংশে রয়েছে, আংশিকভাবে কারণ এটি সত্যিই উপযোগী এবং আংশিকভাবে কারণ ইনস্টলেশনটি এক লাইনের JavaScript যা বেশিরভাগ অপারেটর আরও চিন্তা না করেই পেস্ট করে। গোপনীয়তার দৃষ্টিকোণ থেকে ইনস্টলেশনের এই সহজতাই সমস্যা। Clarity মাউসের নড়াচড়া, স্ক্রোল আচরণ, ক্লিক, কীস্ট্রোক, ফর্ম ইন্টারঅ্যাকশন এবং পূর্ণ পৃষ্ঠার DOM স্ন্যাপশট রেকর্ড করে — যেকোনো সাধারণভাবে স্থাপিত অ্যানালিটিক্স টুলের মধ্যে সবচেয়ে ঘন আচরণগত পেলোড — এবং স্ক্রিপ্ট লোড হওয়ার সাথে সাথে সবকিছু Microsoft-এর সার্ভারে পাঠিয়ে দেয়। EU, UK, EEA, ব্রাজিল বা ক্যালিফোর্নিয়ার ট্র্যাফিক স্পর্শ করা যেকোনো ডিপ্লয়মেন্টে ডিফল্ট ইনস্টলেশন সম্মত নয়, এবং সেশন-রেকর্ডিং প্রয়োগে সবচেয়ে সক্রিয় নিয়ন্ত্রকরা — CNIL, ইতালীয় Garante, UK ICO — স্পষ্টভাবে বলেছেন যে টুলের মূল্য স্তর বা বিক্রেতা নির্বিশেষে বিশ্লেষণ প্রযোজ্য। এই গাইডটি Clarity কী রেকর্ড করে, সম্মতির সীমানা কীভাবে কাজ করে এবং অডিট টিকিয়ে রাখা ইন্টিগ্রেশন প্যাটার্নের মধ্য দিয়ে চলে।
Clarity আসলে কী রেকর্ড করে
Clarity SDK (www.clarity.ms/tag/{project_id} থেকে লোড হয়) একটি গ্লোবাল clarity অবজেক্ট ইনিশিয়ালাইজ করে এবং Microsoft-এর মালিকানাধীন _clck নামক একটি কুকি দিয়ে দর্শকদের সনাক্ত করে, পাশাপাশি একটি সেশন কুকি _clsk। সেই মুহূর্ত থেকে, স্ক্রিপ্টটি একটি ঘন আচরণগত স্ট্রিম ক্যাপচার করে:
- মাউস ও টাচ ইনপুট — প্রতিটি নড়াচড়া, ক্লিক, ট্যাপ, স্ক্রোল এবং জেসচার টাইমস্ট্যাম্প ও স্থানাঙ্কসহ রেকর্ড করা হয়।
- ফর্ম ইন্টারঅ্যাকশন — প্রতিটি ফর্ম ফিল্ডে ফোকাস, ব্লার এবং ইনপুট ইভেন্ট, এছাড়াও মাস্কিং কনফিগার না থাকলে অ-সংবেদনশীল ফিল্ডের টেক্সট।
- DOM স্ন্যাপশট — পৃষ্ঠার DOM-এর পর্যায়ক্রমিক সম্পূর্ণ স্ন্যাপশট যাতে সেশন রিপ্লে যেকোনো মুহূর্তে সঠিক ভিজ্যুয়াল অবস্থা পুনর্নির্মাণ করতে পারে।
- কাস্টম ইভেন্ট — অ্যাপ্লিকেশন যে ইভেন্টগুলি clarity("event", "name") কলের মাধ্যমে স্পষ্টভাবে নির্গত করে।
- পারফরম্যান্স ও ত্রুটির ডেটা — JavaScript ত্রুটি, নেটওয়ার্ক ব্যর্থতা এবং core web vitals টাইমিং।
- পরিচয়কারী ডেটা — Clarity-এর মালিকানাধীন কুকি এবং IP-থেকে প্রাপ্ত জিওলোকেশন ও ইউজার-এজেন্ট ফিঙ্গারপ্রিন্টিং।
সংমিশ্রণটি — বিশেষত DOM স্ন্যাপশট এবং ফর্ম-ফিল্ড ক্যাপচার — Clarity-কে কার্যকরভাবে দর্শকের সেশনের একটি ভিডিও রেকর্ডিংয়ের সমতুল্য করে তোলে। GDPR-এর অধীনে নিয়ন্ত্রক শ্রেণীবিভাগ সহজবোধ্য: এটি ব্যক্তিগত ডেটার প্রক্রিয়াকরণ, কুকিগুলি অ-অপরিহার্য, ডেটা Microsoft-এর মার্কিন পরিকাঠামোতে সীমানা পেরিয়ে যায় এবং প্রয়োজনীয় বৈধ ভিত্তি হল সম্মতি। সেশন রেকর্ডিং সম্পর্কে CNIL-এর ২০২৪ সালের নির্দেশিকা এই বিষয়ে স্পষ্ট এবং Clarity-এর বিভাগের টুলগুলিকে স্পষ্টভাবে নাম দেয়।
সংবেদনশীল ডেটার ঝুঁকি
সেশন রেকর্ডিং টুলগুলির একটি নির্দিষ্ট গোপনীয়তার বিপদ রয়েছে যা অন্যান্য অ্যানালিটিক্স টুলের নেই: তারা দুর্ঘটনাক্রমে সংবেদনশীল ব্যক্তিগত ডেটা ক্যাপচার করতে পারে। যেকোনো ফর্ম ফিল্ডে ক্রেডিট কার্ড নম্বর, স্বাস্থ্য অবস্থা, ধর্মীয় পরিচয় বা জাতীয় পরিচয়পত্র টাইপ করা একজন ব্যবহারকারী Clarity দ্বারা রেকর্ড করা হয় যদি ফিল্ডটি স্পষ্টভাবে মাস্ক না করা হয়। GDPR-এর অধীনে এটি Article 9 সংবেদনশীল ব্যক্তিগত ডেটার প্রক্রিয়াকরণ, যার জন্য স্পষ্ট অপ্ট-ইন সম্মতি প্রয়োজন এবং এটি সাধারণ বিপণন-সম্মতি সিদ্ধান্ত দ্বারা খুব কমই আবৃত হয়।
Clarity একটি কন্টেন্ট-মাস্কিং কনফিগারেশন সমর্থন করে যা রেকর্ডিং থেকে নির্দিষ্ট ফিল্ডগুলি লুকিয়ে রাখে, কিন্তু ডিফল্ট আচরণ সবকিছু ক্যাপচার করে। অডিট-রক্ষণযোগ্য পদ্ধতি হল আক্রমণাত্মকভাবে মাস্ক করা — অন্যথায় প্রমাণিত না হওয়া পর্যন্ত প্রতিটি ফর্ম ফিল্ডকে সংবেদনশীল বলে ধরে নিন — এবং মাস্কিং সিদ্ধান্তগুলি স্পষ্টভাবে নথিভুক্ত করুন।
Clarity-এর নেটিভ গোপনীয়তা নিয়ন্ত্রণ
Microsoft গত দুই বছরে Clarity-এর গোপনীয়তা নিয়ন্ত্রণে বিনিয়োগ করেছে। প্ল্যাটফর্মটি এখন বেশ কয়েকটি প্রিমিটিভ প্রকাশ করে যা একটি CMP ইন্টিগ্রেশন ব্যবহার করতে পারে।
মাস্ক অ্যাট্রিবিউট
একটি DOM উপাদানে data-clarity-mask="true" যোগ করলে সেশন রেকর্ডিং থেকে এর কন্টেন্ট লুকিয়ে যায়। একটি চাইল্ড উপাদানে data-clarity-unmask="true" যোগ করলে সেই সাবট্রির জন্য মাস্ক ওভাররাইড হয়। ব্যক্তিগত ডেটা ধারণ করতে পারে এমন যেকোনো ফর্ম ফিল্ডের জন্য সঠিক ডিফল্ট হল মাস্ক করা, তারপর যেখানে নিরাপদ সেখানে স্পষ্টভাবে আনমাস্ক করা।
সম্মতি API
Clarity একটি clarity("consent") কল প্রকাশ করে যা, আহ্বান করা হলে, সংকেত দেয় যে সম্মতি দেওয়া হয়েছে এবং SDK এগিয়ে যাওয়া উচিত। এই কল ছাড়া, SDK প্রাথমিক লোডের পরে থামতে কনফিগার করা যেতে পারে। এটি অ্যাক্টিভেশন দিক থেকে CMP ইন্টিগ্রেশনের জন্য সঠিক প্রিমিটিভ।
IP মাস্কিং এবং পরিচয়কারী পরিচালনা
Clarity প্রজেক্ট সেটিংস IP ট্রান্কেশন এবং পরিচয়কারী মাস্কিংয়ের জন্য বিকল্পগুলি প্রকাশ করে। এগুলি সক্ষম করা CMP গেটিংয়ের উপরে একটি গভীর-প্রতিরক্ষা ব্যবস্থা; এটি সম্মতির বিকল্প নয়।
সংবেদনশীল কন্টেন্টের স্বয়ংক্রিয় মাস্কিং
সাম্প্রতিক Clarity রিলিজগুলি সংবেদনশীল ফিল্ডগুলি স্বয়ংক্রিয়ভাবে সনাক্ত করার চেষ্টা করে (ক্রেডিট কার্ড প্যাটার্ন, পাসওয়ার্ড ফিল্ড, "ssn" বা অনুরূপ নামের ফিল্ড) এবং ডিফল্টভাবে মাস্ক করে। সনাক্তকরণ হিউরিস্টিক এবং অসম্পূর্ণ; এটিকে একমাত্র প্রতিরক্ষা রেখা হিসেবে নির্ভর করবেন না।
ধাপে ধাপে CMP ইন্টিগ্রেশন
নির্ভরযোগ্য আর্কিটেকচার হল সম্মতি দেওয়া না হওয়া পর্যন্ত Clarity SDK সম্পূর্ণভাবে স্থগিত করা, তারপর সম্মতি API-এর মাধ্যমে স্পষ্টভাবে এটি সক্রিয় করা।
1. ডকুমেন্ট হেড থেকে ডিফল্ট ট্যাগ সরান
Clarity ইনস্টলেশন স্নিপেটটি একটি একক ইনলাইন স্ক্রিপ্ট যা পৃষ্ঠা লোডে SDK ইনিশিয়ালাইজ করে। এটিকে একটি প্লেসহোল্ডার স্ক্রিপ্ট উপাদান দিয়ে প্রতিস্থাপন করুন যার type হল text/plain এবং data-category হল analytics বা marketing আপনার CMP সেশন-রেকর্ডিং টুলগুলি কীভাবে শ্রেণীবদ্ধ করে তার উপর নির্ভর করে।
2. বিভাগ ম্যাপিং নির্ধারণ করুন
সেশন রেকর্ডিং একটি বিতর্কিত বিভাগ। CNIL এটিকে বিভিন্নভাবে অ্যানালিটিক্স (যখন ডেটা অভ্যন্তরীণ UX গবেষণার জন্য ব্যবহার করা হয়) এবং বিপণন (যখন ডেটা ব্যক্তিগতকরণ সিদ্ধান্ত বা বাহ্যিক শেয়ারিংকে পুষ্ট করে) হিসেবে বিবেচনা করেছে। রক্ষণশীল ম্যাপিং হল বিপণন; অডিট-রক্ষণযোগ্য অবস্থান আপনাকে রেকর্ডিংগুলি আসলে কীভাবে ব্যবহার করা হয় সে সম্পর্কে নির্দিষ্ট হতে হবে।
3. অ্যাক্টিভেশনের আগে আক্রমণাত্মক মাস্কিং কনফিগার করুন
প্রতিটি ফর্ম উপাদান, প্রতিটি ইনপুট ফিল্ড, ব্যক্তিগত ডেটা ধারণ করতে পারে এমন প্রতিটি কন্টেইনারে data-clarity-mask="true" যোগ করুন। ডিফল্ট নীতি হল নিরাপদ বলে পরিচিত উপাদানগুলির জন্য স্পষ্ট আনমাস্ক ব্যতিক্রম সহ ডিফল্টভাবে মাস্ক করা (পৃষ্ঠার শিরোনাম, নেভিগেশন লেবেল, পাবলিক কন্টেন্ট ব্লক)।
4. সম্মতি কলব্যাক থেকে Clarity সক্রিয় করুন
CMP যখন প্রাসঙ্গিক বিভাগ-গৃহীত ইভেন্টটি ফায়ার করে, প্লেসহোল্ডার স্ক্রিপ্ট ট্যাগটি পুনরায় লিখুন এবং SDK-কে এগিয়ে যাওয়ার অনুমতি দিতে clarity("consent") কল করুন। পূর্ব-সম্মতি সময়কালে বাফার করা কিউড ইভেন্টগুলি তখন ফ্লাশ হবে।
5. প্রত্যাহার স্পষ্টভাবে পরিচালনা করুন
ব্যবহারকারী সম্মতি প্রত্যাহার করলে, Clarity SDK-এর অ্যাক্টিভেশন API-এর সমতুল্য কোনো পরিষ্কার "স্টপ রেকর্ডিং" কল নেই। ব্যবহারিক প্যাটার্ন হল আপনার SDK সংস্করণে সমর্থিত হলে clarity("consent", false) কল করা এবং অতিরিক্তভাবে ক্লায়েন্ট পাশে Clarity কুকিগুলি সাফ করা। ঐতিহাসিক রেকর্ডিংগুলির সম্পূর্ণ মুছে ফেলার জন্য, Clarity অ্যাডমিন UI-এর ডেটা-মুছে ফেলার ওয়ার্কফ্লো বা মুছে ফেলার API ব্যবহার করুন।
সাধারণ ভুল
চারটি ইন্টিগ্রেশন ভুল Clarity ডিপ্লয়মেন্টে অডিট ফলাফলের অধিকাংশের জন্য দায়ী।
Clarity ইনস্টল করা "শুধু দর্শকরা কী করে তা দেখতে"
সবচেয়ে সাধারণ প্যাটার্ন: একজন পণ্য ব্যবস্থাপক UX সমস্যা গবেষণা করতে Clarity ইনস্টল করেন, কখনও সম্মতি গেটিং সক্ষম করেন না, কখনও মাস্কিং কনফিগার করেন না এবং স্ক্রিপ্টের কথা ভুলে যান। রেকর্ডিং পৃষ্ঠ জমতে থাকে। প্রতিকার হল হয় Clarity সম্পূর্ণভাবে সরিয়ে দেওয়া অথবা প্রতিটি অন্যান্য ট্র্যাকারের মতো একই সম্মতি আর্কিটেকচারের অধীনে এটি আনা।
স্বয়ংক্রিয় মাস্কিংয়ে বিশ্বাস করা
Clarity-এর হিউরিস্টিক সংবেদনশীল-ফিল্ড সনাক্তকরণ স্পষ্ট ক্ষেত্রগুলি ধরে কিন্তু ডোমেন-নির্দিষ্টগুলি মিস করে — একটি স্বাস্থ্যসেবা সাইটের "symptoms" টেক্সটএরিয়া, একটি ফিনান্স সাইটের অস্বাভাবিক নামের "account number" ফিল্ড। স্পষ্টভাবে মাস্ক করুন; সনাক্তকরণের উপর নির্ভর করবেন না।
সেশন রেকর্ডিংকে অ্যানালিটিক্স হিসেবে বিবেচনা করা
CNIL স্পষ্ট করেছে যে সম্মতির দৃষ্টিকোণ থেকে সেশন-রেকর্ডিং বিভাগটি ফার্স্ট-পার্টি অ্যানালিটিক্সের চেয়ে বিপণনের কাছাকাছি। শুধুমাত্র অ্যানালিটিক্স সম্মতির অধীনে Clarity গেটিং রক্ষণযোগ্য কেবলমাত্র যদি রেকর্ডিংগুলি একচেটিয়াভাবে অভ্যন্তরীণ UX গবেষণার জন্য ব্যবহার করা হয় এবং কখনও সংস্থার বাইরে শেয়ার না করা হয়।
কাস্টম ইভেন্ট পেলোড ভুলে যাওয়া
clarity("event", "name", customProperties) কল করে এমন অ্যাপ্লিকেশন কোড customProperties পেলোডের মাধ্যমে Clarity স্ট্রিমে ব্যক্তিগত ডেটা ফাঁস করতে পারে। প্রতিটি কল সাইট অডিট করুন এবং ইভেন্ট প্রপার্টিতে ব্যবহারকারী পরিচয়কারী, ইমেইল ঠিকানা বা যেকোনো ব্যক্তিগত ডেটা পাস করা এড়িয়ে চলুন।
অডিট চেকলিস্ট
EU, UK, ব্রাজিল বা ক্যালিফোর্নিয়ার ট্র্যাফিক স্পর্শ করা যেকোনো Clarity ডিপ্লয়মেন্টের জন্য উত্তর দেওয়ার ছয়টি কংক্রিট প্রশ্ন।
- Clarity কি সম্মতির জন্য অপেক্ষা করে? একটি প্রাইভেট উইন্ডোতে পৃষ্ঠাটি খুলুন এবং নিশ্চিত করুন যে ব্যানার গৃহীত হওয়ার আগে কোনো clarity.ms অনুরোধ ফায়ার হয় না।
- মাস্কিং কি আক্রমণাত্মক? নিশ্চিত করুন যে প্রতিটি ফর্ম ফিল্ড এবং সম্ভাব্য ব্যক্তিগত কন্টেন্ট সহ প্রতিটি কন্টেইনারে data-clarity-mask প্রয়োগ করা হয়েছে।
- বিভাগ ম্যাপিং কি নথিভুক্ত? নিশ্চিত করুন যে Clarity অ্যানালিটিক্স বা বিপণনের অধীনে গেটেড কিনা তার একটি লিখিত রেকর্ড আছে, যুক্তিসহ।
- সম্মতি API কি সংযুক্ত? নিশ্চিত করুন যে CMP কলব্যাক প্রদানের সময় clarity("consent") কল করে এবং প্রত্যাহারের সময় সমতুল্য কল করে।
- কাস্টম ইভেন্টগুলি কি অডিট করা হয়েছে? নিশ্চিত করুন যে clarity("event", ...) কলগুলি তাদের প্রপার্টি পেলোডে পরিচয়কারী বা সংবেদনশীল ডেটা পাস করে না।
- মুছে ফেলা কি স্বয়ংক্রিয়? নিশ্চিত করুন যে DSAR অনুরোধগুলি Clarity-এর মুছে ফেলার ওয়ার্কফ্লো ট্রিগার করে, একটি ম্যানুয়াল সাপোর্ট টিকেট নয়।
Clarity সম্মতি-প্রথম স্ট্যাকে কোথায় মাপসই হয়
সেশন রেকর্ডিং সাধারণ ডিপ্লয়মেন্টে সর্বোচ্চ তথ্য-ঘনত্বের আচরণগত ট্র্যাকিং পৃষ্ঠ, এবং Clarity হল এমন টুল যা এটিকে সবচেয়ে আক্রমণাত্মকভাবে গণতান্ত্রিক করেছে। বিনামূল্যের মূল্য স্তর এবং ঘর্ষণ-মুক্ত ইনস্টলেশন এটিকে UX আচরণে দৃশ্যমানতা চাওয়া যেকোনো দলের জন্য সর্বনিম্ন প্রতিরোধের পথ করে তোলে। একই ঘর্ষণ-মুক্ত ইনস্টলেশন Clarity-কে ২০২৬ সালের অডিটে সবচেয়ে সাধারণভাবে ভুল কনফিগার করা অ্যানালিটিক্স টুল করে তোলে। সঠিক আর্কিটেকচার Clarity-কে অন্য প্রতিটি পরিচয়কারী ট্র্যাকারের মতো বিবেচনা করে: এটিকে স্পষ্ট সম্মতির পিছনে গেট করুন, ডিফল্টভাবে ফর্ম ফিল্ডগুলি আক্রমণাত্মকভাবে মাস্ক করুন, বিভাগ ম্যাপিং নথিভুক্ত করুন এবং সম্মতি API সংযুক্ত করুন যাতে SDK-এর নিজস্ব প্রিমিটিভগুলি CMP যা রেকর্ড করেছে তা প্রয়োগ করে। সঠিকভাবে সম্পন্ন হলে, টুলটি কেনা হয়েছিল যে UX গবেষণা মূল্যের জন্য তা সংরক্ষিত হয় যখন নিয়ন্ত্রক এক্সপোজার একটি ডিফল্ট ইনস্টলেশনের একটি ভগ্নাংশে নেমে আসে।