এই নিবন্ধটি এমন ডেভেলপারদের জন্য যারা Google ট্যাগ ম্যানেজার (GTM) ব্যবহার করে এমন ওয়েবসাইটগুলিতে সম্মতি ব্যবস্থাপনা সমাধান বজায় রাখে।
এই পৃষ্ঠাটি Google Tag Manager-এ সম্মতির ধরনগুলি পরিচয় করিয়ে দেয় এবং আপনাকে দেখায় যে কীভাবে সেগুলিকে আপনার সম্মতি ব্যবস্থাপনা সমাধানের সাথে একীভূত করতে হয়।
কেন সম্মতির জন্য একটি ট্যাগ টেমপ্লেট ব্যবহার করবেন?
আপনি যখন একটি ট্যাগ টেমপ্লেট প্রদান করেন, তখন আপনার ব্যবহারকারীরা আপনার সম্মতি সমাধানকে কোডহীন উপায়ে একীভূত করতে পারে, উল্লেখযোগ্য সময় এবং শ্রম সাশ্রয় করে।
ব্যবহারকারীরা একটি সম্মতি মোড টেমপ্লেট ব্যবহার করে ডিফল্ট সম্মতি স্থিতি সেট করতে পারে এবং Google ট্যাগ ম্যানেজারের কাছে ভিজিটর সম্মতির পছন্দগুলি জানাতে পারে৷ এটি Google এবং তৃতীয় পক্ষের ট্যাগগুলির সর্বোত্তম কার্যকারিতা নিশ্চিত করে যা সম্মতি মোড সমর্থন করে।
একজন টেমপ্লেট নির্মাতা হিসেবে, আপনি অভ্যন্তরীণ ব্যবহারের জন্য সম্মতি মোড টেমপ্লেট প্রয়োগ করতে পারেন বা সেগুলিকে সর্বজনীনভাবে উপলব্ধ করার জন্য কমিউনিটি টেমপ্লেট গ্যালারিতে প্রকাশ করতে পারেন। কনসেন্ট ম্যানেজমেন্ট প্ল্যাটফর্ম (CMP) প্রদানকারী যারা সম্মতি মোড টেমপ্লেট অফার করে তাদের আমাদের সম্মতি মোড ডকুমেন্টেশনে তালিকাভুক্ত হওয়ার সুযোগ রয়েছে এবং তাদের টেমপ্লেট গ্যালারি পিকার বৈশিষ্ট্য রয়েছে।
সম্মতি রাষ্ট্র এবং সম্মতির প্রকার
Google এবং তৃতীয় পক্ষের ট্যাগগুলি granted বা denied সম্মতি অবস্থার উপর ভিত্তি করে তাদের সঞ্চয়স্থানের আচরণকে সামঞ্জস্য করে। তারা নিম্নলিখিত সম্মতির প্রকারগুলির মধ্যে যেকোনো একটির জন্য অন্তর্নির্মিত সম্মতি পরীক্ষা করতে পারে:
| সম্মতির ধরন | বর্ণনা |
|---|---|
ad_storage | সঞ্চয়স্থান সক্ষম করে, যেমন কুকিজ, বিজ্ঞাপন সম্পর্কিত। |
ad_user_data | অনলাইন বিজ্ঞাপনের উদ্দেশ্যে Google-এ ব্যবহারকারীর ডেটা পাঠানোর জন্য সম্মতি সেট করে। |
ad_personalization | ব্যক্তিগতকৃত বিজ্ঞাপনের জন্য সম্মতি সেট করে। |
analytics_storage | সঞ্চয়স্থান সক্ষম করে, যেমন কুকি, বিশ্লেষণ সম্পর্কিত (উদাহরণস্বরূপ, দেখার সময়কাল)। |
functionality_storage | স্টোরেজ সক্ষম করে যা ওয়েবসাইট বা অ্যাপের কার্যকারিতা যেমন ভাষা সেটিংস সমর্থন করে। |
personalization_storage | ব্যক্তিগতকরণের সাথে সম্পর্কিত স্টোরেজ সক্ষম করে যেমন ভিডিও সুপারিশ। |
security_storage | নিরাপত্তা সম্পর্কিত স্টোরেজ সক্ষম করে যেমন প্রমাণীকরণ কার্যকারিতা, জালিয়াতি প্রতিরোধ, এবং অন্যান্য ব্যবহারকারী সুরক্ষা |
একটি নতুন সম্মতি টেমপ্লেট তৈরি করুন
সম্মতি মোড ভিজিটরের সম্মতি পছন্দের উপর নজর রাখে এবং ট্যাগ সম্মতি পরীক্ষা নিশ্চিত করে যে ট্যাগ আচরণ সেই অনুযায়ী সামঞ্জস্য করে। একটি নতুন সম্মতি টেমপ্লেট তৈরি করার সময়, সেরা অনুশীলনগুলি অনুসরণ করুন:
gtag consentপরিবর্তে ট্যাগ ম্যানেজার সম্মতি মোড APIs সেটDefaultConsentState এবং updateConsentState ব্যবহার করুন।কনসেন্ট ইনিশিয়ালাইজেশন - সমস্ত পৃষ্ঠা ট্রিগার ব্যবহার করে ফায়ার করার সাথে সাথেই ডিফল্ট সম্মতি স্থিতি সেট করুন।
সিএমপিকে যত তাড়াতাড়ি সম্ভব সমস্ত প্রযোজ্য সম্মতির প্রকারের জন্য সম্মতি প্রদান বা অস্বীকার করার জন্য ভিজিটরকে অনুরোধ করতে হবে।
যখন একজন দর্শক তাদের সম্মতির পছন্দ নির্দেশ করে, তখন CMP-কে আপডেট করা সম্মতির অবস্থা পাস করতে হবে।
1. একটি নতুন টেমপ্লেট তৈরি করুন৷
এই বাস্তবায়ন পদ্ধতি ডিফল্ট সম্মতি অবস্থা ধরে রাখতে টেমপ্লেটের একটি ক্ষেত্র ব্যবহার করে। বাস্তবায়ন কোড রানটাইমে ডিফল্ট সম্মতি অবস্থা সেট করতে সেই ক্ষেত্রটি পড়ে। আপডেট কমান্ডের জন্য, আপনার কোড ভিজিটর সম্মতি পছন্দ সঞ্চয় করার জন্য সম্মতি সমাধান দ্বারা সেট করা একটি কুকি পড়ার চেষ্টা করে। আপনি
updateConsentStateজন্য একটি কলব্যাক সেট আপ করবেন যেখানে একজন দর্শক এখনও তাদের সম্মতি নির্বাচন করতে পারেনি বা তাদের সম্মতি পরিবর্তন করার সিদ্ধান্ত নিয়েছে।
একটি সম্মতি টেমপ্লেট তৈরি করতে:
- আপনার Google ট্যাগ ম্যানেজার অ্যাকাউন্টে লগ ইন করুন।
- বাম নেভিগেশনে, টেমপ্লেট নির্বাচন করুন।
- ট্যাগ টেমপ্লেট প্যানে, নতুন ক্লিক করুন।
ডিফল্ট সম্মতি স্টেট সেট করতে:
- ক্ষেত্র ট্যাবটি নির্বাচন করুন, ক্ষেত্র যোগ করুন > প্যারাম টেবিলে ক্লিক করুন।
- নামটি
defaultSettingsসেটিংসে পরিবর্তন করুন। - ক্ষেত্র প্রসারিত করুন।
-
Default settingsডিসপ্লে নাম আপডেট করুন। - কলাম যোগ করুন এ ক্লিক করুন, পাঠ্য ইনপুট নির্বাচন করুন,
regionনাম পরিবর্তন করুন এবং অনন্য কলামের মানগুলির জন্য প্রয়োজন বাক্সটি চেক করুন। - কলামটি প্রসারিত করুন, এবং প্রদর্শনের নামটি
Region (leave blank to have consent apply to all regions)। বন্ধনীর বিবৃতিটি আপনার টেমপ্লেট ব্যবহারকারীদের জন্য ডকুমেন্টেশন। বিভিন্ন অঞ্চলের জন্য সম্মতি ডিফল্ট সেট আপ সম্পর্কে আরও জানুন। - কলাম যোগ করুন ক্লিক করুন, পাঠ্য ইনপুট নির্বাচন করুন, নাম পরিবর্তন করে
grantedকরুন। - কলামটি প্রসারিত করুন এবং প্রদর্শনের নামটি
Granted Consent Types (comma separated)এ পরিবর্তন করুন। - কলাম যোগ করুন ক্লিক করুন, পাঠ্য ইনপুট নির্বাচন করুন, নাম পরিবর্তন করে
denied। - কলামটি প্রসারিত করুন এবং প্রদর্শনের নামটি
Denied Consent Types (comma separated)
ঐচ্ছিক: বিজ্ঞাপন ডেটা রিডাকশনের জন্য সমর্থন যোগ করতে:
- ক্ষেত্র যোগ করুন ক্লিক করুন, চেকবক্স নির্বাচন করুন এবং ক্ষেত্রের নাম পরিবর্তন করে
ads_data_redactionকরুন। -
Redact Ads Dataপ্রদর্শনের নাম আপডেট করুন
বিজ্ঞাপন ডেটা রিডেশন সহ কুকি আচরণ সম্পর্কে আরও জানুন
ঐচ্ছিক: URL প্যারামিটারের মধ্য দিয়ে যাওয়ার জন্য সমর্থন যোগ করতে:
- ক্ষেত্র যোগ করুন ক্লিক করুন, চেকবক্স নির্বাচন করুন এবং ক্ষেত্রের নাম পরিবর্তন করুন
url_passthrough. -
Pass through URL parametersকরতে প্রদর্শনের নাম আপডেট করুন
URL প্যারামিটারের মাধ্যমে পাস করার বিষয়ে আরও জানুন
বাস্তবায়ন কোড যোগ করতে:
- টেমপ্লেট এডিটরে কোড ট্যাবটি খুলুন।
- নীচের কোড নমুনায়, স্থানধারক ক্ষেত্রগুলি সম্পাদনা করুন৷
- কোডটি অনুলিপি করুন এবং এটির সাথে টেমপ্লেট সম্পাদকে বয়লারপ্লেট কোডটি প্রতিস্থাপন করুন।
- টেমপ্লেট সংরক্ষণ করুন .
// The first two lines are optional, use if you want to enable logging
const log = require('logToConsole');
log('data =', data);
const setDefaultConsentState = require('setDefaultConsentState');
const updateConsentState = require('updateConsentState');
const getCookieValues = require('getCookieValues');
const callInWindow = require('callInWindow');
const gtagSet = require('gtagSet');
const COOKIE_NAME = 'Your_cookie_name';
/*
* Splits the input string using comma as a delimiter, returning an array of
* strings
*/
const splitInput = (input) => {
return input.split(',')
.map(entry => entry.trim())
.filter(entry => entry.length !== 0);
};
/*
* Processes a row of input from the default settings table, returning an object
* which can be passed as an argument to setDefaultConsentState
*/
const parseCommandData = (settings) => {
const regions = splitInput(settings['region']);
const granted = splitInput(settings['granted']);
const denied = splitInput(settings['denied']);
const commandData = {};
if (regions.length > 0) {
commandData.region = regions;
}
granted.forEach(entry => {
commandData[entry] = 'granted';
});
denied.forEach(entry => {
commandData[entry] = 'denied';
});
return commandData;
};
/*
* Called when consent changes. Assumes that consent object contains keys which
* directly correspond to Google consent types.
*/
const onUserConsent = (consent) => {
const consentModeStates = {
ad_storage: consent['adConsentGranted'] ? 'granted' : 'denied',
ad_user_data: consent['adUserDataConsentGranted'] ? 'granted' : 'denied',
ad_personalization: consent['adPersonalizationConsentGranted'] ? 'granted' : 'denied',
analytics_storage: consent['analyticsConsentGranted'] ? 'granted' : 'denied',
functionality_storage: consent['functionalityConsentGranted'] ? 'granted' : 'denied',
personalization_storage: consent['personalizationConsentGranted'] ? 'granted' : 'denied',
security_storage: consent['securityConsentGranted'] ? 'granted' : 'denied',
};
updateConsentState(consentModeStates);
};
/*
* Executes the default command, sets the developer ID, and sets up the consent
* update callback
*/
const main = (data) => {
/*
* Optional settings using gtagSet
*/
gtagSet('ads_data_redaction', data.ads_data_redaction);
gtagSet('url_passthrough', data.url_passthrough);
gtagSet('developer_id.your_developer_id', true);
// Set default consent state(s)
data.defaultSettings.forEach(settings => {
const defaultData = parseCommandData(settings);
// wait_for_update (ms) allows for time to receive visitor choices from the CMP
defaultData.wait_for_update = 500;
setDefaultConsentState(defaultData);
});
// Check if cookie is set and has values that correspond to Google consent
// types. If it does, run onUserConsent().
const settings = getCookieValues(COOKIE_NAME);
if (typeof settings !== 'undefined') {
onUserConsent(settings);
}
/**
* Add event listener to trigger update when consent changes
*
* References an external method on the window object which accepts a
* function as an argument. If you do not have such a method, you will need
* to create one before continuing. This method should add the function
* that is passed as an argument as a callback for an event emitted when
* the user updates their consent. The callback should be called with an
* object containing fields that correspond to the five built-in Google
* consent types.
*/
callInWindow('addConsentListenerExample', onUserConsent);
};
main(data);
data.gtmOnSuccess();
এরপরে, সম্মতি স্থিতি এবং কুকি অ্যাক্সেস করার জন্য অনুমতিগুলি কনফিগার করুন৷
সম্মতি রাজ্য পরিচালনার জন্য অনুমতি যোগ করতে:
- অনুমতি ট্যাব নির্বাচন করুন এবং অ্যাক্সেস সম্মতি স্থিতিতে ক্লিক করুন।
- সম্মতির প্রকার যোগ করুন ক্লিক করুন।
- বক্সে ক্লিক করুন এবং ড্রপ-ডাউন মেনু থেকে
ad_storageনির্বাচন করুন। - লেখা চেক করুন।
- Add এ ক্লিক করুন
-
ad_user_data,ad_personalization, এবংanalytics_storageএর জন্য ধাপ 2-5 পুনরাবৃত্তি করুন। আপনার যদি অতিরিক্ত সম্মতির প্রকারের প্রয়োজন হয়, সেগুলি একইভাবে যোগ করুন। - Save এ ক্লিক করুন।
কুকিজ অ্যাক্সেস করার অনুমতি যোগ করতে:
- অনুমতি ট্যাবটি নির্বাচন করুন এবং কুকি মান (গুলি) পড়ুন ক্লিক করুন।
- নির্দিষ্ট এর অধীনে, ব্যবহারকারীর সম্মতি পছন্দ নির্ধারণ করতে আপনার কোডটি যে কুকিগুলি পড়তে হবে তার প্রতিটির নাম লিখুন, প্রতি লাইনে একটি নাম।
- Save এ ক্লিক করুন।
2. ইউনিট পরীক্ষা তৈরি করুন
আপনার টেমপ্লেটের জন্য পরীক্ষা তৈরির তথ্যের জন্য পরীক্ষা দেখুন।
3. সম্মতি সমাধানের সাথে টেমপ্লেটকে একীভূত করুন
এই টেমপ্লেটটি কীভাবে একজন শ্রোতাকে যোগ করে আপনার সম্মতি ব্যবস্থাপনা সমাধানের কোডের সাথে একত্রিত করা যেতে পারে তার একটি উদাহরণ নিম্নলিখিত কোডটি দেখায়:
// Array of callbacks to be executed when consent changes
const consentListeners = [];
/**
* Called from GTM template to set callback to be executed when user consent is provided.
* @param {function} Callback to execute on user consent
*/
window.addConsentListenerExample = (callback) => {
consentListeners.push(callback);
};
/**
* Called when user grants/denies consent.
* @param {Object} Object containing user consent settings.
*/
const onConsentChange = (consent) => {
consentListeners.forEach((callback) => {
callback(consent);
});
};
সম্মতির অবস্থা আপডেট করুন
একটি ওয়েবসাইট ভিজিটর তাদের সম্মতির পছন্দগুলি নির্দেশ করার পরে, সাধারণত একটি সম্মতি ব্যানারের সাথে ইন্টারঅ্যাক্ট করার মাধ্যমে, টেমপ্লেট কোডটি আপডেট কন্সেন্টস্টেট API এর সাথে সেই অনুযায়ী সম্মতির অবস্থা আপডেট করে।
নিম্নলিখিত উদাহরণটি একটি দর্শকের জন্য updateConsentState কলটি দেখায় যা নির্দেশ করে যে তারা সমস্ত স্টোরেজ প্রকারে সম্মতি দিচ্ছে। আবার, এই উদাহরণটি granted জন্য হার্ডকোডেড মান ব্যবহার করে, কিন্তু বাস্তবে, সিএমপি দ্বারা সংগ্রহ করা ভিজিটরের সম্মতি ব্যবহার করে রানটাইমে এগুলি নির্ধারণ করা উচিত।
const updateConsentState = require('updateConsentState');
updateConsentState({
'ad_storage': 'granted',
'ad_user_data': 'granted',
'ad_personalization': 'granted',
'analytics_storage': 'granted',
'functionality_storage': 'granted',
'personalization_storage': 'granted',
'security_storage': 'granted'
});
অঞ্চল-নির্দিষ্ট আচরণ সম্পর্কে
নির্দিষ্ট এলাকার দর্শকদের জন্য প্রযোজ্য ডিফল্ট কনসেন্ট স্টেট সেট করতে, টেমপ্লেটে একটি অঞ্চল ( ISO 3166-2 অনুযায়ী) উল্লেখ করুন। অঞ্চলের মানগুলি ব্যবহার করে টেমপ্লেট ব্যবহারকারীদের সেই অঞ্চলগুলির বাইরের দর্শকদের কাছ থেকে তথ্য না হারিয়ে আঞ্চলিক প্রবিধানগুলি মেনে চলতে সক্ষম করে৷ যখন একটি অঞ্চল একটি setDefaultConsentState কমান্ডে নির্দিষ্ট করা হয় না, তখন মানটি অন্যান্য সমস্ত অঞ্চলে প্রযোজ্য হয়।
উদাহরণ স্বরূপ, স্পেন এবং আলাস্কা granted denied দর্শকদের জন্য analytics_storage জন্য নিম্নোক্ত ডিফল্ট স্থিতি সেট করে এবং অন্য সকলের জন্য analytics_storage সেট করে:
const setDefaultConsentState = require('setDefaultConsentState');
setDefaultConsentState({
'analytics_storage': 'denied',
'region': ['ES', 'US-AK']
});
setDefaultConsentState({
'analytics_storage': 'granted'
});
সর্বাধিক নির্দিষ্ট অগ্রাধিকার লাগে
যদি দুটি ডিফল্ট সম্মতি কমান্ড একই পৃষ্ঠায় একটি অঞ্চল এবং উপ-অঞ্চলের মান সহ আসে, তবে আরও নির্দিষ্ট অঞ্চলের একটি কার্যকর হবে। উদাহরণ স্বরূপ, আপনি যদি US -CA অঞ্চলের জন্য ad_storage 'granted' সেট করে থাকেন এবং US-CA অঞ্চলের জন্য ad_storage 'denied' হিসেবে সেট করে থাকেন, তাহলে ক্যালিফোর্নিয়ার একজন দর্শকের জন্য আরও নির্দিষ্ট US-CA সেটিং কার্যকর হবে।
| অঞ্চল | ad_storage | আচরণ |
|---|---|---|
| মার্কিন | 'granted' | মার্কিন যুক্তরাষ্ট্রের ব্যবহারকারীদের জন্য প্রযোজ্য যারা CA-তে নেই |
| US-CA | 'denied' | US-CA ব্যবহারকারীদের জন্য প্রযোজ্য |
| অনির্দিষ্ট | 'granted' | 'granted' এর ডিফল্ট মান ব্যবহার করে। এই উদাহরণে, এটি এমন ব্যবহারকারীদের জন্য প্রযোজ্য যারা US বা US-CA-তে নেই |
অতিরিক্ত মেটাডেটা
আপনি নিম্নলিখিত ঐচ্ছিক পরামিতি সেট করতে gtagSet API ব্যবহার করতে পারেন:
এই APIগুলি শুধুমাত্র GTM টেমপ্লেট স্যান্ডবক্স পরিবেশের মধ্যে উপলব্ধ।
ইউআরএলগুলিতে বিজ্ঞাপন ক্লিক, ক্লায়েন্ট আইডি এবং সেশন আইডি তথ্যের মাধ্যমে পাস করুন
কোনো দর্শক যখন কোনো বিজ্ঞাপনে ক্লিক করার পর কোনো বিজ্ঞাপনদাতার ওয়েবসাইটে পৌঁছান, তখন বিজ্ঞাপনের তথ্য ল্যান্ডিং পৃষ্ঠার URL-এ একটি ক্যোয়ারী প্যারামিটার হিসেবে যুক্ত করা হতে পারে। রূপান্তর নির্ভুলতা উন্নত করতে, Google ট্যাগগুলি সাধারণত বিজ্ঞাপনদাতার ডোমেনে প্রথম পক্ষের কুকিগুলিতে এই তথ্য সংরক্ষণ করে৷
যাইহোক, যদি ad_storage denied হয়, Google ট্যাগ স্থানীয়ভাবে এই তথ্য সংরক্ষণ করবে না। এই ক্ষেত্রে বিজ্ঞাপনের ক্লিক পরিমাপের গুণমান উন্নত করতে, বিজ্ঞাপনদাতারা ঐচ্ছিকভাবে URL পাসথ্রু নামে একটি বৈশিষ্ট্য ব্যবহার করে পৃষ্ঠা জুড়ে URL প্যারামিটারের মাধ্যমে বিজ্ঞাপন ক্লিকের তথ্য পাঠাতে পারেন।
একইভাবে, যদি analytics_storage অস্বীকার করার জন্য সেট করা থাকে, তাহলে পৃষ্ঠা জুড়ে কুকি ছাড়াই ইভেন্ট এবং সেশন-ভিত্তিক বিশ্লেষণ (রূপান্তর সহ) পাঠাতে URL পাসথ্রু ব্যবহার করা যেতে পারে।
ইউআরএল পাসথ্রু ব্যবহার করতে নিম্নলিখিত শর্ত পূরণ করতে হবে:
- সম্মতি-সচেতন Google ট্যাগগুলি পৃষ্ঠায় উপস্থিত রয়েছে৷
- সাইটটি URL পাসথ্রু বৈশিষ্ট্য ব্যবহার করার জন্য নির্বাচন করেছে৷
- পৃষ্ঠায় সম্মতি মোড প্রয়োগ করা হয়েছে।
- বহির্গামী লিঙ্কটি বর্তমান পৃষ্ঠার ডোমেনের মতো একই ডোমেনকে নির্দেশ করে৷
- URL-এ একটি gclid/dclid উপস্থিত রয়েছে (শুধুমাত্র Google বিজ্ঞাপন এবং ফ্লাডলাইট ট্যাগ)
আপনার টেমপ্লেটটি টেমপ্লেট ব্যবহারকারীকে এই সেটিংটি সক্ষম করতে চায় কিনা তা কনফিগার করার অনুমতি দেওয়া উচিত৷ নিম্নোক্ত টেমপ্লেট কোডটি url_passthrough কে সত্যে সেট করতে ব্যবহৃত হয়:
gtagSet('url_passthrough', true);
বিজ্ঞাপন ডেটা রিডাক্ট করুন
যখন ad_storage অস্বীকার করা হয়, তখন বিজ্ঞাপনের উদ্দেশ্যে কোন নতুন কুকি সেট করা হয় না। উপরন্তু, google.com এবং doubleclick.net-এ পূর্বে সেট করা তৃতীয় পক্ষের কুকি ব্যবহার করা হবে না। Google-এ পাঠানো ডেটা এখনও URL প্যারামিটারে বিজ্ঞাপন ক্লিকের তথ্য সহ সম্পূর্ণ পৃষ্ঠার URL অন্তর্ভুক্ত করবে।
যখন ad_storage অস্বীকার করা হয় তখন আপনার বিজ্ঞাপনের ডেটা আরও রিড্যাক্ট করতে, ads_data_redaction সত্যে সেট করুন।
যখন ads_data_redaction সত্য হয় এবং ad_storage অস্বীকার করা হয়, তখন Google বিজ্ঞাপন এবং ফ্লাডলাইট ট্যাগ দ্বারা নেটওয়ার্ক অনুরোধে পাঠানো বিজ্ঞাপন ক্লিক শনাক্তকারীগুলি সংশোধন করা হবে।
gtagSet('ads_data_redaction', true);
বিকাশকারী আইডি
আপনি যদি Google-এর ইস্যু করা ডেভেলপার আইডি সহ একজন CMP বিক্রেতা হন, তাহলে আপনার টেমপ্লেটে যত তাড়াতাড়ি সম্ভব এটি সেট করতে নিম্নলিখিত পদ্ধতিটি ব্যবহার করুন।
আপনার শুধুমাত্র একটি ডেভেলপার আইডি প্রয়োজন যখন আপনার বাস্তবায়নটি একাধিক ওয়েবসাইট জুড়ে অসম্পর্কিত কোম্পানি বা সত্তা দ্বারা ব্যবহার করা হবে। যদি একটি সাইট বা এন্টিটি প্রয়োগ করে, তাহলে ডেভেলপার আইডির জন্য আবেদন করবেন না।
gtagSet('developer_id.<your_developer_id>', true);
আপনার ব্যবহারকারীদের জন্য ডকুমেন্টেশন প্রদান
আপনার ব্যবহারকারীরা ব্যবহারকারীর সম্মতি সংগ্রহ করে এমন একটি ট্যাগ সেট আপ করতে আপনার সম্মতি টেমপ্লেট ব্যবহার করবে। আপনার ব্যবহারকারীদের জন্য ডকুমেন্টেশন প্রদান করুন যা নিম্নলিখিত সেরা অনুশীলনগুলি ব্যাখ্যা করে:
- সেটিংস টেবিলে সম্মতি ডিফল্ট কীভাবে সেট করবেন।
- অতিরিক্ত সারণি সারি যোগ করে কীভাবে বিভিন্ন অঞ্চলের জন্য সম্মতি ডিফল্ট সেট আপ করবেন।
- কনসেন্ট ইনিশিয়ালাইজেশনে ট্যাগ ট্রিগার করুন - সমস্ত পেজ ট্রিগার।
পরবর্তী পদক্ষেপ
আপনি যদি সমস্ত ট্যাগ ম্যানেজার ব্যবহারকারীদের কাছে আপনার টেমপ্লেটটি প্রদান করতে চান, তা কমিউনিটি টেমপ্লেট গ্যালারিতে আপলোড করুন।