সামাজিক মিথস্ক্রিয়া - ওয়েব ট্র্যাকিং (ga.js)

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

ভূমিকা

ডিফল্টরূপে, Google Analytics +1 বোতামের জন্য সমন্বিত প্রতিবেদন প্রদান করে। এর মানে হল আপনি যদি একই পৃষ্ঠায় ga.js এবং একটি +1 বোতাম প্রয়োগ করে থাকেন, তাহলে সমস্ত +1 সামাজিক মিথস্ক্রিয়া স্বয়ংক্রিয়ভাবে রিপোর্ট করা হবে। সমস্যা সমাধানের টিপস সহ +1 অ্যানালিটিক্স সম্পর্কে আরও তথ্যের জন্য, সহায়তা কেন্দ্রে সামাজিক বিশ্লেষণ সম্পর্কে দেখুন৷

সামাজিক মিথস্ক্রিয়া বিশ্লেষণ এবং Facebook বা Twitter এর মত অন্যান্য নেটওয়ার্কের জন্য রিপোর্টিং পেতে, আপনাকে প্রতিটি নেটওয়ার্ক বোতামের সাথে Google Analytics সংহত করতে হবে। সোশ্যাল প্লাগ-ইন অ্যানালিটিক্সের সাথে, রেকর্ড করা মিথস্ক্রিয়া Facebook "লাইক" থেকে টুইটার "টুইট" পর্যন্ত। যদিও ইভেন্ট ট্র্যাকিং সাধারণ বিষয়বস্তুর মিথস্ক্রিয়াগুলিও ট্র্যাক করতে পারে, সামাজিক বিশ্লেষণ সামাজিক মিথস্ক্রিয়া রেকর্ড করার জন্য একটি সামঞ্জস্যপূর্ণ কাঠামো প্রদান করে। এটি পরিবর্তে একাধিক নেটওয়ার্ক জুড়ে সামাজিক নেটওয়ার্ক মিথস্ক্রিয়া তুলনা করার জন্য প্রতিবেদনের একটি ধারাবাহিক সেটের সাথে Google Analytics রিপোর্ট ব্যবহারকারীদের প্রদান করে।

Facebook এবং Twitter বোতামের সাথে অ্যানালিটিক্সকে কিভাবে একীভূত করতে হয় তার একটি কার্যকরী উদাহরণ দেখতে সামাজিক বিশ্লেষণের নমুনা কোডটি দেখুন।

সামাজিক বিশ্লেষণ সেট আপ করা

সামাজিক মিথস্ক্রিয়াগুলির জন্য ট্র্যাকিং সেট আপ করতে, আপনাকে _trackSocial পদ্ধতি ব্যবহার করতে হবে, যা Google Analytics-এ সামাজিক মিথস্ক্রিয়া ডেটা পাঠায়। ব্যবহারকারী একটি সামাজিক মিথস্ক্রিয়া সম্পন্ন করার পরে পদ্ধতিটি কল করা উচিত। সামাজিক মিথস্ক্রিয়া কখন ঘটবে তা নির্ধারণ করতে প্রতিটি সামাজিক নেটওয়ার্ক একটি ভিন্ন প্রক্রিয়া ব্যবহার করে এবং এটি সাধারণত সেই নেটওয়ার্ক বোতামের জন্য API এর সাথে একীভূত করা প্রয়োজন।

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

এখানে _trackSocial পদ্ধতির একটি বিবরণ রয়েছে:

_gaq.push(['_trackSocial', network, socialAction, opt_target, opt_pagePath]);

