কুকিজ এবং ব্যবহারকারী সনাক্তকরণ

দুটি স্বতন্ত্র হিট একই ব্যবহারকারীর অন্তর্গত তা নির্ধারণ করার জন্য Google Analytics-এর জন্য, সেই নির্দিষ্ট ব্যবহারকারীর সাথে সংশ্লিষ্ট একটি অনন্য শনাক্তকারী, প্রতিটি হিটের সাথে অবশ্যই পাঠাতে হবে।

analytics.js লাইব্রেরি ক্লায়েন্ট আইডি ক্ষেত্রের মাধ্যমে এটি সম্পন্ন করে, একটি অনন্য, এলোমেলোভাবে জেনারেট করা স্ট্রিং যা ব্রাউজার কুকিতে সংরক্ষণ করা হয়, তাই একই সাইটে পরবর্তী ভিজিট একই ব্যবহারকারীর সাথে যুক্ত হতে পারে।

ডিফল্টরূপে, analytics.js ক্লায়েন্ট আইডি সংরক্ষণ করতে _ga নামের একটি একক, প্রথম পক্ষের কুকি ব্যবহার করে, তবে কুকির নাম, ডোমেন এবং মেয়াদ শেষ হওয়ার সময় সব কাস্টমাইজ করা যেতে পারে। analytics.js দ্বারা তৈরি অন্যান্য কুকিগুলির মধ্যে রয়েছে _gid , AMP_TOKEN এবং _gac_<property-id> । এই কুকিগুলি ব্যবহারকারী সম্পর্কে অন্যান্য এলোমেলোভাবে তৈরি আইডি এবং প্রচারাভিযানের তথ্য সংরক্ষণ করে।

কুকিজ ব্যবহার করা analytics.js-কে ব্রাউজিং সেশন জুড়ে অনন্য ব্যবহারকারীদের সনাক্ত করতে দেয়, কিন্তু এটি বিভিন্ন ব্রাউজার বা ডিভাইস জুড়ে অনন্য ব্যবহারকারীদের সনাক্ত করতে পারে না। যদি আপনার সাইটের নিজস্ব প্রমাণীকরণ সিস্টেম থাকে, তাহলে আপনি ব্যবহারকারী আইডি বৈশিষ্ট্যটি ব্যবহার করতে পারেন, ক্লায়েন্ট আইডি ছাড়াও, আপনার সাইটে অ্যাক্সেস করার জন্য তারা যে সমস্ত ডিভাইস ব্যবহার করে সেগুলি জুড়ে ব্যবহারকারীকে আরও সঠিকভাবে সনাক্ত করতে।

এই নির্দেশিকাটি ব্যাখ্যা করে যে কীভাবে কুকি সেটিংস কাস্টমাইজ করা যায় এবং সেইসাথে সেশন জুড়ে ব্যবহারকারীর কার্যকলাপকে আরও সঠিকভাবে পরিমাপ করার জন্য ব্যবহারকারী আইডি ক্ষেত্র কীভাবে সেট করা যায়।

নিম্নলিখিত টেবিলটি analytics.js দ্বারা ব্যবহৃত ডিফল্ট কুকি ফিল্ড মানগুলি দেখায়:

ক্ষেত্র নাম মান প্রকার ডিফল্ট মান
cookieName পাঠ্য _ga
cookieDomain পাঠ্য নিম্নলিখিত জাভাস্ক্রিপ্ট অভিব্যক্তির ফলাফল:
document.location.hostname
cookieExpires পূর্ণসংখ্যা 63072000 (দুই বছর, সেকেন্ডে)
cookieUpdate বুলিয়ান true
cookieFlags পাঠ্য

এই মানগুলির যেকোনও পরিবর্তন করতে, আপনি এগুলিকে নির্দিষ্ট করতে পারেন fieldObject আপনি create কমান্ডটি পাস করেন। উদাহরণ স্বরূপ:

ga('create', 'UA-XXXXX-Y', {
  'cookieName': 'gaCookie',
  'cookieDomain': 'blog.example.co.uk',
  'cookieExpires': 60 * 60 * 24 * 28  // Time in seconds.
  'cookieUpdate': 'false',
  'cookieFlags': 'SameSite=None; Secure',
});

সেট করার জন্য সবচেয়ে সাধারণ কুকি ক্ষেত্র হল cookieDomain , যেমন, create কমান্ড cookieDomain ক্ষেত্রটিকে সুবিধার জন্য একটি ঐচ্ছিক তৃতীয় প্যারামিটার হিসেবে গ্রহণ করে:

ga('create', 'UA-XXXXX-Y', 'blog.example.co.uk');

