Google Analytics ইন্টিগ্রেশন
Google Analytics 4 এবং Pushwoosh-এ একই user ID পাঠান, তাহলে আপনার ওয়েবসাইট বা অ্যাপে আসা একজন ব্যক্তিকে দুটি টুলই একজন ব্যবহারকারী হিসেবে গণ্য করবে। এরপর আপনি Google Analytics-এ যে ব্যবহারকারীদের বিশ্লেষণ করেন তাদের মেসেজ পাঠাতে পারবেন, এবং Google Analytics ডেটা থেকে Pushwoosh সেগমেন্ট তৈরি করতে পারবেন।
ইন্টিগ্রেশনের সংক্ষিপ্ত বিবরণ
Anchor link toইন্টিগ্রেশনের ধরণ
Anchor link toগন্তব্য: Google Analytics অডিয়েন্স এবং Google Analytics-এর BigQuery এক্সপোর্ট Pushwoosh সেগমেন্টে পরিণত হয়। user ID আপনার ওয়েবসাইট বা অ্যাপ থেকে প্রতিটি টুলে আলাদাভাবে যায়। Pushwoosh Google Analytics-এ কোনো ডেটা পাঠায় না।
পূর্বশর্ত
Anchor link to- একটি Pushwoosh অ্যাকাউন্ট এবং যে ওয়েবসাইট বা অ্যাপ থেকে আপনি user ID পাঠান, সেখানে Pushwoosh SDK (Web, Android বা iOS)।
- একটি Google Analytics 4 প্রপার্টি, যা একই ওয়েবসাইট বা অ্যাপ থেকে ডেটা সংগ্রহ করে।
Google Analytics অডিয়েন্স ইমপোর্ট করতে আপনার আরও প্রয়োজন:
- একটি Google Cloud সার্ভিস অ্যাকাউন্ট এবং তার JSON কী। Create and delete service account keys দেখুন।
- সেই সার্ভিস অ্যাকাউন্টের প্রজেক্টে চালু করা Google Analytics Data API এবং Admin API।
- Google Analytics প্রপার্টিতে সার্ভিস অ্যাকাউন্টের জন্য Viewer রোল। Add, edit, and delete users and user groups দেখুন।
BigQuery এক্সপোর্টে কোয়েরি করতে আপনার আরও প্রয়োজন:
- BigQuery-এর সাথে লিঙ্ক করা Google Analytics 4 প্রপার্টি। Set up BigQuery Export দেখুন।
- BigQuery Data Viewer এবং BigQuery Job User রোলসহ একটি সার্ভিস অ্যাকাউন্ট কী। BigQuery roles and permissions দেখুন।
ইন্টিগ্রেশন কিভাবে কাজ করে?
Anchor link toPushwoosh ব্যবহারকারীদের তাদের ID দিয়ে মেলায়:
- আপনার ওয়েবসাইট বা অ্যাপ Google Analytics এবং Pushwoosh-এ একই user ID পাঠায়।
- Pushwoosh একটি Google Analytics অডিয়েন্স থেকে বা আপনার BigQuery এক্সপোর্ট থেকে user ID পড়ে।
- একজন ব্যবহারকারীর ID কোনো Pushwoosh User ID-এর সাথে মিললে তিনি সেগমেন্টে যুক্ত হন।
উৎস অনুযায়ী সেগমেন্ট ভিন্নভাবে রিফ্রেশ হয়:
- অডিয়েন্স থেকে তৈরি সেগমেন্ট আপনি ব্যবহার করার সময় প্রায় দিনে একবার রিফ্রেশ হয়।
- BigQuery থেকে তৈরি সেগমেন্টে আগের দিন পর্যন্ত কার্যকলাপ প্রতিফলিত হয়।
ইন্টিগ্রেশন সেট আপ করা
Anchor link toসেটআপের দুটি অংশ আছে। প্রথমে, আপনার ডেভেলপাররা আপনার ওয়েবসাইট বা অ্যাপ থেকে user ID পাঠান। তারপর আপনি Control Panel-এ Google Analytics ডেটা থেকে একটি সেগমেন্ট তৈরি করেন।
- আপনার ডেভেলপারদের সাথে মিলে user ID বেছে নিন।
- আপনার ডেভেলপাররা আপনার ওয়েবসাইট বা মোবাইল অ্যাপ থেকে এটি Google Analytics এবং Pushwoosh-এ পাঠান।
- ঐচ্ছিকভাবে, Google Analytics ডেটা থেকে একটি Pushwoosh সেগমেন্ট তৈরি করুন। এরপর আপনি এটি অন্য যেকোনো সেগমেন্টের মতো ব্যবহার করতে পারবেন।
Google Analytics এবং Pushwoosh-এ user ID পাঠান
Anchor link toএই অংশটি আপনার ডেভেলপাররা করেন। নিচের বিভাগগুলো তাদের সাথে শেয়ার করুন।
user ID বেছে নিন
Anchor link toএমন একটি আইডেন্টিফায়ার ব্যবহার করুন যা আপনার নিজস্ব সিস্টেমে প্রতিটি ব্যবহারকারীর জন্য আগে থেকেই আছে, যেমন আপনার ডাটাবেসের অ্যাকাউন্ট ID। একই মান Google Analytics-এ তার user ID হিসেবে এবং Pushwoosh-এ User ID হিসেবে যায়।
ব্যবহারকারী যখন লগ ইন করেন বা অন্য কোনোভাবে শনাক্ত হন, ঠিক সেই মুহূর্তে ID সেট করুন।
আপনার ওয়েবসাইট থেকে user ID পাঠান
Anchor link toআপনার Google ট্যাগের user_id প্যারামিটারে ID-টি Google Analytics-এ পাস করুন। আপনি যদি Google Tag Manager ব্যবহার করেন, তবে এর পরিবর্তে আপনার Google ট্যাগ কনফিগারেশনে user_id ফিল্ডটি সেট করুন। Google ডকুমেন্টেশনে Send user IDs দেখুন।
gtag('config', 'G-XXXXXXXXXX', { 'user_id': 'USER_ID'});Web Push SDK দিয়ে একই ID Pushwoosh-এ পাস করুন:
Pushwoosh.push((api) => { api.registerUser('USER_ID');});আপনার মোবাইল অ্যাপ থেকে user ID পাঠান
Anchor link toমোবাইল অ্যাপ Firebase-এর মাধ্যমে Google Analytics 4-এ ডেটা পাঠায়। Firebase Analytics setUserId দিয়ে ID সেট করুন (Firebase ডকুমেন্টেশনে Set a user ID দেখুন), এবং Pushwoosh SDK দিয়ে একই মান সেট করুন।
Android
Anchor link toFirebaseAnalytics.getInstance(context).setUserId("USER_ID");Pushwoosh.getInstance().setUserId("USER_ID");Analytics.setUserID("USER_ID")Pushwoosh.sharedInstance().setUserId("USER_ID")Google Analytics ডেটা থেকে একটি সেগমেন্ট তৈরি করুন
Anchor link toআপনার ডেভেলপাররা user ID পাঠানোর পরে এই অংশটি আপনি Control Panel-এ করেন। Pushwoosh দুটি উপায়ে Google Analytics ডেটাকে সেগমেন্টে রূপান্তর করতে পারে, দুটিই এক্সটার্নাল সেগমেন্ট-এর মাধ্যমে:
- Google Analytics অডিয়েন্স ইমপোর্ট করুন: Google Analytics-এ আপনি আগে থেকেই তৈরি করেছেন এমন একটি অডিয়েন্স বেছে নিন। SQL বা BigQuery কোনোটিরই প্রয়োজন নেই।
- BigQuery এক্সপোর্টে কোয়েরি করুন: যে শর্তগুলো অডিয়েন্স দিয়ে প্রকাশ করা যায় না, সেগুলোর জন্য Google Analytics যে র ইভেন্টগুলো BigQuery-তে এক্সপোর্ট করে, তার উপর নিজের SQL লিখুন।
Google Analytics অডিয়েন্স ইমপোর্ট করুন
Anchor link toআপনার ডেভেলপার বা Google Cloud অ্যাডমিনিস্ট্রেটরকে Google Cloud এবং Google Analytics-এ এই ধাপগুলো সম্পন্ন করতে বলুন:
- একটি সার্ভিস অ্যাকাউন্ট এবং তার JSON কী প্রস্তুত করুন। Google Cloud ডকুমেন্টেশনে Create and delete service account keys দেখুন।
- সার্ভিস অ্যাকাউন্টের Google Cloud প্রজেক্টে Google Analytics Data API এবং Google Analytics Admin API চালু করুন।
- Google Analytics-এ Admin → Property access management-এ যান এবং সার্ভিস অ্যাকাউন্টের ইমেইল Viewer রোল দিয়ে যোগ করুন। Google Cloud IAM-এ দেওয়া রোল Google Analytics-এ অ্যাক্সেস দেয় না।
তারপর Control Panel-এ এই ধাপগুলো সম্পন্ন করুন:
-
ডেটাবেসের ধরন-কে Google Analytics 4 audience-এ সেট করে একটি এক্সটার্নাল সেগমেন্ট তৈরি করুন।
-
GA4 প্রপার্টি ID লিখুন। আপনি এটি Google Analytics-এ Admin → Property details-এর অধীনে খুঁজে পাবেন।
-
প্রথম তালিকায় প্রস্তুত করা JSON কী-টি Service account JSON-এ পেস্ট করুন।
-
অডিয়েন্স লোড করুন-এ ক্লিক করুন এবং অডিয়েন্স বেছে নিন।