যেখানে পরামিতি প্রতিনিধিত্ব করে:

  • network

    প্রয়োজন। ট্র্যাক করা সামাজিক নেটওয়ার্কের প্রতিনিধিত্বকারী একটি স্ট্রিং (যেমন Facebook, Twitter, LinkedIn)।

  • socialAction

    প্রয়োজন। ট্র্যাক করা সামাজিক কর্মের প্রতিনিধিত্বকারী একটি স্ট্রিং (যেমন লাইক, শেয়ার, টুইট)।

  • opt_target

    ঐচ্ছিক। URL (বা সংস্থান) প্রতিনিধিত্বকারী একটি স্ট্রিং যা ক্রিয়াটি গ্রহণ করে। উদাহরণ স্বরূপ, যদি কোনো ব্যবহারকারী কোনো সাইটের কোনো পৃষ্ঠায় লাইক বোতামে ক্লিক করেন, তাহলে opt_target পৃষ্ঠার শিরোনামে সেট করা হতে পারে, অথবা কোনো বিষয়বস্তু ব্যবস্থাপনা সিস্টেমে পৃষ্ঠাটিকে শনাক্ত করার জন্য ব্যবহৃত কোনো ID। অনেক ক্ষেত্রে, আপনি যে পেইজে লাইক করেছেন সেই পেজেই আপনি আছেন। সুতরাং যদি এই প্যারামিটারটি undefined হয়, বা বাদ দেওয়া হয়, ট্র্যাকিং কোডটি document.location.href ব্যবহার করার জন্য ডিফল্ট হয়।

  • opt_pagePath

    ঐচ্ছিক। একটি স্ট্রিং যা থেকে পৃষ্ঠাটি পাথ দ্বারা প্রতিনিধিত্ব করে (প্যারামিটার সহ) যেখান থেকে ক্রিয়াটি ঘটেছে৷ উদাহরণস্বরূপ, আপনি যদি https://developers.google.com/analytics/devguides/- এ একটি লাইক বোতামে ক্লিক করেন, তাহলে opt_pagePath /analytics/devguides এ সেট করা উচিত। প্রায় সবসময়, পাতার পথ সামাজিক কর্মের উৎস। তাই যদি এই প্যারামিটারটি undefined বা বাদ দেওয়া হয়, তাহলে ট্র্যাকিং কোডটি ডিফল্ট হিসেবে location.pathname প্লাস location.search ব্যবহার করে। Google Analytics _trackPageview পদ্ধতির মাধ্যমে ঐচ্ছিক পৃষ্ঠা পাথ প্যারামিটার পরিবর্তন করে ভার্চুয়াল পেজভিউ ট্র্যাক করলেই আপনাকে সাধারণত এটি সেট করতে হবে।

ফেসবুক অ্যাকশন

Facebook JavaScript SDK অনুসারে, আপনার পৃষ্ঠায় একটি লাইক বোতাম সেট আপ করার সবচেয়ে সহজ উপায় হল নিম্নলিখিত কোডটি ব্যবহার করা:

<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
<fb:like></fb:like>

পছন্দ

Google Analytics-এর মাধ্যমে লাইক রেকর্ড করতে, Facebook-এর edge.create ইভেন্টে সদস্যতা নিন এবং Google Analytics ট্র্যাকিং কোড চালানোর জন্য একটি কলব্যাক ফাংশন তৈরি করুন।

FB.Event.subscribe('edge.create', function(targetUrl) {
  _gaq.push(['_trackSocial', 'facebook', 'like', targetUrl]);
});

যখন একজন ব্যবহারকারী আপনার পৃষ্ঠা লাইক করেন , তখন কলব্যাক ফাংশনটি কার্যকর হয় এবং লাইক করা রিসোর্সটির URL প্রাপ্ত হয়। তারপরে রিসোর্সটিকে _trackSocial পদ্ধতিতে একটি মান হিসাবে পাস করা হয় যাতে Google Analytics নেটওয়ার্ক, অ্যাকশন এবং ইউআরএল পছন্দ করা সম্পর্কে রিপোর্ট করতে পারে।

অপছন্দ

Facebook APIগুলি আপনাকে অন্যান্য আকর্ষণীয় ইভেন্টগুলিতে সাবস্ক্রাইব করতে দেয় যেমন অপছন্দ