প্রস্তাবিত Google Analytics ট্যাগটি cookieDomain ক্ষেত্রের জন্য 'auto' স্ট্রিং সেট করে:

ga('create', 'UA-XXXXX-Y', 'auto');

cookieDomain হিসাবে 'auto' নির্দিষ্ট করা স্বয়ংক্রিয় কুকি ডোমেন কনফিগারেশন সক্ষম করে, যা analytics.js কে স্বয়ংক্রিয়ভাবে ব্যবহার করার জন্য সেরা কুকি ডোমেন নির্ধারণ করতে বলে।

স্বয়ংক্রিয় কুকি ডোমেন কনফিগারেশন _ga কুকিকে সর্বোচ্চ স্তরের ডোমেনে সেট করে। উদাহরণস্বরূপ, যদি আপনার ওয়েবসাইটের ঠিকানা হয় blog.example.co.uk , analytics.js কুকি ডোমেনটিকে .example.co.uk এ সেট করবে। উপরন্তু, যদি analytics.js সনাক্ত করে যে আপনি স্থানীয়ভাবে একটি সার্ভার চালাচ্ছেন (যেমন localhost ) এটি স্বয়ংক্রিয়ভাবে cookieDomain কে 'none' তে সেট করে।

যতবারই Google Analytics-এ একটি হিট পাঠানো হয়, কুকির মেয়াদ শেষ হওয়ার সময় বর্তমান সময় এবং cookieExpires ফিল্ডের মান হিসাবে আপডেট করা হয়। এর মানে হল যে আপনি যদি ডিফল্ট cookieExpires ব্যবহার করেন দুই বছরের মেয়াদ শেষ হয়, এবং একজন ব্যবহারকারী প্রতি মাসে আপনার সাইটে যান, তাদের কুকি কখনই মেয়াদ শেষ হবে না।

আপনি যদি cookieExpires মেয়াদ শেষ হওয়ার সময় 0 (শূন্য) সেকেন্ডে সেট করেন, তাহলে কুকিটি একটি সেশন ভিত্তিক কুকিতে পরিণত হয় এবং বর্তমান ব্রাউজার সেশন শেষ হওয়ার পরে মেয়াদ শেষ হয়ে যায়:

যখন cookieUpdate true সেট করা হয় (ডিফল্ট মান), analytics.js প্রতিটি পৃষ্ঠা লোডে কুকি আপডেট করবে। এটি সাইটের সাম্প্রতিক পরিদর্শনের সাথে সম্পর্কিত কুকির মেয়াদ শেষ হওয়ার আপডেট করবে। উদাহরণস্বরূপ, যদি কুকির মেয়াদ এক সপ্তাহে সেট করা হয়, এবং একজন ব্যবহারকারী একই ব্রাউজার ব্যবহার করে প্রতি পাঁচ দিনে ভিজিট করেন, কুকির মেয়াদ প্রতিটি ভিজিটে আপডেট করা হবে এবং তাই কার্যকরভাবে কখনই মেয়াদ শেষ হবে না।

false সেট করা হলে, প্রতিটি পৃষ্ঠা লোডে কুকি আপডেট করা হয় না। এটি কুকির মেয়াদ শেষ হওয়ার প্রভাবটি একটি ব্যবহারকারীর প্রথমবার সাইট পরিদর্শন করার সাথে সম্পর্কিত।

সেট করা হলে কুকিতে অতিরিক্ত পতাকা যুক্ত করে। পতাকা সেমিকোলন দ্বারা পৃথক করা আবশ্যক।

আপনার কুকি analytics.js সেটগুলি সরাসরি অ্যাক্সেস করা উচিত নয়, কারণ ভবিষ্যতে কুকির বিন্যাস পরিবর্তন হতে পারে৷ পরিবর্তে, ডেভেলপারদের analytics.js লোড না হওয়া পর্যন্ত অপেক্ষা করার জন্য readyCallback ব্যবহার করা উচিত এবং তারপর ট্র্যাকারে সংরক্ষিত clientId মান পাওয়া উচিত।

ga(function(tracker) {
  var clientId = tracker.get('clientId');
});

কুকিজ নিষ্ক্রিয় করা হচ্ছে

কিছু ক্ষেত্রে আপনি কুকিজ ব্যবহার না করেই সেশন জুড়ে ক্লায়েন্ট আইডি বজায় রাখতে আপনার নিজস্ব স্টোরেজ প্রক্রিয়া (যেমন localStorage বা পরিষেবা কর্মী ) ব্যবহার করতে চাইতে পারেন। আপনি analytics.js কে কুকি সেট করা থেকে অক্ষম করতে পারেন storage ফিল্ডকে 'none' এ সেট করে।