-
সংযোগ পরীক্ষা করুন-এ ক্লিক করুন।
-
তৈরি করুন-এ ক্লিক করুন।
Pushwoosh যখন পুরো সেগমেন্টটি পড়ে, তখন সেগমেন্টটি রিফ্রেশ করে, যেমন আপনি যখন এতে কোনো ক্যাম্পেইন বা Journey পাঠান অথবা এর সাইজ গণনা করেন:
- ডেটা ২৪ ঘণ্টার কম পুরনো হলে Pushwoosh সেটি যেমন আছে তেমনই ব্যবহার করে, কারণ Google Analytics প্রায় দিনে একবার অডিয়েন্সের সদস্যপদ আপডেট করে।
- ২৪ ঘণ্টার বেশি পুরনো হলে Pushwoosh বর্তমান ডেটা ব্যবহার করে এবং ব্যাকগ্রাউন্ডে সেগমেন্টটি রিফ্রেশ করে।
- ৭২ ঘণ্টার বেশি পুরনো হলে Pushwoosh রিফ্রেশ শেষ হওয়া পর্যন্ত অপেক্ষা করে।
আপনি দিনে একবারের বেশি সেগমেন্ট রিফ্রেশ করতে পারবেন না। যদি এক দিনের বেশি সময় ধরে এটি রিফ্রেশ না হয়ে থাকে, তবে পাঠানোর কিছু সময় আগে সেগমেন্টের সাইজ গণনা করুন। এতে ব্যাকগ্রাউন্ডে রিফ্রেশ শুরু হয়, ফলে পাঠানোর সময় আরও নতুন ডেটা ব্যবহৃত হয়।
BigQuery এক্সপোর্টে কোয়েরি করুন
Anchor link toআপনি যদি আপনার Google Analytics 4 ডেটা BigQuery-তে এক্সপোর্ট করেন, তবে ব্যবহারকারীদের ইভেন্টের উপর যেকোনো SQL শর্ত দিয়ে তাদের বেছে নিতে পারেন, যেমন গত ৩০ দিনে কেনাকাটা করেছেন এমন সবাই।
আপনার ডেভেলপার বা Google Cloud অ্যাডমিনিস্ট্রেটরকে Google Cloud এবং Google Analytics-এ এই ধাপগুলো সম্পন্ন করতে বলুন:
-
আপনার Google Analytics 4 প্রপার্টিকে একটি BigQuery প্রজেক্টের সাথে লিঙ্ক করুন এবং দৈনিক এক্সপোর্ট চালু করুন। Google ডকুমেন্টেশনে Set up BigQuery Export অনুসরণ করুন।
এরপর Google Analytics প্রতিদিনের ইভেন্টগুলো
analytics_<property ID>নামের একটি ডেটাসেটেরevents_YYYYMMDDনামের টেবিলে লেখে। আগের বিভাগগুলোতে আপনি যে user ID পাঠিয়েছেন, তা থাকেuser_idকলামে। -
BigQuery Data Viewer এবং BigQuery Job User রোলসহ একটি সার্ভিস অ্যাকাউন্ট কী তৈরি করুন। সংযোগ পরীক্ষা করুন এবং কোয়েরি পরীক্ষা করুন আপনার প্রজেক্টে একটি টেস্ট কোয়েরি জব চালায়, তাই BigQuery Job User ছাড়া এগুলো ব্যর্থ হয়।
তারপর Control Panel-এ ডেটাবেসের ধরন-কে Google BigQuery-তে সেট করে একটি এক্সটার্নাল সেগমেন্ট তৈরি করুন। কানেকশনের জন্য সার্ভিস অ্যাকাউন্ট কী এবং আপনি যে ব্যবহারকারীদের চান তাদের user ID রিটার্ন করে এমন একটি কোয়েরি লিখুন।
উদাহরণস্বরূপ, এই কোয়েরিটি গত ৩০ দিনে কেনাকাটা করেছেন এমন ব্যবহারকারীদের রিটার্ন করে। my-project-এর জায়গায় আপনার Google Cloud প্রজেক্ট ID এবং analytics_123456789-এর জায়গায় আপনার ডেটাসেটের নাম দিন:
SELECT DISTINCT user_idFROM `my-project.analytics_123456789.events_*`WHERE event_name = 'purchase' AND user_id IS NOT NULL AND _TABLE_SUFFIX >= FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY))সেগমেন্টে আগের দিন পর্যন্ত কার্যকলাপ প্রতিফলিত হয়, কারণ Google Analytics দিনে একবার ডেটা এক্সপোর্ট করে।
আপনি কীভাবে জানবেন যে ইন্টিগ্রেশন কাজ করছে?
Anchor link to- User ID: Pushwoosh-এ অডিয়েন্স → ব্যবহারকারী এক্সপ্লোরার-এ যান এবং Google Analytics-এ পাঠানো কোনো ID-এর জন্য User ID দিয়ে খুঁজুন। ব্যবহারকারীকে পাওয়া গেলে দুটি টুলেই একই ID আছে।
- সেগমেন্ট: অডিয়েন্স → বাহ্যিক সেগমেন্ট-এ সেগমেন্টের স্ট্যাটাস বৈধ। কতজন ব্যবহারকারী মিলেছে তা দেখতে সেগমেন্টের সাইজ পরীক্ষা করুন।
সমস্যা সমাধান
Anchor link toঅডিয়েন্স লোড করুন বা সংযোগ পরীক্ষা করুন একটি ত্রুটি দেখায়
Anchor link toদুটি বোতামই সার্ভিস অ্যাকাউন্ট কী দিয়ে সাইন ইন করে এবং প্রপার্টির অডিয়েন্স তালিকা পড়ে, আর ফর্মে Google Analytics যে ত্রুটি রিটার্ন করে তা দেখানো হয়। পরীক্ষা করুন যে:
- Service account JSON একটি সার্ভিস অ্যাকাউন্ট কী। অন্যান্য Google ক্রেডেনশিয়াল ফাইল প্রত্যাখ্যান করা হয়।
- GA4 প্রপার্টি ID হলো Admin → Property details-এর নম্বরটি।
- Google Analytics-এ Admin → Property access management-এ সার্ভিস অ্যাকাউন্টের Viewer রোল আছে। Google Cloud IAM-এ দেওয়া রোল গণ্য হয় না।
- সার্ভিস অ্যাকাউন্টের Google Cloud প্রজেক্টে Google Analytics Admin API চালু আছে।
অডিয়েন্স তালিকা খালি
Anchor link toপ্রপার্টিতে এখনো কোনো অডিয়েন্স নেই। Google Analytics-এ Admin → Audiences-এর অধীনে একটি তৈরি করুন, তারপর আবার অডিয়েন্স লোড করুন-এ ক্লিক করুন।
কেউ সেগমেন্টে আসছে না
Anchor link to- নিশ্চিত করুন যে Google Analytics Data API চালু আছে। সংযোগ পরীক্ষা করুন এটি পরীক্ষা করে না, কিন্তু অডিয়েন্সের সদস্যদের পড়তে Pushwoosh-এর এটি প্রয়োজন।
- নিশ্চিত করুন যে আপনার ওয়েবসাইট বা অ্যাপ Google Analytics এবং Pushwoosh-এ একই user ID পাঠায়। শুধু সেই ব্যবহারকারীরাই সেগমেন্টে আসেন যাদের Google Analytics user ID কোনো Pushwoosh User ID-এর সাথে মেলে। Google Analytics যে ব্যবহারকারীদের শুধু তাদের বেনামী client ID দিয়ে চেনে, তারা সেগমেন্টে আসেন না।
BigQuery-এর জন্য সংযোগ পরীক্ষা করুন বা কোয়েরি পরীক্ষা করুন ব্যর্থ হয়
Anchor link toদুটি পরীক্ষাই কোনো ডেটা না পড়ে আপনার Google Cloud প্রজেক্টে একটি টেস্ট কোয়েরি জব চালায়। পরীক্ষা করুন যে:
- সার্ভিস অ্যাকাউন্টের BigQuery Data Viewer এবং BigQuery Job User দুটি রোলই আছে। BigQuery Job User ছাড়া কোনো পরীক্ষাই চলতে পারে না।
- কোয়েরিটি আপনার প্রজেক্ট ID এবং
analytics_<property ID>ডেটাসেটের নাম ব্যবহার করে, এবং এক্সপোর্ট ইতিমধ্যে অন্তত একটি দৈনিকevents_YYYYMMDDটেবিল লিখেছে। - কোয়েরিটি ঠিক একটি কলাম রিটার্ন করে, যার নাম
user_id।