FB.Event.subscribe('edge.remove', function(targetUrl) {
  _gaq.push(['_trackSocial', 'facebook', 'unlike', targetUrl]);
});

শেয়ার

আপনি শেয়ার সাবস্ক্রাইব করতে পারেন.

FB.Event.subscribe('message.send', function(targetUrl) {
  _gaq.push(['_trackSocial', 'facebook', 'send', targetUrl]);
});

টুইটার টুইট

টুইট বোতাম ডকুমেন্টেশন এবং ওয়েব ইন্টেন্টস জাভাস্ক্রিপ্ট ইভেন্ট অনুসারে, আপনার পৃষ্ঠায় একটি টুইটার বোতাম প্রয়োগ করতে এবং ব্যবহারকারীর মিথস্ক্রিয়া সনাক্ত করতে, নিম্নলিখিত কোডটি ব্যবহার করা উচিত:

<a href="http://developers.google.com/analytics" class="twitter-share-button" data-lang="en">Tweet</a>
<script type="text/javascript" charset="utf-8">
  window.twttr = (function (d,s,id) {
    var t, js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return; js=d.createElement(s); js.id=id;
    js.src="//platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs);
    return window.twttr || (t = { _e: [], ready: function(f){ t._e.push(f) } });
  }(document, "script", "twitter-wjs"));
</script>

গুগল অ্যানালিটিক্সের সাথে টুইট বোতাম ইভেন্টগুলি ট্র্যাক করতে, আপনাকে টুইটারের ওয়েব ইন্টেন্টস জাভাস্ক্রিপ্ট ইভেন্টগুলি ব্যবহার করতে হবে এবং Intent Event একটি কলব্যাক ফাংশন আবদ্ধ করতে হবে। ইভেন্ট বাঁধাই করার আগে সবকিছু লোড হয়েছে তা নিশ্চিত করতে একটি কলব্যাক ফাংশনে ইভেন্ট বাইন্ডিংগুলি মোড়ানো গুরুত্বপূর্ণ৷

function trackTwitter(intent_event) {
  if (intent_event) {
    var opt_pagePath;
    if (intent_event.target && intent_event.target.nodeName == 'IFRAME') {
          opt_target = extractParamFromUri(intent_event.target.src, 'url');
    }
    _gaq.push(['_trackSocial', 'twitter', 'tweet', opt_pagePath]);
  }
}

//Wrap event bindings - Wait for async js to load
twttr.ready(function (twttr) {
  //event bindings
  twttr.events.bind('tweet', trackTwitter);
});

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

উপরের কলব্যাক ফাংশনটি নিশ্চিত করে যে iframe রেফারেন্সটি প্রকৃতপক্ষে একটি iframe এবং তারপর url ক্যোয়ারী প্যারামিটারটি দেখে টুইট করা সংস্থানটি বের করার চেষ্টা করে।

একটি URI থেকে একটি ক্যোয়ারী প্যারামিটার বের করার জন্য এখানে একটি উদাহরণ ফাংশন:

function extractParamFromUri(uri, paramName) {
  if (!uri) {
    return;
  }
  var regex = new RegExp('[\\?&#]' + paramName + '=([^&#]*)');
  var params = regex.exec(uri);
  if (params != null) {
    return unescape(params[1]);
  }
  return;
}

প্যারামিটারটি ফিরে আসে যদি এটি কোয়েরি স্ট্রিং-এ অবস্থিত থাকে। যদি কোনো পরামিতি অবস্থিত না থাকে, তাহলে ফাংশনটি undefined ফেরত দেয়, যা _trackSocial পদ্ধতিতে পাস করা হয়, ফলে পদ্ধতির ডিফল্ট আচরণ হয়।

ইন্টিগ্রেশনের জন্য সর্বোত্তম অনুশীলন

