Google পত্রকগুলিতে Google Analytics ডেটাতে স্বয়ংক্রিয় অ্যাক্সেস

নিক মিহাইলোভস্কি, গুগল অ্যানালিটিক্স এপিআই টিম - আগস্ট 2012

এই টিউটোরিয়ালটি বর্ণনা করে যে কীভাবে অ্যাপস স্ক্রিপ্ট ব্যবহার করে Google পত্রকের ভিতরে ম্যানেজমেন্ট এবং কোর রিপোর্টিং এপিআই অ্যাক্সেস করতে হয়।


ভূমিকা

আপনি Google পত্রক থেকে আপনার Google Analytics ডেটা অ্যাক্সেস করতে Google Analytics API এবং Google Apps Script ব্যবহার করতে পারেন। এটি শক্তিশালী কারণ এটি আপনাকে আপনার বিশ্লেষণ ডেটা সহ Google পত্রকের সমস্ত দুর্দান্ত বৈশিষ্ট্যগুলি ব্যবহার করতে দেয়, যেমন সহজ ভাগ করে নেওয়া, সহযোগিতা, চার্টিং এবং ভিজ্যুয়ালাইজেশন টুল৷

এই টিউটোরিয়ালটি আপনাকে Google Apps স্ক্রিপ্ট ব্যবহার করে Google Sheets-এ আপনার Google Analytics ডেটা অ্যাক্সেস করার জন্য প্রয়োজনীয় কোডের মাধ্যমে নিয়ে যাবে।

ওভারভিউ

এই টিউটোরিয়ালটি আপনাকে দেখাবে কিভাবে নিবন্ধন করবেন এবং Google Analytics API ব্যবহার করার জন্য অ্যাপস স্ক্রিপ্ট পরিবেশ কনফিগার করবেন। একবার কনফিগার হয়ে গেলে, টিউটোরিয়ালটি আপনাকে পরিচালনা করবে কিভাবে ম্যানেজমেন্ট API ব্যবহার করে অনুমোদিত ব্যবহারকারীর জন্য একটি ভিউ (প্রোফাইল) আইডি পুনরুদ্ধার করা যায়। তারপর Google থেকে শীর্ষ 250 মোবাইল সার্চ কীওয়ার্ড পুনরুদ্ধার করতে কোর রিপোর্টিং API-কে জিজ্ঞাসা করতে ভিউ (প্রোফাইল) আইডি কীভাবে ব্যবহার করবেন। অবশেষে ফলাফল একটি Google স্প্রেডশীটে ঢোকানো হবে। একবার আপনার কাছে ডেটা হয়ে গেলে, টিউটোরিয়ালটি কীভাবে স্বয়ংক্রিয়ভাবে ডেটা পুনরুদ্ধার করতে হয় তাও আলোচনা করে।

আপনি যখন Google Analytics API এবং Apps Script ব্যবহার করে একটি অ্যাপ্লিকেশন তৈরি করেন, তখন আপনি সাধারণত নিম্নলিখিত ধাপগুলি অতিক্রম করবেন:

  • Google পত্রকগুলিতে Google Analytics API সক্ষম করুন৷
  • Google Analytics API-এর সাথে কাজ করুন

আসুন বিস্তারিতভাবে প্রতিটি ধাপে যান।

Apps স্ক্রিপ্টে Google Analytics API সক্ষম করুন

Google পত্রকের মধ্যে থেকে আপনার Google Analytics ডেটাতে অ্যাক্সেস সক্ষম করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. একটি Google পত্রক ফাইল তৈরি করুন। এটি একটি শান্ত নাম দিন.
  2. একটি নতুন Apps স্ক্রিপ্ট তৈরি করুন৷
    1. মেনুতে, Extensions > Apps Script- এ যান।
    2. যদি একটি মেনু পপ আপ হয়, শুধু Blank Project এ ক্লিক করুন।
    3. প্রকল্পের একটি নাম দিন। এটি একটি শান্ত নাম আছে নিশ্চিত করুন.

একবার আপনার কাছে একটি নতুন স্ক্রিপ্ট হয়ে গেলে, আপনাকে Google Analytics পরিষেবা সক্ষম করতে হবে।

  1. স্ক্রিপ্ট এডিটরে, সম্পদ > উন্নত Google পরিষেবা নির্বাচন করুন...
  2. প্রদর্শিত ডায়ালগে, Google Analytics API-এর পাশে চালু/বন্ধ সুইচটিতে ক্লিক করুন।
  3. ডায়ালগের নীচে, Google Developers Console- এর লিঙ্কে ক্লিক করুন।
  4. নতুন কনসোলে, আবার Google Analytics API-এর পাশে চালু/বন্ধ সুইচটিতে ক্লিক করুন। (একবার সক্ষম হলে, এটি পৃষ্ঠার শীর্ষে চলে যাবে।)
  5. স্ক্রিপ্ট সম্পাদকে ফিরে যান এবং ডায়ালগে ঠিক আছে ক্লিক করুন।

