Amplitude Product Analytics কুকি সম্মতি ইন্টিগ্রেশন গাইড: ২০২৬ বাস্তবায়ন প্লেবুক
Amplitude আধুনিক ডেটা স্ট্যাকে একটি অস্বাভাবিক অবস্থান দখল করে। এটি ঠিক একটি ট্যাগ ম্যানেজার নয়, ঠিক একটি কাস্টমার ডেটা প্ল্যাটফর্ম নয়, এবং ঠিক একটি মার্কেটিং অ্যানালিটিক্স টুল নয় — এটি একটি আচরণগত বিশ্লেষণ পণ্য যা একটি ডিজিটাল পণ্যের সাথে ব্যবহারকারীর প্রতিটি ইন্টারঅ্যাকশন ক্যাপচার করতে, সেই ইভেন্টগুলিকে সেশন এবং ব্যবহারকারীর যাত্রায় সেলাই করতে এবং ফলাফলটি পরীক্ষা-নিরীক্ষা, ব্যক্তিগতকরণ এবং রাজস্ব অ্যাট্রিবিউশনে ফিরিয়ে দিতে ডিজাইন করা হয়েছে। এই সমৃদ্ধতাই পণ্যটিকে মূল্যবান করে তোলে। এটিই আবার সম্মতিকে একটি টিম কর্তৃক স্থাপনার সময় নেওয়া সবচেয়ে গুরুত্বপূর্ণ ইন্টিগ্রেশন সিদ্ধান্ত করে তোলে। সঠিকভাবে করলে Amplitude আপনাকে বছরের পর বছর প্রতিরক্ষাযোগ্য পণ্য অন্তর্দৃষ্টি দেবে। ভুল করলে একই SDK নিয়ন্ত্রকের প্রয়োগ তালিকায় সবচেয়ে দৃশ্যমান আইটেমগুলির মধ্যে একটি হয়ে উঠবে, কারণ সম্মতির আগে ফায়ার করে এমন আচরণগত বিশ্লেষণ SDK-গুলি ঠিক সেই প্যাটার্ন যা EDPB কুকি ব্যানার টাস্ক ফোর্স, CNIL এবং ICO গত তিন বছর ধরে লক্ষ্য করে আসছে।
কেন Amplitude সম্মতি প্রয়োজন
ডিফল্ট Amplitude Browser SDK এবং Amplitude মোবাইল SDK-গুলি শুধু পেজভিউ রেকর্ড করার চেয়ে অনেক বেশি করে। ইনিশিয়ালাইজেশনে তারা ফার্স্ট-পার্টি স্টোরেজে একটি ডিভাইস আইডেন্টিফায়ার সেট করে, একটি সেশন আইডেন্টিফায়ার তৈরি করে, রেফারার ক্যাপচার করে, URL থেকে UTM এবং ক্লিক আইডেন্টিফায়ার পার্স করে এবং স্বয়ংক্রিয়ভাবে ক্যাপচার করা ইভেন্টগুলি কিউ করা শুরু করে: পেজ ভিউ, এলিমেন্ট ক্লিক, ফর্ম ইন্টারঅ্যাকশন, ফাইল ডাউনলোড এবং — সর্বশেষ রিলিজে — সেশন রিপ্লে। তারা সেই ইভেন্টগুলিকে IP-প্রাপ্ত জিওলোকেশন, ইউজার-এজেন্ট-প্রাপ্ত ডিভাইস ডেটা এবং কনফিগার করা হলে ডেটা পার্টনারদের কাছ থেকে থার্ড-পার্টি এনরিচমেন্ট দিয়ে সমৃদ্ধ করবে।
এই প্রতিটি পদক্ষেপ একটি পৃথক সম্মতি আইনি ভিত্তি যুক্ত করে। একটি ডিভাইস আইডেন্টিফায়ার সংরক্ষণ করা ePrivacy Directive-এর আর্টিকেল 5(3) অনুযায়ী একটি স্টোরেজ-এবং-অ্যাক্সেস অপারেশন, যা ইউরোপিয়ান ইকোনমিক এরিয়া, যুক্তরাজ্য এবং একই মান আমদানি করা যেকোনো এখতিয়ারে পূর্ববর্তী, মুক্তভাবে দেওয়া, নির্দিষ্ট, অবহিত এবং অস্পষ্টহীন সম্মতি প্রয়োজন। সেই আইডেন্টিফায়ারের সাথে আবদ্ধ আচরণগত ইভেন্ট ক্যাপচার করা GDPR-এর অধীনে ব্যক্তিগত ডেটা প্রক্রিয়াকরণ। থার্ড-পার্টি ডেটা দিয়ে সমৃদ্ধ করা একটি দ্বিতীয় নিয়ন্ত্রক সম্পর্ক প্রবর্তন করে। CCPA এবং CPRA একই প্রক্রিয়াকরণকে বিক্রয় বা শেয়ার হিসাবে শ্রেণীবদ্ধ করে যদি না প্রকাশকের Amplitude-এর সাথে সঠিকভাবে স্কোপ করা সার্ভিস-প্রভাইডার চুক্তি থাকে — যা পাওয়া যায়, কিন্তু শুধুমাত্র যদি ইন্টিগ্রেশন বিজ্ঞাপন বৈশিষ্ট্যগুলি নিষ্ক্রিয় করতে কনফিগার করা হয়।
সম্মতির আগে Amplitude কী সংগ্রহ করে — এবং আপনাকে কী দমন করতে হবে
সবচেয়ে সাধারণ বাস্তবায়ন ভুল হল Amplitude-কে একটি হালকা অ্যানালিটিক্স টুল হিসাবে বিবেচনা করা যা কুকি ব্যানারের পাশাপাশি চলতে পারে। এটি পারে না। একটি ডিফল্ট amplitude.init() কলে SDK পেজের প্রথম পেইন্টের মধ্যে অন্তত একটি কুকি বা লোকাল স্টোরেজ এন্ট্রি লিখবে, একটি আইডেন্টিফাই কল পাঠাবে এবং ইভেন্ট বাফারিং শুরু করবে। একজন ব্যবহারকারী প্রাসঙ্গিক সম্মতি বিভাগ ইতিবাচকভাবে গ্রহণ করার আগে এর কোনোটিই অনুমোদিত নয়।
একটি সম্মতিশীল ইন্টিগ্রেশন তাই CMP সংকেত না দেওয়া পর্যন্ত amplitude.init() বিলম্বিত করতে হবে যে অ্যানালিটিক্স সম্মতি বিভাগ মঞ্জুর করা হয়েছে। CMP যে ফ্রেমওয়ার্ক প্রকাশ করে তার উপর নির্ভর করে CMP-এর পারপোস 8 (অ্যানালিটিক্স) বা পারপোস 1 (স্টোরেজ এবং অ্যাক্সেস) সিগন্যালের উপর নির্ভরশীল একটি সম্মতি-গেটেড <script> ট্যাগ থেকে SDK মোটেও লোড করা উচিত নয়। যদি SDK আগে লোড করতে হয় — উদাহরণস্বরূপ কারণ এটি অ্যাপ্লিকেশন কোডে বান্ডল করা হয়েছে এবং অলসভাবে ফেচ করা যায় না — ইনিশিয়ালাইজেশন কলটি defaultTracking: false এবং optOut: true পাস করা উচিত যাতে সম্মতি রেকর্ড না হওয়া পর্যন্ত কোনো ইভেন্ট নির্গত না হয়, এবং তারপর একটি বিলম্বিত অপ্ট-ইন ইভেন্ট সেই ফ্ল্যাগগুলি উল্টে দেওয়া উচিত।
Amplitude যে কুকি এবং স্টোরেজ লেখে
Browser SDK 2.x ডিফল্টরূপে AMP_{apiKey} নামে একটি একক ফার্স্ট-পার্টি কুকি লেখে, এক বছরের মেয়াদ সহ, ডিভাইস আইডেন্টিফায়ার এবং সেশন মেটাডেটা ধারণ করে। পুরানো সংস্করণগুলি amplitude_id_{apiKey}ও লিখত। মোবাইল SDK-গুলি অ্যাপ্লিকেশনের স্যান্ডবক্সড স্টোরেজের ভেতরে একই আইডেন্টিফায়ার সংরক্ষণ করে। সেশন রিপ্লে একটি দ্বিতীয় কুকি যোগ করে, AMP_MKTG_{apiKey}, এবং Amplitude-এর এনরিচমেন্ট পার্টনাররা যদি এক্সপেরিমেন্ট-টার্গেটিং বা অডিয়েন্স মডিউল সক্ষম থাকে তাহলে অতিরিক্ত থার্ড-পার্টি কুকি সেট করতে পারে। এগুলো সব অ-প্রয়োজনীয় এবং সম্মতি প্রয়োজন।
Amplitude-কে সম্মতি ফ্রেমওয়ার্কে ম্যাপিং করা
Amplitude নেটিভভাবে Google Consent Mode v2, IAB TCF বা IAB Global Privacy Platform বাস্তবায়ন করে না। এটি একটি ত্রুটি নয় — Amplitude একটি ফার্স্ট-পার্টি অ্যানালিটিক্স প্ল্যাটফর্ম, একটি অ্যাড-টেক ভেন্ডর নয় — কিন্তু এর মানে হল ইন্টিগ্রেশনের দায়িত্ব প্রকাশকের উপর বর্তায়। যে প্যাটার্নটি ব্যবহারিকভাবে কাজ করে তা হল প্রতিটি Amplitude মডিউলকে একটি পৃথক সম্মতি গেট হিসাবে বিবেচনা করা এবং এটিকে CMP ইতিমধ্যে প্রকাশ করা একটি নির্দিষ্ট সিগন্যালে বাঁধা।
- মূল অ্যানালিটিক্স ইভেন্টগুলি অ্যানালিটিক্স পারপোসে বাঁধা। TCF পরিভাষায় এটি প্রায়শই পারপোস 8 (বিষয়বস্তুর কার্যক্ষমতা পরিমাপ করা) পারপোস 1 (তথ্য সংরক্ষণ এবং/বা অ্যাক্সেস) এর সাথে মিলিত। Google Consent Mode-এর জন্য এটি analytics_storage-এ ম্যাপ করে।
- সেশন রিপ্লে একটি কঠোর সিগ্নালের পেছনে থাকা উচিত। রিপ্লে রেন্ডার করা DOM ক্যাপচার করে, স্পষ্টভাবে মাস্ক না করলে ফর্ম ভ্যালু সহ, তাই একটি পৃথক preferences বা functional অপ্ট-ইন উপযুক্ত, এবং অ্যানালিটিক্স মঞ্জুর করা হলেও রিপ্লে ডিফল্টরূপে বন্ধ থাকা উচিত।
- অডিয়েন্স, কোহোর্ট এবং থার্ড-পার্টি এনরিচমেন্ট মার্কেটিং পারপোসে বাঁধা। TCF পরিভাষায় এটি পারপোস 7 (বিজ্ঞাপনের কার্যক্ষমতা পরিমাপ করা) বা পারপোস 9 (বাজার গবেষণা প্রয়োগ করা)। Google Consent Mode-এর জন্য এটি ad_storage এবং ad_user_data-এ ম্যাপ করে।
- এক্সপেরিমেন্টেশন — Amplitude Experiment বৈধ স্বার্থের ভিত্তিতে বেনামী, অস্থায়ী বরাদ্দের সাথে চলতে পারে, কিন্তু ব্যবহারকারীর আইডেন্টিফায়ারের সাথে আবদ্ধ স্থায়ী বরাদ্দের জন্য মূল অ্যানালিটিক্সের মতোই সম্মতি প্রয়োজন।
যে ইন্টিগ্রেশন প্যাটার্নটি কাজ করে
যে রেফারেন্স ইমপ্লিমেন্টেশনটি নিয়ন্ত্রকের পর্যালোচনা টিকে থাকে তার চারটি চলমান অংশ রয়েছে: একটি CMP যা ব্যবহারকারী সম্মতি পরিবর্তন করলে রিয়েল-টাইম ইভেন্ট প্রকাশ করে, একটি বিলম্বিত SDK লোডার যা শুধুমাত্র প্রাসঙ্গিক বিভাগের জন্য সেই ইভেন্ট ফায়ার হওয়ার পরে Amplitude ফেচ করে, একটি সেশন-লেভেল গার্ড যা আইন অনুমোদন করলে ব্যবহারকারীর পূর্ববর্তী বেনামী ডিভাইস আইডেন্টিফায়ার না হারিয়ে অপ্ট-আউটকে সম্মান করে, এবং সেই ইভেন্টগুলির জন্য একটি সার্ভার-সাইড ব্রিজ যার সম্মতি নির্বিশেষে সংগ্রহ প্রয়োজন — যেমন সিকিউরিটি টেলিমেট্রি বা জালিয়াতি সনাক্তকরণ — নিজস্ব আইনি ভিত্তিসহ একটি পৃথক এন্ডপয়েন্টের মাধ্যমে রুট করা হয়েছে।
ওয়েব ইমপ্লিমেন্টেশন
ওয়েবে সবচেয়ে পরিষ্কার প্যাটার্ন হল window.__cmp_consent অবজেক্ট বা স্ট্যান্ডার্ড __tcfapi কলব্যাকের মাধ্যমে CMP-এর সম্মতি অবস্থা প্রকাশ করা, তারপর একটি ছোট বুটস্ট্র্যাপ স্ক্রিপ্ট সম্মতি পরিবর্তনে সাবস্ক্রাইব করা। যখন অ্যানালিটিক্স সম্মতি false থেকে true-তে ফ্লিপ হয়, বুটস্ট্র্যাপ CMP-পরিচালিত CDN থেকে Amplitude SDK ফেচ করে, amplitude.init(apiKey, undefined, { defaultTracking: true }) কল করে এবং সম্মতি মুলতুবি থাকাকালীন মেমরিতে কিউ করা ইভেন্টগুলি রিপ্লে করে। যখন সম্মতি আবার false-এ ফ্লিপ হয়, বুটস্ট্র্যাপ amplitude.setOptOut(true) কল করে, document.cookie এক্সপায়ারির মাধ্যমে AMP_ কুকি পরিষ্কার করে এবং যেকোনো ইন-মেমরি স্টেট সরিয়ে দেয়। গুরুত্বপূর্ণভাবে, বুটস্ট্র্যাপ কখনও ব্যানার রেন্ডারের মতো একই রিকোয়েস্ট ফ্লোতে Amplitude-কে অলসভাবে ইনিশিয়ালাইজ করা উচিত নয় — SDK-কে একটি স্পষ্ট অনুমোদনের জন্য অপেক্ষা করতে হবে।
মোবাইল ইমপ্লিমেন্টেশন
iOS-এ সমতুল্য হল Amplitude framework ইম্পোর্টেড রাখা কিন্তু ইন-অ্যাপ সম্মতি ফ্লো একটি ইতিবাচক অ্যানালিটিক্স সিগ্নাল ফেরত না দেওয়া পর্যন্ত Amplitude.instance().initialize(apiKey: apiKey) বিলম্বিত করা। ATT প্রম্পট একটি পৃথক বিষয়: ATT IDFA পরিচালনা করে, যেখানে Amplitude-এর আইডেন্টিফায়ার হল SDK-এর নিজস্ব UUID অ্যাপ স্যান্ডবক্সে সংরক্ষিত। উভয়ের জন্য EEA-তে সম্মতি প্রয়োজন, কিন্তু আইনি ভিত্তি এবং প্রম্পটগুলি আলাদা। Android-এ SDK সংস্করণ অনুযায়ী Amplitude.getInstance().initializeApolloClient() বা সমতুল্য দিয়ে একই যুক্তি প্রযোজ্য।
সার্ভার-সাইড মোড
Amplitude HTTP V2 API-এর মাধ্যমে সার্ভার-সাইড ইনজেশন সমর্থন করে। সার্ভার-সাইড ইভেন্টগুলি সম্মতি থেকে ছাড় পায় না — আইনি ভিত্তি পরিবহন নয়, ডেটা অনুসরণ করে — কিন্তু সার্ভার-সাইড ইনজেশন প্রকাশককে কোন ক্ষেত্রগুলি পাঠানো হয়েছে তার উপর সম্পূর্ণ নিয়ন্ত্রণ দেয়, যা আংশিক সম্মতি সম্মান করা সহজ করে তোলে। একটি সাধারণ প্যাটার্ন হল বৈধ স্বার্থের অধীনে সার্ভার-সাইডে একটি ন্যূনতম প্রয়োজনীয়-মাত্র ইভেন্ট সেট ক্যাপচার করা এবং ক্লায়েন্টে ব্যবহারকারী অ্যানালিটিক্স সম্মতি মঞ্জুর করার পরেই সেই ইভেন্টগুলি আচরণগত বিশদ দিয়ে সমৃদ্ধ করা।
ইন্টিগ্রেশন যাচাই করা
যাচাইকরণ পদক্ষেপটি হল যেটি প্রকাশকরা প্রায়শই এড়িয়ে যায় এবং নিয়ন্ত্রকরা প্রায়শই পরীক্ষা করেন। একটি সঠিকভাবে ইন্টিগ্রেটেড Amplitude ডিপ্লয়মেন্ট চারটি চেক পাস করা উচিত। প্রথমত, সম্মতি ব্যানার দেখানো কিন্তু কোনো পছন্দ না করা ব্রাউজার api.amplitude.com বা api.eu.amplitude.com-এ শূন্য রিকোয়েস্ট এবং document.cookie-তে শূন্য AMP_ কুকি উৎপন্ন করা উচিত। দ্বিতীয়ত, অ্যানালিটিক্স বিভাগ প্রত্যাখ্যান করলে সেই অবস্থা বজায় রাখা উচিত — কোনো ইভেন্ট নেই, কোনো কুকি নেই, AMP_ প্রিফিক্স সহ কোনো লোকাল স্টোরেজ এন্ট্রি নেই। তৃতীয়ত, অ্যানালিটিক্স গ্রহণ করলে একটি একক identify উৎপন্ন হওয়া উচিত তারপরে ইভেন্ট ট্র্যাফিক, এবং AMP_ কুকি প্রকাশকের CMP নীতির সাথে সামঞ্জস্যপূর্ণ SameSite অ্যাট্রিবিউট সহ উপস্থিত হওয়া উচিত। চতুর্থত, পরবর্তীতে সম্মতি প্রত্যাহার করলে অবিলম্বে আরও ইভেন্ট বন্ধ এবং সংরক্ষিত আইডেন্টিফায়ার পরিষ্কার করা উচিত — বিলম্বিত ক্লিনআপ একটি ফাইন্ডিং।
অডিট ট্রেইল আলাদাভাবে গুরুত্বপূর্ণ। EDPB-এর 2023 কুকি ব্যানার নির্দেশিকা এবং নবায়িত 2026 টাস্ক ফোর্স অগ্রাধিকার অনুযায়ী, নিয়ন্ত্রকরা প্রকাশককে Amplitude প্রজেক্টের যেকোনো ইভেন্টের জন্য প্রমাণ করতে সক্ষম হওয়ার আশা করেন যে ইভেন্ট তৈরিকারী ব্যবহারকারী ক্যাপচারের মুহূর্তে বৈধ সম্মতি দিয়েছিলেন। এর জন্য CMP-এর সম্মতি লগ ডিভাইস আইডেন্টিফায়ার বা সেশন আইডেন্টিফায়ার দ্বারা কোয়েরিযোগ্য হওয়া এবং Amplitude ইভেন্ট পেলোড একটি সম্মতি-সংস্করণ ক্ষেত্র বহন করা প্রয়োজন যা সেই লগে ফিরে সংযুক্ত হয়। প্রতিটি ইভেন্টে কাস্টম ইউজার প্রপার্টি হিসাবে সম্মতি স্ট্রিং সংরক্ষণ করা সেই লিঙ্কটি অডিটযোগ্য করার সহজতম উপায়।
সঠিক অঞ্চল এবং ডেটা রেসিডেন্সি বেছে নেওয়া
Amplitude দুটি প্রোডাকশন অঞ্চলে পরিচালনা করে: US (api.amplitude.com) এবং EU (api.eu.amplitude.com)। EEA এবং UK ট্র্যাফিকের জন্য EU অঞ্চল হল সঠিক ডিফল্ট — এটি EEA-এর মধ্যে ডেটা রাখে এবং ট্রান্সফার-রিস্ক পৃষ্ঠ কমায় যা Schrems II সিদ্ধান্ত এবং EU-US Data Privacy Framework যেকোনো অ্যানালিটিক্স পর্যালোচনার কেন্দ্রীয় করে তুলেছে। অঞ্চল পরিবর্তন করা পূর্ববর্তীভাবে কার্যকর নয়: বিদ্যমান ডেটা যেখানে প্রথম ইনজেস্ট করা হয়েছিল সেখানেই থাকে। CMP রোলআউট পরিকল্পনাকারী প্রকাশকদের জন্য তাই স্কেলিং করার আগে অঞ্চল নিশ্চিত করা এবং গোপনীয়তা নোটিশে পছন্দটি ডকুমেন্ট করা সার্থক যাতে আইনি ভিত্তি শৃঙ্খল সংগ্রহ থেকে স্টোরেজ পর্যন্ত পরিষ্কার থাকে। একটি সঠিকভাবে বেছে নেওয়া অঞ্চল, সঠিকভাবে গেটেড SDK এবং কোয়েরিযোগ্য সম্মতি লগের সাথে মিলিত, হল যা Amplitude ডিপ্লয়মেন্টকে একটি নিয়ন্ত্রক ঝুঁকি থেকে অ্যানালিটিক্স স্ট্যাকের একটি প্রতিরক্ষাযোগ্য অংশে পরিণত করে।