অনেক সাইট কন্টেন্ট ম্যানেজমেন্ট প্লাগইন ব্যবহার করে সামাজিক বোতাম যোগ করে। আপনি যদি এই জাতীয় প্লাগইনগুলির লেখক হন, আমরা আপনাকে এই ইন্টারঅ্যাকশনগুলি স্বয়ংক্রিয়ভাবে রেকর্ড করতে সোশ্যাল প্লাগ-ইন অ্যানালিটিক্সকে সংহত করার সুপারিশ করি৷ একইভাবে, আপনি যদি একটি সামাজিক নেটওয়ার্কের একজন বিকাশকারী হন, তাহলে আপনি সামাজিক অ্যানালিটিক্সের সাথে একীভূত হয়ে Google Analytics-এ আপনার সামাজিক নেটওয়ার্কের মিথস্ক্রিয়াগুলি ট্র্যাক করা ব্যবহারকারীদের জন্য আরও সহজ করে তুলতে পারেন৷

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

_gaq সারিতে ইনস্ট্যান্টিয়েটিং এবং ব্যবহার করা

গুগল অ্যানালিটিক্স ট্র্যাকিং কোডের সর্বশেষ সংস্করণটি সিঙ্ক্রোনাস এবং অ্যাসিঙ্ক্রোনাসভাবে লোড করা সমর্থন করে। বিকাশকারীরা এখনও লোড হয়নি এমন পদ্ধতিগুলিকে কল করার জন্য, Google Analytics একটি কমান্ড সারি _gaq প্রদান করে, যার উপর ট্র্যাকিং পদ্ধতিগুলিকে পুশ করা যেতে পারে _gaq.push(); .

একবার ট্র্যাকিং কোড লোড হয়ে গেলে, সারিতে থাকা সমস্ত কমান্ড কার্যকর হয়। আপনার প্লাগ-ইন বা পণ্যের সাথে Google Analytics জাভাস্ক্রিপ্ট ট্র্যাকিং কোড সংহত করার সময়, আপনাকে সর্বদা নিশ্চিত করতে হবে যে এই কমান্ড সারিটি তাৎক্ষণিকভাবে করা হয়েছে এবং আপনার ইন্টিগ্রেশন _trackSocial কমান্ডটিকে এই অ্যারেতে ঠেলে দেয়।

var _gaq = _gaq || [];

এটি যুক্তিসঙ্গত নিশ্চয়তা প্রদান করে যে পদ্ধতিটি কল করা হবে তা নির্বিশেষে প্রাপক ওয়েবসাইট পৃষ্ঠাটি ঐতিহ্যগত বা অ্যাসিঙ্ক্রোনাস ট্র্যাকিং কোড স্নিপেট ব্যবহার করে।

ব্যবহারকারী কনফিগারেশন

আপনি যদি সোশ্যাল প্লাগ-ইন অ্যানালিটিক্সকে সংহত করে এমন একটি প্লাগ-ইন তৈরি করছেন, তাহলে আপনাকে নিম্নলিখিত বিকল্পগুলি সরবরাহ করার কথা বিবেচনা করা উচিত যা ব্যবহারকারীরা যখন আপনার প্লাগইন ব্যবহার করে তখন সেট করতে দেয়:

ঐচ্ছিক পৃষ্ঠা পাথ প্যারামিটার সেট করা_trackSocial পদ্ধতির চূড়ান্ত প্যারামিটার হল বর্তমান URLকে ওভাররাইড করা যা থেকে একটি সামাজিক মিথস্ক্রিয়া ঘটেছে। শেষ লক্ষ্য হল পৃষ্ঠা ট্র্যাকিং এবং সোশ্যাল প্লাগ-ইন অ্যানালিটিক্সের মধ্যে একই ইউআরএল রিপোর্ট করা। যেহেতু কিছু ব্যবহারকারী পৃষ্ঠা ভিউ ট্র্যাকিংয়ের মাধ্যমে ট্র্যাক করা ডিফল্ট পৃষ্ঠার URL ওভাররাইড করতে পারে, তাই সামঞ্জস্যপূর্ণ রিপোর্টিং অর্জনের জন্য তাদের সোশ্যাল প্লাগ-ইন অ্যানালিটিক্সে URL ওভাররাইড করার একটি উপায়ও প্রয়োজন৷