একটি ছোট হলুদ ডায়ালগ বক্স পপআপ হওয়া উচিত যা বলে যে আপনি সফলভাবে আপনার স্ক্রিপ্টে একটি নতুন Google APIs পরিষেবা যোগ করেছেন৷ এখন আপনি আপনার প্রথম স্ক্রিপ্ট লেখা শুরু করতে প্রস্তুত।

Google Analytics API এর সাথে কাজ করুন

এই টিউটোরিয়ালের এই স্ক্রিপ্টটি শীর্ষ 250টি Google মোবাইল অনুসন্ধান কীওয়ার্ডের জন্য Google Analytics API-কে জিজ্ঞাসা করবে, তারপর Google Sheets-এ ফলাফলগুলি আউটপুট করবে৷ এটি সম্পন্ন করার জন্য, স্ক্রিপ্টটি নিম্নলিখিত ধাপগুলি অতিক্রম করবে:

  • অনুমোদিত ব্যবহারকারীর প্রথম দর্শন (প্রোফাইল) পুনরুদ্ধার করুন।
  • ডেটার জন্য কোর রিপোর্টিং API-কে জিজ্ঞাসা করুন।
  • একটি স্প্রেডশীটে তথ্য সন্নিবেশ করান।

ফাঁকা প্রকল্পে নিম্নলিখিত ফাংশন যোগ করুন।

function runDemo() {
  try {

    var firstProfile = getFirstProfile();
    var results = getReportDataForProfile(firstProfile);
    outputToSpreadsheet(results);

  } catch(error) {
    Browser.msgBox(error.message);
  }
}

উপরের কোডে, একটি try...catch ব্লক যেকোন API ত্রুটি পরিচালনা করতে ব্যবহৃত হয়। কোনো ত্রুটি দেখা দিলে, প্রোগ্রাম এক্সিকিউশন বন্ধ হয়ে যাবে এবং ত্রুটিটি একটি বার্তা বাক্সে প্রদর্শিত হবে। try ব্লকে, স্ক্রিপ্টটি যে সকল ধাপের মধ্য দিয়ে যাবে তার প্রতিটি সঞ্চালনের জন্য একটি ফাংশন ব্যবহার করা হয়। এখন এই প্রতিটি ফাংশনের জন্য কোড যোগ করা যাক।

অনুমোদিত ব্যবহারকারীর প্রথম দৃশ্য (প্রোফাইল) পুনরুদ্ধার করুন

Google Analytics-এ, প্রতিটি প্রতিবেদন একটি ভিউ (প্রোফাইল) এর অন্তর্গত এবং একটি ভিউ (প্রোফাইল) আইডি দ্বারা চিহ্নিত করা হয়। তাই যখন আপনি রিপোর্ট ডেটার জন্য একটি ক্যোয়ারী নির্দিষ্ট করেন, আপনাকে অবশ্যই যে ভিউ (প্রোফাইল) থেকে আপনি ডেটা পুনরুদ্ধার করতে চান তার ভিউ (প্রোফাইল) আইডিও উল্লেখ করতে হবে।

গুগল অ্যানালিটিক্স ম্যানেজমেন্ট এপিআই সমস্ত অ্যাকাউন্ট, ওয়েব প্রোপার্টি, এবং ভিউ (প্রোফাইল) সত্তার অ্যাক্সেস প্রদান করে যা একজন ব্যবহারকারীর। এই সত্তাগুলির প্রতিটি একটি অনুক্রমের অন্তর্গত, এবং আপনি অনুমোদিত ব্যবহারকারীর জন্য একটি ভিউ (প্রোফাইল) আইডি পুনরুদ্ধার করতে প্রোগ্রাম্যাটিকভাবে এই অনুক্রমটি অতিক্রম করতে পারেন৷

আমরা যে দ্বিতীয় ফাংশনটি লিখব তা ম্যানেজমেন্ট API হায়ারার্কিকে অতিক্রম করবে এবং ব্যবহারকারীর প্রথম দৃশ্য (প্রোফাইল) ফিরিয়ে দেবে। আপনার Apps স্ক্রিপ্ট প্রকল্পে নিম্নলিখিত কোড অনুলিপি এবং পেস্ট করুন:

function getFirstProfile() {
  var accounts = Analytics.Management.Accounts.list();
  if (accounts.getItems()) {
    var firstAccountId = accounts.getItems()[0].getId();

    var webProperties = Analytics.Management.Webproperties.list(firstAccountId);
    if (webProperties.getItems()) {

      var firstWebPropertyId = webProperties.getItems()[0].getId();
      var profiles = Analytics.Management.Profiles.list(firstAccountId, firstWebPropertyId);

      if (profiles.getItems()) {
        var firstProfile = profiles.getItems()[0];
        return firstProfile;

      } else {
        throw new Error('No views (profiles) found.');
      }
    } else {
      throw new Error('No webproperties found.');
    }
  } else {
    throw new Error('No accounts found.');
  }
}

এই ফাংশনে, Analytics.Management.Accounts.list পদ্ধতি ব্যবহার করে প্রথমে অ্যাকাউন্ট সংগ্রহ করা হয়। অনুমোদিত ব্যবহারকারীর Google Analytics অ্যাকাউন্ট থাকলে, প্রথম অ্যাকাউন্টের আইডি পুনরুদ্ধার করা হয়। এরপরে, Analytics.Management.Webproperties.list পদ্ধতিতে কল করে এবং আগের ধাপে অ্যাকাউন্ট আইডি পুনরুদ্ধার করা পদ্ধতিটি পাস করে ওয়েব প্রপার্টি সংগ্রহের জন্য জিজ্ঞাসা করা হয়। যদি ওয়েব বৈশিষ্ট্য বিদ্যমান থাকে, তাহলে পরিশেষে Analytics.Management.Profiles.list পদ্ধতি ব্যবহার করে ভিউ (প্রোফাইল) সংগ্রহ করা হয়। অ্যাকাউন্ট আইডি এবং একটি ওয়েব সম্পত্তি আইডি উভয়ই এই পদ্ধতিতে পরামিতি হিসাবে পাস করা হয়। ভিউ (প্রোফাইল) বিদ্যমান থাকলে, প্রথম ভিউ (প্রোফাইল) ফেরত দেওয়া হয়।

যদি কোনো সময়ে একটি API ত্রুটি ঘটে, বা API প্রতিক্রিয়াতে কোনো ফলাফল না থাকলে, কোনো ফলাফল পাওয়া যায়নি বলে বর্ণনা করে একটি বার্তা দিয়ে একটি ত্রুটি ছুড়ে দেওয়া হয়। উপরের runDemo ফাংশনের catch ব্লকটি এই ত্রুটিটি ধরবে এবং ব্যবহারকারীকে বার্তাটি প্রিন্ট করবে।

স্ক্রিপ্ট ফিরে আসার পরে, এটি এখন রিপোর্টিং ডেটার জন্য অনুসন্ধান করতে পারে।

ডেটার জন্য কোর রিপোর্টিং API-কে জিজ্ঞাসা করুন।

একবার আপনার একটি ভিউ (প্রোফাইল) আইডি হয়ে গেলে, আপনি গুগল অ্যানালিটিক্স রিপোর্ট ডেটার জন্য কোয়েরি করার জন্য কোর রিপোর্টিং API ব্যবহার করেন। এই বিভাগে আপনি Apps Script ব্যবহার করে এই API-কে কীভাবে জিজ্ঞাসা করবেন তা শিখবেন।

আপনার Apps স্ক্রিপ্ট প্রকল্পে নিম্নলিখিত কোড যোগ করুন:

function getReportDataForProfile(firstProfile) {

  var profileId = firstProfile.getId();
  var tableId = 'ga:' + profileId;
  var startDate = getLastNdays(14);   // 2 weeks (a fortnight) ago.
  var endDate = getLastNdays(0);      // Today.

  var optArgs = {
    'dimensions': 'ga:keyword',              // Comma separated list of dimensions.
    'sort': '-ga:sessions,ga:keyword',       // Sort by sessions descending, then keyword.
    'segment': 'dynamic::ga:isMobile==Yes',  // Process only mobile traffic.
    'filters': 'ga:source==google',          // Display only google traffic.
    'start-index': '1',
    'max-results': '250'                     // Display the first 250 results.
  };

  // Make a request to the API.
  var results = Analytics.Data.Ga.get(
      tableId,                    // Table id (format ga:xxxxxx).
      startDate,                  // Start-date (format yyyy-MM-dd).
      endDate,                    // End-date (format yyyy-MM-dd).
      'ga:sessions,ga:pageviews', // Comma seperated list of metrics.
      optArgs);

  if (results.getRows()) {
    return results;

  } else {
    throw new Error('No views (profiles) found');
  }
}

