analytics.js কিভাবে কাজ করে

analytics.js দিয়ে পরিমাপ করার জন্য আপনার প্রায় সবকিছুই ga() কমান্ড কিউ ব্যবহার করে করা যেতে পারে। এই নির্দেশিকাটি ব্যাখ্যা করে যে কমান্ড সারি কী, এটি কীভাবে কাজ করে এবং ব্যবহারকারীর মিথস্ক্রিয়া পরিমাপ করার জন্য কীভাবে কমান্ডগুলি চালাতে হয়।

ga কমান্ড সারি

Google Analytics ট্যাগ একটি গ্লোবাল ga ফাংশনকে সংজ্ঞায়িত করে যা "কমান্ড কিউ" নামে পরিচিত। এটিকে কমান্ড কিউ বলা হয় কারণ এটি অবিলম্বে প্রাপ্ত কমান্ডগুলি কার্যকর করার পরিবর্তে, এটি তাদের একটি সারিতে যুক্ত করে যা analytics.js লাইব্রেরি সম্পূর্ণরূপে লোড না হওয়া পর্যন্ত কার্যকর করতে বিলম্ব করে।

জাভাস্ক্রিপ্টে, ফাংশনগুলিও অবজেক্ট, যার মানে তারা বৈশিষ্ট্য ধারণ করতে পারে। Google Analytics ট্যাগ একটি খালি অ্যারে হিসাবে ga ফাংশন বস্তুর একটি q বৈশিষ্ট্য সংজ্ঞায়িত করে। analytics.js লাইব্রেরি লোড হওয়ার আগে, ga() ফাংশন কল করলে q অ্যারের শেষে ga() ফাংশনে পাস করা আর্গুমেন্টের তালিকা যুক্ত হয়।

উদাহরণস্বরূপ, যদি আপনি Google Analytics ট্যাগ চালাতেন এবং তারপরে অবিলম্বে ga.q এর বিষয়বস্তুগুলি কনসোলে লগ করেন, আপনি একটি অ্যারে দেখতে পাবেন, দৈর্ঘ্যের দুটি আইটেম, যেখানে ইতিমধ্যেই ga() এ পাস করা আর্গুমেন্টের দুটি সেট রয়েছে) ga() ফাংশন:

console.log(ga.q);

// Outputs the following:
// [
//   ['create', 'UA-XXXXX-Y', 'auto'],
//   ['send', 'pageview']
// ]

analytics.js লাইব্রেরি লোড হয়ে গেলে, এটি ga.q অ্যারের বিষয়বস্তু পরিদর্শন করে এবং প্রতিটি কমান্ডকে ক্রমানুসারে চালায়। এর পরে, ga() ফাংশন পুনরায় সংজ্ঞায়িত করা হয়, তাই পরবর্তী সমস্ত কল অবিলম্বে কার্যকর হয়।

এই প্যাটার্নটি ডেভেলপারদের analytics.js লাইব্রেরি লোড করা শেষ হয়েছে কিনা তা নিয়ে চিন্তা না করেই ga() কমান্ড সারি ব্যবহার করতে দেয়। এটি একটি সহজ, সিঙ্ক্রোনাস-সুদর্শন ইন্টারফেস সরবরাহ করে যা অ্যাসিঙ্ক্রোনাস কোডের বেশিরভাগ জটিলতাকে বিমূর্ত করে।

সারিতে কমান্ড যোগ করা হচ্ছে

ga() কমান্ড সারিতে সমস্ত কল একটি সাধারণ স্বাক্ষর শেয়ার করে। প্রথম প্যারামিটার, "কমান্ড", একটি স্ট্রিং যা একটি নির্দিষ্ট analytics.js পদ্ধতিকে চিহ্নিত করে। যেকোনো অতিরিক্ত পরামিতি হল সেই পদ্ধতিতে পাস করা আর্গুমেন্ট।

একটি নির্দিষ্ট কমান্ড যে পদ্ধতিটি নির্দেশ করে তা একটি বিশ্বব্যাপী পদ্ধতি হতে পারে, যেমন create , ga অবজেক্টের একটি পদ্ধতি, অথবা এটি একটি ট্র্যাকার অবজেক্টের একটি উদাহরণ পদ্ধতি হতে পারে, যেমন send । যদি ga() কমান্ড সারি এমন একটি কমান্ড পায় যা এটি সনাক্ত করে না, এটি কেবল এটিকে উপেক্ষা করে, ga() ফাংশনে কলগুলিকে খুব নিরাপদ করে তোলে, কারণ তারা প্রায় কখনই কোনও ত্রুটির কারণ হবে না।

কমান্ড কিউ এর মাধ্যমে কার্যকর করা যেতে পারে এমন সমস্ত কমান্ডের একটি বিস্তৃত তালিকার জন্য, ga() কমান্ড সারি রেফারেন্স দেখুন।

কমান্ড পরামিতি

বেশিরভাগ analytics.js কমান্ড (এবং তাদের সংশ্লিষ্ট পদ্ধতি) বিভিন্ন ফরম্যাটে পরামিতি গ্রহণ করে। সাধারণভাবে ব্যবহৃত ক্ষেত্রগুলিকে নির্দিষ্ট পদ্ধতিতে পাস করা সহজ করার জন্য এটি একটি সুবিধা হিসাবে করা হয়।

উদাহরণ হিসেবে, Google Analytics ট্যাগের দুটি কমান্ড বিবেচনা করুন:

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

প্রথম কমান্ডে, create ক্ষেত্রগুলিকে গ্রহন করে trackingId , cookieDomain , এবং name যথাক্রমে দ্বিতীয়, তৃতীয় এবং চতুর্থ পরামিতি হিসাবে নির্দিষ্ট করতে। send কমান্ড একটি ঐচ্ছিক hitType দ্বিতীয় প্যারামিটার গ্রহণ করে।

সমস্ত কমান্ড একটি চূড়ান্ত fieldsObject পরামিতি গ্রহণ করে যা যেকোনো ক্ষেত্র নির্দিষ্ট করতেও ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, ট্যাগের উপরের দুটি কমান্ড এইভাবে পুনরায় লেখা যেতে পারে:

ga('create', {
  trackingId: 'UA-XXXXX-Y',
  cookieDomain: 'auto'
});
ga('send', {
  hitType: 'pageview'
});

প্রতিটি কমান্ডের জন্য অনুমোদিত ঐচ্ছিক পরামিতিগুলির একটি বিস্তৃত তালিকার জন্য ga() কমান্ড সারি রেফারেন্স দেখুন।

পরবর্তী পদক্ষেপ

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