আপনি কীভাবে ব্যবহারকারীদের এই বিকল্পগুলি সেট করতে দিতে পারেন তার একটি উদাহরণ, সেইসাথে কীভাবে আপনার কোড তাদের প্রতিক্রিয়া জানাতে হবে।

// Create a function for a user to call to pass in the options.
function trackFacebook(opt_pagePath) {
  try {
    if (FB && FB.Event && FB.Event.subscribe) {
      FB.Event.subscribe('edge.create', function(targetUrl) {
        _gaq.push(['_trackSocial', 'facebook', 'like',
            opt_target, opt_pagePath]);
      });
    }
  } catch(e) {}
}

উপরের উদাহরণে, যদি trackFacebook ফাংশনটিকে opt_pagePath প্যারামিটার সেটের সাথে কল করা হয়, ডিফল্ট পৃষ্ঠা পাথ মানটি প্যারামিটার থেকে সরবরাহ পাথের সাথে ওভার-রাইট করা হবে। অন্যথায়, সেই প্যারামিটারের মান undefined এ সেট করা হবে। এবং Google Analytics ট্র্যাকিং কোড অনির্ধারিত প্যারামিটারের জন্য ডিফল্ট মান ব্যবহার করবে।

দ্রষ্টব্য : এই উদাহরণে, Facebook API লোড না হলে কোনো স্ক্রিপ্ট ত্রুটি ঘটবে না তা নিশ্চিত করার জন্য কয়েকটি চেকও যোগ করা হয়েছে। একজন দায়িত্বশীল বিকাশকারী হিসাবে, আপনি সঠিকভাবে ত্রুটিগুলি পরিচালনা করছেন তা নিশ্চিত করা উচিত।

একাধিক ট্র্যাকার

কিছু Google Analytics ব্যবহারকারী একই পৃষ্ঠায় একাধিক ট্র্যাকারকে আলাদা করতে তাদের ট্র্যাকিং অবজেক্টের নাম দেন। যদিও আমরা একই ওয়েবসাইট পৃষ্ঠায় একাধিক ট্র্যাকার ব্যবহারকে উত্সাহিত করি না, আপনি একাধিক ট্র্যাকার পরিচালনা করার কথা বিবেচনা করতে পারেন।

নীচে প্রতিটি ট্র্যাকার অবজেক্টের জন্য _trackSocial পদ্ধতির মাধ্যমে পুনরাবৃত্তি এবং কল করার একটি উদাহরণ রয়েছে। এটি _getTrackers পদ্ধতি ব্যবহার করে যা পৃষ্ঠায় সমস্ত ট্র্যাকার অবজেক্টের একটি অ্যারে প্রদান করে।

এই উদাহরণে, যখন Facebook ইভেন্টটি ট্রিগার হয়, তখন প্রতিটি ট্র্যাকার অবজেক্টের জন্য _trackSocial পদ্ধতিটি Google Analytics কমান্ড সারিতে ঠেলে দেওয়া হয় _gaq

getSocialActionTrackers = function(network, socialAction, opt_target, opt_pagePath) {
  return function() {
    var trackers = _gat._getTrackers();
    for (var i = 0, tracker; tracker = trackers[i]; i++) {
      tracker._trackSocial(network, socialAction, opt_target, opt_pagePath);
    }
  };
}

function trackFacebook(opt_pagePath) {
  try {
    if (FB && FB.Event && FB.Event.subscribe) {
      FB.Event.subscribe('edge.create', function(targetUrl) {
        _gaq.push(_ga.getSocialActionTrackers_('facebook', 'like',
            opt_target, opt_pagePath));
      });
    }
  } catch(e) {}
}