function getLastNdays(nDaysAgo) {
  var today = new Date();
  var before = new Date();
  before.setDate(today.getDate() - nDaysAgo);
  return Utilities.formatDate(before, 'GMT', 'yyyy-MM-dd');
}

কোডের প্রথম অংশ Analytics.Data.Ga.get পদ্ধতি ব্যবহার করে একটি কোর রিপোর্টিং API ক্যোয়ারী তৈরি করে। পদ্ধতিটি একগুচ্ছ পরামিতি গ্রহণ করে যা পুনরুদ্ধারের জন্য রিপোর্টের ধরন নির্দিষ্ট করে। প্রতিটি কোর রিপোর্টিং API ক্যোয়ারী প্রয়োজনীয় এবং ঐচ্ছিক পরামিতিগুলির একটি সেট নিয়ে গঠিত। প্রয়োজনীয় পরামিতিগুলি প্যারামিটার হিসাবে পদ্ধতিতে পাস করা হয় যখন ঐচ্ছিক পরামিতিগুলি একটি বস্তু হিসাবে পাস করা হয়।

table ID প্যারামিটার প্রয়োজন এবং উপসর্গ ga: ভিউ (প্রোফাইল) আইডিতে সংযুক্ত করে গঠিত হয়। কোডটি পূর্ববর্তী ধাপে পুনরুদ্ধার করা ভিউ (প্রোফাইল) আইডি ব্যবহার করে টেবিল আইডি তৈরি করে। শুরু এবং শেষের তারিখও প্রয়োজন এবং পুনরুদ্ধার করার জন্য ডেটার তারিখ পরিসীমা নির্দিষ্ট করুন। উভয়ই getLastNdays ফাংশন ব্যবহার করে আজকের তারিখের উপর ভিত্তি করে গণনা করা হয়। অবশেষে সমস্ত ঐচ্ছিক পরামিতি optArgs অবজেক্ট ব্যবহার করে ফাংশনে পাস করা হয়।

Analytics.Data.Ga.get পদ্ধতি চালু হলে, Core Reporting API-কে একটি অনুরোধ করা হয়। যদি কোনো ত্রুটি দেখা দেয়, তাহলে তা ধরা পড়ে try...catch বাইরের runDemo পদ্ধতিতে সংজ্ঞায়িত ক্যাচ ব্লক। যদি অনুরোধ সফল হয়, ফলাফল ফেরত দেওয়া হয়.

একটি স্প্রেডশীটে ডেটা সন্নিবেশ করান

আমাদের স্ক্রিপ্টের চূড়ান্ত ধাপ হল কোর রিপোর্টিং API থেকে Google পত্রকগুলিতে ফলাফলগুলি আউটপুট করা৷ outputToSpreadsheet পদ্ধতি এই কাজ করে। আপনার প্রকল্পে নিম্নলিখিত কোড যোগ করুন:

function outputToSpreadsheet(results) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet();

  // Print the headers.
  var headerNames = [];
  for (var i = 0, header; header = results.getColumnHeaders()[i]; ++i) {
    headerNames.push(header.getName());
  }
  sheet.getRange(1, 1, 1, headerNames.length)
      .setValues([headerNames]);

  // Print the rows of data.
  sheet.getRange(2, 1, results.getRows().length, headerNames.length)
      .setValues(results.getRows());
}

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

স্ক্রিপ্ট চালান

একবার আপনি প্রকল্পে সমস্ত কোড যোগ করলে, আপনি এখন এটি চালাতে পারেন।

  • স্ক্রিপ্ট এডিটর টুলবারে, সিলেক্ট ফাংশন ড্রপডাউনে, সিলেক্ট করুন, runDemo
  • এরপরে, play বোতামে ক্লিক করুন।

আপনি যখন প্রথমবার এটি চালাবেন, একটি পপ-আপ বক্স প্রদর্শিত হবে যার জন্য আপনাকে আপনার Google Analytics অ্যাকাউন্ট ডেটা অ্যাক্সেস করার জন্য এই স্ক্রিপ্টটিকে অনুমোদন করতে হবে৷

অনুমোদন ক্লিক করুন.