ga('create', 'UA-XXXXX-Y', {
  'storage': 'none'
});

আপনি যদি নিজে clientId ক্ষেত্রটি সংরক্ষণ করেন, আপনি ট্র্যাকার তৈরি করার সময় আপনাকে cliendId ক্ষেত্রটি সেট করা নিশ্চিত করতে হবে।

ga('create', 'UA-XXXXX-Y', {
  'storage': 'none',
  'clientId': '76c24efd-ec42-492a-92df-c62cfd4540a3'
});

_gac_<property-id> কুকিজ নিষ্ক্রিয় করতে, create কমান্ডে storeGac ক্ষেত্রটিকে false সেট করুন:

ga('create', 'UA-XXXXX-Y', {
  storeGac: false,
});

ক্লায়েন্ট আইডি সংরক্ষণ করতে স্থানীয় স্টোরেজ ব্যবহার করে

নিম্নলিখিত কোড নমুনা দেখায় কিভাবে আপনি কুকির পরিবর্তে ক্লায়েন্ট আইডি সংরক্ষণ করতে localStorage ব্যবহার করতে জাভাস্ক্রিপ্ট ট্যাগ পরিবর্তন করতে পারেন:

var GA_LOCAL_STORAGE_KEY = 'ga:clientId';

if (window.localStorage) {
  ga('create', 'UA-XXXXX-Y', {
    'storage': 'none',
    'clientId': localStorage.getItem(GA_LOCAL_STORAGE_KEY)
  });
  ga(function(tracker) {
    localStorage.setItem(GA_LOCAL_STORAGE_KEY, tracker.get('clientId'));
  });
}
else {
  ga('create', 'UA-XXXXX-Y', 'auto');
}

ga('send', 'pageview');

ব্যবহারকারী আইডি

ব্যবহারকারী আইডি ব্যবহারকারীর প্রতিনিধিত্বকারী একটি অনন্য, স্থায়ী, এবং অ-ব্যক্তিগতভাবে সনাক্তযোগ্য আইডি স্ট্রিং ব্যবহার করে ডিভাইস জুড়ে সেশনের গ্রুপগুলির বিশ্লেষণ সক্ষম করে। কেন আপনার ইউজার আইডি প্রয়োগ করা উচিত তা জানতে, ইউজার আইডি বৈশিষ্ট্য ব্যবহার করার সুবিধাগুলি দেখুন।

analytics.js এর সাথে User ID প্রয়োগ করতে:

  1. প্রতিটি সাইন-ইন করা ব্যবহারকারীর প্রতিনিধিত্ব করতে আপনার নিজস্ব অনন্য, স্থায়ী, এবং অ-ব্যক্তিগতভাবে শনাক্তযোগ্য স্ট্রিং আইডি প্রদান করুন। এই আইডিটি প্রায়শই একটি প্রমাণীকরণ সিস্টেম দ্বারা সরবরাহ করা হয়।
  2. ট্র্যাকারে ইউজার আইডি সেট করুন:
ga('create', 'UA-XXXXX-Y', 'auto', {
  userId: USER_ID
});
ga('send', 'pageview');

পেজলোডের পর প্রমাণীকরণ পরিচালনা করা

প্রাথমিক পৃষ্ঠা লোড হওয়ার পরে ব্যবহারকারী সাইন-ইন পরিচালনা করে এমন একক পৃষ্ঠা অ্যাপ্লিকেশন বা অন্যান্য গতিশীল ওয়েবসাইট তৈরি করার সময়, ট্র্যাকারে ব্যবহারকারী আইডি মান সেট করার প্রক্রিয়া তৈরির সময় ঘটতে পারে না।

এই ধরনের ক্ষেত্রে, আপনি ট্র্যাকারে এটি জানার সাথে সাথে মান সেট করতে set কমান্ড ব্যবহার করতে পারেন।

// Creates the tracker and sends a pageview as normal
// since the `userId` value is not yet known.
ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');

// At a later time, once the `userId` value is known,
// sets the value on the tracker.
ga('set', 'userId', USER_ID);

// Setting the userId doesn't send data to Google Analytics.
// You must also use a pageview or event to send the data.
ga('send', 'event', 'authentication', 'user-id available');

এই পদ্ধতি ব্যবহার করার সময়, userId ফিল্ড সেট করার আগে পাঠানো হিটগুলিতে ব্যবহারকারী আইডি মান থাকবে না। যাইহোক, সেশন ইউনিফিকেশন নামে পরিচিত একটি প্রক্রিয়ার মাধ্যমে, Google Analytics প্রক্রিয়াকরণের সময় সঠিক ব্যবহারকারীর সাথে এই হিটগুলিকে সংযুক্ত করতে সক্ষম।