একবার ক্লিক করলে, google.com-এ হোস্ট করা একটি নতুন পৃষ্ঠা খুলবে এবং আপনাকে এই স্ক্রিপ্টটি আপনার ডেটাতে অ্যাক্সেস দেওয়ার জন্য অনুরোধ করবে। একবার আপনি অনুমতিতে ক্লিক করলে, আপনাকে একটি নিশ্চিতকরণ পৃষ্ঠায় পুনঃনির্দেশিত করা হবে। এই মুহুর্তে আপনি স্ক্রিপ্টটি এখন আপনার Google Analytics ডেটা অ্যাক্সেস করতে সক্ষম হবেন এবং এটি চালানো চালিয়ে যেতে পারে।

স্ক্রিপ্ট চালানোর পরে, Google পত্রক সহ উইন্ডোতে ক্লিক করুন। আপনি API থেকে প্রত্যাবর্তিত সমস্ত কীওয়ার্ড ডেটা বা একটি ত্রুটি বার্তা সহ একটি বার্তা বাক্স দেখতে পাবেন।

স্ক্রিপ্ট স্বয়ংক্রিয়

এই মুহুর্তে আপনার একটি স্ক্রিপ্ট থাকা উচিত যা Google Analytics API-কে জিজ্ঞাসা করে। আপনি এখন প্রতি রাতে নতুন ডেটা পুনরুদ্ধার করতে এই স্ক্রিপ্টটি স্বয়ংক্রিয় করতে চাইতে পারেন। অ্যাপস স্ক্রিপ্ট triggers বৈশিষ্ট্য ব্যবহার করে অটোমেশনকে খুব সহজ করে তোলে।

এই স্ক্রিপ্টটি স্বয়ংক্রিয় করতে নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করুন:

  • স্ক্রিপ্ট এডিটর টুলবারে, Resources -> All your triggers...
  • Add a new trigger ক্লিক করুন। ট্রিগার ডায়ালগ বক্স প্রদর্শিত হবে।
  • প্রতি রাতে runDemo পদ্ধতি চালানোর জন্য ট্রিগার কনফিগার করুন
    • Run ড্রপডাউন সেট করা উচিত: runDemo
    • Events ড্রপডাউনটি এতে সেট করা উচিত: Time-driven , Day timer এবং Midnight to 1am

একবার কনফিগার করা হলে এই স্ক্রিপ্টটি প্রতিদিন রাতে চলবে, সকালে আপনাকে নতুন ডেটা দেবে।

রাতে কোনো ত্রুটি ঘটলে, আপনাকে অবহিত করতে চাইবে। কোনো ব্যর্থতা ঘটলে অ্যাপস স্ক্রিপ্ট আপনাকে একটি ইমেল সতর্কতা পাঠানোর অনুমতি দেয়। এটি কনফিগার করতে, ট্রিগার ডায়ালগ বক্সে, notifications লিঙ্কে ক্লিক করুন। একটি নতুন ডায়ালগ বক্স পপ-আপ হবে এবং আপনি কোন ইমেলে ত্রুটি পাঠাতে চান তা কনফিগার করার অনুমতি দেবে।

উপসংহার

আপনি সফলভাবে আপনার স্ক্রিপ্টে নিবন্ধিত এবং অনুমোদিত অ্যাক্সেস করেছেন৷ আপনি একটি ভিউ (প্রোফাইল) আইডি পুনরুদ্ধার করতে ম্যানেজমেন্ট এপিআইকে একাধিকবার জিজ্ঞাসা করেছেন৷ তারপরে আপনি ডেটা পুনরুদ্ধার করতে এবং এটিকে Google পত্রকগুলিতে আউটপুট করতে কোর রিপোর্টিং API-কে জিজ্ঞাসা করতে ভিউ (প্রোফাইল) আইডি ব্যবহার করেছেন৷

টিউটোরিয়ালে বর্ণিত কৌশলগুলি ব্যবহার করে আপনি আরও জটিল বিশ্লেষণ করতে, আরও বেশি অন্তর্দৃষ্টি অর্জন করতে, কাস্টম ড্যাশবোর্ড তৈরি করতে এবং ম্যানুয়াল রিপোর্ট চালানোর অনেক সময় কমাতে পারবেন।

গুগল অ্যানালিটিক্স এপিআই এবং গুগল অ্যাপস স্ক্রিপ্ট থেকে আরও বেশি কিছু পেতে আপনাকে সাহায্য করার জন্য আরও কয়েকটি দুর্দান্ত টিউটোরিয়াল হল: