WooCommerce ইন্টিগ্রেশন
Pushwoosh for WooCommerce প্লাগইন আপনার WordPress স্টোরকে Pushwoosh-এর সাথে সংযুক্ত করে। গ্রাহকরা ইমেইল ও SMS কন্টাক্টে পরিণত হন, অর্ডার এবং পরিত্যক্ত কার্ট এমন ইভেন্টে পরিণত হয় যেগুলো থেকে আপনি Customer Journey শুরু করতে পারেন, এবং আপনার স্টোরফ্রন্ট একটি সাবস্ক্রাইব বেলসহ ওয়েব পুশ পায়।
ইন্টিগ্রেশন ওভারভিউ
Anchor link toWooCommerce হলো WordPress-এর জন্য একটি ওপেন-সোর্স ই-কমার্স প্লাগইন। Pushwoosh for WooCommerce প্লাগইন Pushwoosh API-এর মাধ্যমে আপনার স্টোরের ডেটা সরাসরি Pushwoosh-এ পাঠায়। প্লাগইনটি ব্যাকগ্রাউন্ডে ডেটা পাঠায়, তাই এটি চেকআউটকে ধীর করে না।
ইন্টিগ্রেশনের প্রকার
Anchor link toগন্তব্য: এই ইন্টিগ্রেশনটি আপনার WooCommerce স্টোর থেকে Pushwoosh-এ ডেটা পুশ করে।
পূর্বশর্ত
Anchor link to- WordPress 6.4 বা পরবর্তী, WooCommerce 8.2 বা পরবর্তী, এবং PHP 8.1 বা পরবর্তী সংস্করণ
- আপনার WordPress সাইটে অ্যাডমিনিস্ট্রেটর অ্যাক্সেস
- আপনার স্টোরের জন্য একটি অ্যাপ্লিকেশনসহ একটি Pushwoosh অ্যাকাউন্ট
- আপনি ওয়েব পুশ চাইলে একটি HTTPS সাইট ঠিকানা। ব্রাউজারগুলো শুধুমাত্র HTTPS সাইটে ওয়েব পুশ রেজিস্টার করে।
প্লাগইনটি High-Performance Order Storage (HPOS)-এর সাথে এবং ক্লাসিক ও ব্লক-ভিত্তিক উভয় Cart ও Checkout পৃষ্ঠার সাথে কাজ করে।
প্লাগইন যা সিঙ্ক করে
Anchor link toটেবিলটি দেখায় প্রতিটি WooCommerce সত্তা Pushwoosh-এ কীসে পরিণত হয়:
| WooCommerce | Pushwoosh |
|---|---|
| গ্রাহক, বা অতিথি ক্রেতা | একটি ইমেইল কন্টাক্টসহ ব্যবহারকারী, এবং ফোন নম্বরটি একটি বৈধ মোবাইল নম্বর হলে একটি SMS কন্টাক্টও |
| গ্রাহকের নাম, সম্মতি এবং ম্যাপ করা ফিল্ড | ট্যাগ |
| অর্ডার তৈরি, আপডেট বা বাতিল হয়েছে | PW_OrderCreated, PW_OrderUpdated, PW_OrderCanceled ইভেন্ট |
| পরিত্যক্ত কার্ট | কার্ট পুনরুদ্ধার করার লিঙ্কসহ PW_AbandonedCart এবং PW_AbandonedCartUpdate ইভেন্ট |
| নোটিফিকেশনের অনুমতি দেওয়া স্টোরফ্রন্ট ভিজিটর | গ্রাহকের ইমেইলের সাথে লিঙ্ক করা ওয়েব পুশ সাবস্ক্রাইবার |
Pushwoosh-এ ইউজার আইডি হলো ছোট হাতের অক্ষরে গ্রাহকের ইমেইল ঠিকানা: নিবন্ধিত গ্রাহকদের জন্য অ্যাকাউন্টের ইমেইল, অতিথিদের জন্য বিলিং ইমেইল। একজন গ্রাহকের কন্টাক্ট, ইভেন্ট এবং ওয়েব পুশ সাবস্ক্রাইবার সবই একই ব্যবহারকারীর কাছে যায়।
ব্যবহারের ক্ষেত্র
Anchor link to- কোনো ক্রেতা কার্টে আইটেম রেখে চলে গেলে, সেই কার্ট পুনরুদ্ধার করার বোতামসহ একটি ইমেইল বা পুশ পাঠান।
- অর্ডারের পরে ক্রেতাদের ধন্যবাদ জানান, অর্ডার শিপ হলে ফলো-আপ করুন, বা বাতিলের পরে গ্রাহকদের ফিরিয়ে আনুন।
- শহর, দেশ, বা আপনি ট্যাগে ম্যাপ করা যেকোনো গ্রাহক ফিল্ড অনুযায়ী গ্রাহকদের সেগমেন্ট করুন।
- যে স্টোরফ্রন্ট ভিজিটররা বেলের মাধ্যমে সাবস্ক্রাইব করেছেন তাদের ওয়েব পুশ প্রোমোশন পাঠান।
আপনার Pushwoosh অ্যাপ্লিকেশন প্রস্তুত করুন
Anchor link toপ্লাগইন চালু করার আগে এই ধাপগুলো সম্পন্ন করুন। প্লাগইন যদি এমন কোনো ইভেন্ট পাঠায় যা এখনও বিদ্যমান নয়, Pushwoosh সেটি স্বয়ংক্রিয়ভাবে তৈরি করে এবং প্রাপ্ত প্রথম মানগুলো থেকে অ্যাট্রিবিউটের ধরন অনুমান করে। অনুমান করা ধরন ভুল হতে পারে (উদাহরণস্বরূপ, একটি মূল্য integer হিসেবে সংরক্ষিত হওয়া), এবং ধরন ঠিক করার আগে পাঠানো ডেটা হারিয়ে যায়।
API টোকেন তৈরি করুন
Anchor link toপ্লাগইনটি দুটি Device API টোকেন ব্যবহার করে। দুটিই Settings → API Access-এ তৈরি করুন এবং সেগুলোকে আপনার অ্যাপ্লিকেশনে অ্যাক্সেস দিন:
- সার্ভারের জন্য একটি Device API টোকেন তৈরি করুন। প্লাগইন এটি কন্টাক্ট রেজিস্টার করতে এবং ইভেন্ট পাঠাতে ব্যবহার করে। এটি কখনও আপনার সার্ভার ছেড়ে যায় না।
- স্টোরফ্রন্টের জন্য দ্বিতীয় একটি Device API টোকেন তৈরি করুন। ওয়েব পুশ চালু করতে প্লাগইন এটি প্রতিটি স্টোরফ্রন্ট পৃষ্ঠায় প্রিন্ট করে, তাই এটি পাবলিক। একটি আলাদা টোকেন থাকলে আপনি সার্ভার টোকেনে হাত না দিয়েই এটি প্রতিস্থাপন করতে পারেন।
একটি Server API টোকেন ঐচ্ছিক। এটি থাকলে, প্লাগইনের সেটিংসে আপনার অ্যাপ্লিকেশনের ট্যাগগুলোর তালিকা দেখায়, যা গ্রাহক ফিল্ডগুলোকে ট্যাগে ম্যাপ করার সময় সহায়ক।
ইভেন্টগুলো তৈরি করুন
Anchor link toAudience → Events → Create Event → Custom Event-এ পাঁচটি কাস্টম ইভেন্ট তৈরি করুন: PW_OrderCreated, PW_OrderUpdated, PW_OrderCanceled, PW_AbandonedCart এবং PW_AbandonedCartUpdate। কাস্টম ইভেন্ট কীভাবে তৈরি করতে হয় জানুন।
প্রতিটি ইভেন্টকে এটি যে অ্যাট্রিবিউটগুলো পায় সেগুলো দিন, এই ধরনগুলোসহ:
| অ্যাট্রিবিউট | ধরন | ইভেন্ট |
|---|---|---|
orderId | string | সব |
source | integer | সব |
orderNumber, status, wcStatus | string | অর্ডার ইভেন্ট |
email, customerId, shippingMethod, currency | string | সব |
orderUrl | string | কার্ট ইভেন্ট |
totalPrice, shippingAmount, discountAmount | decimal (price) | সব |
taxAmount | decimal (price) | অর্ডার ইভেন্ট |
createdDate | date | সব |
updatedDate | date | অর্ডার ইভেন্ট |
abandonedDate | date | কার্ট ইভেন্ট |
items | list | সব |
historical | boolean | অর্ডার ইভেন্ট |
আপনার অর্ডার ইভেন্টে orderId যদি ইতিমধ্যে integer হিসেবে সেট করা থাকে, তবে এটিকে string-এ পরিবর্তন করুন। integer থাকলে, Pushwoosh ইমেইলের Products ব্লকে বেস্টসেলার সুপারিশের জন্য অর্ডারের আইটেমগুলোকে বিক্রয় হিসেবে গণনা করে না।
ট্যাগগুলো তৈরি করুন
Anchor link toTags পৃষ্ঠায় এই ট্যাগগুলো তৈরি করুন:
| ট্যাগ | ধরন |
|---|---|
firstName | string |
lastName | string |
acceptsMarketing | integer |
এছাড়া আপনি যে প্রতিটি গ্রাহক ফিল্ড ম্যাপ করার পরিকল্পনা করছেন তার জন্য একটি ট্যাগ তৈরি করুন, যেমনটি গ্রাহক ফিল্ডগুলোকে ট্যাগে ম্যাপ করুন-এ বর্ণনা করা হয়েছে। ডিফল্ট ম্যাপিং City এবং Country ট্যাগ ব্যবহার করে।
ওয়েব পুশ কনফিগার করুন
Anchor link toওয়েব পুশ ব্যবহার করতে, আপনার অ্যাপ্লিকেশনের জন্য Web প্ল্যাটফর্ম সেট আপ করুন। ওয়েব পুশ কনফিগারেশন দেখুন।
প্লাগইন ইনস্টল করুন
Anchor link to- আপনার WordPress অ্যাডমিন প্যানেলে, Plugins → Add New Plugin-এ যান।
- Pushwoosh for WooCommerce খুঁজুন।
- Install Now-এ ক্লিক করুন।
- Activate-এ ক্লিক করুন। WooCommerce অবশ্যই আগে থেকে সক্রিয় থাকতে হবে।
আপনি wordpress.org থেকে প্লাগইনের zip ডাউনলোড করে Plugins → Add New Plugin → Upload Plugin-এ আপলোডও করতে পারেন।
প্লাগইনটিকে Pushwoosh-এর সাথে সংযুক্ত করুন
Anchor link toWooCommerce → Settings → Pushwoosh-এ যান এবং Connection বিভাগটি পূরণ করুন:
- Pushwoosh সাপোর্ট আপনাকে ভিন্ন কোনো ঠিকানা না দিয়ে থাকলে API URL-কে
https://api.pushwoosh.comহিসেবেই রাখুন। - Application code-এ আপনার অ্যাপ্লিকেশন কোড লিখুন।
- Device API token-এ আপনার তৈরি করা সার্ভার টোকেনটি পেস্ট করুন।
- Web SDK token-এ স্টোরফ্রন্ট টোকেনটি পেস্ট করুন।
- ঐচ্ছিকভাবে, Server API token (optional)-এ একটি Server API টোকেন পেস্ট করুন।
- Save changes-এ ক্লিক করুন।
- Check connection-এ ক্লিক করুন।

Check connection যাচাই করে:
- API URL
- অ্যাপ্লিকেশন কোড ও টোকেন
- সেন্ড কিউ
- ওয়েব পুশ সার্ভিস ওয়ার্কার, যদি ওয়েব পুশ চালু থাকে
এটি টেস্ট ইভেন্ট পাঠায় না, কারণ একটি টেস্ট ইভেন্ট খালি অ্যাট্রিবিউটসহ ইভেন্টগুলো তৈরি করে ফেলত। চেক যদি বলে যে টোকেনটি যাচাই করা যায়নি, তাহলে আপনার অ্যাপ্লিকেশন যেকোনো Device API টোকেন গ্রহণ করে। অ্যাপ্লিকেশনটির জন্য Device API টোকেন যাচাই চালু করতে Pushwoosh সাপোর্টকে বলুন।
সংরক্ষিত টোকেনগুলো মাস্ক করা অবস্থায় দেখানো হয়। একটি সংরক্ষিত টোকেন রাখতে, সেটিংস সেভ করার সময় এর ফিল্ডটি খালি রাখুন।
মডিউলগুলো চালু করুন
Anchor link toModules বিভাগে, আপনি যে ডেটা পাঠাতে চান তা চালু করুন, তারপর Save changes-এ ক্লিক করুন:
- Sync customers: গ্রাহকরা সাইন আপ করলে এবং প্রতিবার তাদের প্রোফাইল সেভ হলে তাদের Pushwoosh-এ কন্টাক্ট হিসেবে রেজিস্টার করে।
- Send order events: অর্ডার ইভেন্ট পাঠায়। শুধুমাত্র এটি চালু করার পরে তৈরি অর্ডারগুলো
PW_OrderCreatedপায়। পুরোনো অর্ডার পাঠাতে, বিদ্যমান গ্রাহক ও অর্ডার ইমপোর্ট করুন দেখুন। - Send abandoned cart events: কার্ট ইভেন্ট পাঠায়।
PW_AbandonedCartপাঠানোর আগে একটি কার্ট কতক্ষণ অপরিবর্তিত থাকতে হবে তা Cart is abandoned after, minutes-এ সেট করুন। ডিফল্ট 60, সর্বনিম্ন 15। - Enable web push on the storefront: প্রতিটি স্টোরফ্রন্ট পৃষ্ঠায় ওয়েব পুশ লোড করে। ওয়েব পুশ সেট আপ করুন দেখুন।
- Require marketing consent: যে গ্রাহকরা মার্কেটিংয়ে সম্মতি দেননি তাদের জন্য কিছুই পাঠায় না। মার্কেটিং সম্মতি সংগ্রহ করুন দেখুন।
- Delete all data when the plugin is deleted: আপনি প্লাগইন ডিলিট করলে, এর সেটিংস, ব্যবহারকারী ও অর্ডার রেকর্ডে এর ডেটা এবং কিউতে থাকা জবগুলোও মুছে ফেলে। এই অপশন চালু থাকুক বা না থাকুক, ট্র্যাক করা কার্টের টেবিলটি মুছে ফেলা হয়। Pushwoosh-এ ইতিমধ্যে থাকা ডেটা থেকে যায়।

গ্রাহক ফিল্ডগুলোকে ট্যাগে ম্যাপ করুন
Anchor link toআরও গ্রাহক ডেটা ট্যাগ হিসেবে পাঠাতে Customer tags বিভাগে Field → tag mapping ব্যবহার করুন। প্রতি লাইনে একটি করে source = Tag জোড়া লিখুন:
billing_city = Citybilling_country = Countryshipping_postcode = Postcodemeta:loyalty_level = Loyalty level- Source হলো একটি গ্রাহক ফিল্ড, যেমন
billing_cityবাshipping_postcode, অথবাmeta:এবং তার পরে একটি ইউজার বা অর্ডার মেটা কী। - Tag হলো এমন একটি ট্যাগের নাম যা আপনার Pushwoosh অ্যাপ্লিকেশনে ইতিমধ্যে বিদ্যমান।
firstName, lastName এবং acceptsMarketing সবসময় পাঠানো হয়, তাই এগুলো ম্যাপ করার প্রয়োজন নেই। একটি Server API টোকেন সংরক্ষিত থাকলে, বিভাগটি আপনার অ্যাপ্লিকেশনে বিদ্যমান ট্যাগগুলোর তালিকা দেখায়, এবং উপেক্ষা করা যেকোনো ম্যাপিং লাইনও দেখায়।
মার্কেটিং সম্মতি সংগ্রহ করুন
Anchor link toপ্লাগইনটি রেজিস্ট্রেশন ফর্মে এবং ক্লাসিক ও ব্লক-ভিত্তিক উভয় চেকআউটে I agree to receive news and offers by email and SMS চেকবক্স যোগ করে। উত্তরটি গ্রাহক ও অর্ডারে সংরক্ষিত হয়, এবং acceptsMarketing ট্যাগ (1 বা 0) হিসেবে পাঠানো হয়। যে গ্রাহক ইতিমধ্যে সম্মতি দিয়েছেন তিনি চেকবক্সটি আর দেখেন না, এবং পরবর্তী কোনো অর্ডারে টিক না দেওয়া বক্স আগের সম্মতি প্রত্যাহার করে না।

Require marketing consent যা পরিবর্তন করে:
- Off (ডিফল্ট): প্রত্যেক গ্রাহক কন্টাক্ট হিসেবে রেজিস্টার হন, এবং
acceptsMarketingআপনাকে জানায় কে সম্মতি দিয়েছেন। সেগমেন্টে আপনার অডিয়েন্স ফিল্টার করতে এটি ব্যবহার করুন। - On: সম্মতি ছাড়া গ্রাহকরা কোনো ইমেইল বা SMS কন্টাক্ট পান না, তাদের অর্ডার কোনো ইভেন্ট পাঠায় না, এবং তাদের কার্ট কোনো কার্ট ইভেন্ট পাঠায় না।
আপনি অপশনটি চালু করলে, বিদ্যমান কন্টাক্টগুলো সঙ্গে সঙ্গে মুছে যায় না। সম্মতি ছাড়া আগে সিঙ্ক হওয়া একজন নিবন্ধিত গ্রাহক পরের বার তার প্রোফাইল সেভ হলে, বা আপনি আবার গ্রাহক ইমপোর্ট চালালে Pushwoosh থেকে মুছে যান। অতিথি কন্টাক্টগুলো মোছা হয় না।
ব্লক-ভিত্তিক চেকআউট WooCommerce 8.9 এবং পরবর্তী সংস্করণে চেকবক্সটি দেখায়। আগের সংস্করণে Require marketing consent চালু থাকলে, সেই চেকআউট থেকে আসা কার্টগুলো কোনো ইভেন্ট পাঠায় না।
প্লাগইন যে ইভেন্ট ও ট্যাগ পাঠায়
Anchor link toএই বিভাগে প্লাগইন যে প্রতিটি ইভেন্ট ও ট্যাগ পাঠায় তার তালিকা রয়েছে, যাতে আপনি সেগুলোর উপর ভিত্তি করে সেগমেন্ট ও জার্নি তৈরি করতে পারেন।
কন্টাক্ট ও ট্যাগ
Anchor link toপ্লাগইনটি প্রত্যেক গ্রাহককে একটি ইমেইল কন্টাক্ট হিসেবে, এবং বিলিং ফোনটি একটি বৈধ মোবাইল নম্বর হলে একটি SMS কন্টাক্ট হিসেবে রেজিস্টার করে। কন্টাক্টের ভাষা হলো সেই স্টোরের ভাষা যা গ্রাহক রেজিস্ট্রেশন বা চেকআউটের সময় ব্যবহার করেছিলেন। প্রতিটি কন্টাক্ট এই ট্যাগগুলো পায়:
| ট্যাগ | মান |
|---|---|
firstName | বিলিংয়ের প্রথম নাম, বা বিলিং খালি থাকলে অ্যাকাউন্টের প্রথম নাম |
lastName | বিলিংয়ের শেষ নাম, বা বিলিং খালি থাকলে অ্যাকাউন্টের শেষ নাম |
acceptsMarketing | গ্রাহক মার্কেটিংয়ে সম্মতি দিলে 1, অন্যথায় 0 |
| ম্যাপ করা ট্যাগ | আপনার ফিল্ড ম্যাপিং-এর ফিল্ডগুলোর মান |
প্লাগইনটি এই মুহূর্তগুলোতে গ্রাহকদের সিঙ্ক করে:
- নিবন্ধিত গ্রাহক: সাইন আপ করলে এবং প্রতিবার তাদের প্রোফাইল সেভ হলে।
- অতিথি ক্রেতা: তাদের অর্ডার থেকে, Sync customers চালু থাকলে।
- কার্ট পরিত্যাগ করা অতিথি: কার্ট ইভেন্টের ঠিক আগে, যাতে ইভেন্টটির জন্য একজন ব্যবহারকারী থাকে।
- অ্যাকাউন্টের ইমেইল পরিবর্তন করা গ্রাহক: প্লাগইন Pushwoosh-এ পুরোনো ব্যবহারকারীকে মুছে ফেলে এবং নতুনটিকে রেজিস্টার করে।
Pushwoosh কিছু কন্টাক্ট প্রত্যাখ্যান করে এবং প্লাগইন সেগুলো পুনরায় চেষ্টা করে না: অবৈধ বা ডিসপোজেবল ডোমেইনের ইমেইল এবং মোবাইল নয় এমন ফোন নম্বর। এগুলো ইন্টিগ্রেশন কাজ করছে কিনা যাচাই করুন-এ বর্ণিত পদ্ধতিতে লগ করা হয়।
অর্ডার ইভেন্ট
Anchor link toপ্রতিবার কোনো অর্ডারের স্ট্যাটাস পরিবর্তিত হলে প্লাগইন একটি করে ইভেন্ট পাঠায়:
| ইভেন্ট | কখন পাঠানো হয় |
|---|---|
PW_OrderCreated | Send order events চালু করার পরে তৈরি একটি অর্ডার প্রথমবার সিঙ্ক হলে, তখন তার যে স্ট্যাটাসই থাকুক |
PW_OrderUpdated | বাতিল ছাড়া পরবর্তী প্রতিটি স্ট্যাটাস পরিবর্তনে। এছাড়া Send order events চালু করার আগে তৈরি অর্ডারের প্রথম ইভেন্টও এটি। |
PW_OrderCanceled | অর্ডারটি Cancelled-এ চলে যায় |
ড্রাফট এবং ব্যর্থ অর্ডার কোনো ইভেন্ট পাঠায় না।
Pushwoosh ইমেইলের Products ব্লকে বেস্টসেলার সুপারিশের জন্য PW_OrderCreated এবং PW_OrderUpdated-এর আইটেমগুলোকেও বিক্রয় হিসেবে গণনা করে।
status অ্যাট্রিবিউট Magento ইন্টিগ্রেশনের মতো একই মান ব্যবহার করে, তাই Magento-র জন্য তৈরি জার্নিগুলো কোনো পরিবর্তন ছাড়াই কাজ করে। মূল WooCommerce স্ট্যাটাস wcStatus-এ থাকে:
| WooCommerce স্ট্যাটাস | status |
|---|---|
| Pending payment, On hold | pending |
| Processing | processing |
| Completed | complete |
| Refunded | closed |
| Cancelled | canceled |
| কাস্টম স্ট্যাটাস | স্ট্যাটাসের slug যেমন আছে তেমন |
প্রতিটি অর্ডার ইভেন্ট এই অ্যাট্রিবিউটগুলো বহন করে:
| অ্যাট্রিবিউট | মান |
|---|---|
orderId | অর্ডার আইডি |
orderNumber | গ্রাহককে দেখানো অর্ডার নম্বর |
source | সবসময় 1 |
email | বিলিং ইমেইল |
customerId | ইউজার আইডি: অ্যাকাউন্টের ইমেইল, বা অতিথিদের জন্য বিলিং ইমেইল |
items | অর্ডার করা পণ্য, নিচে দেখুন |
createdDate, updatedDate | স্টোরের টাইম জোনে অর্ডার তৈরি ও সর্বশেষ পরিবর্তনের তারিখ |
shippingMethod | প্রথম শিপিং পদ্ধতির নাম |
totalPrice | অর্ডারের মোট মূল্য |
shippingAmount, taxAmount, discountAmount | শিপিং, ট্যাক্স ও ছাড়ের মোট পরিমাণ |
currency | অর্ডারের মুদ্রার কোড |
status, wcStatus | অর্ডারের স্ট্যাটাস, উপরের টেবিল দেখুন |
historical | ইমপোর্টের মাধ্যমে পাঠানো পুরোনো অর্ডারের জন্য true, অন্যথায় false |
items-এর প্রতিটি এন্ট্রিতে থাকে productId, sku, name, description (সংক্ষিপ্ত বিবরণ), price (ট্যাক্স ছাড়া একক মূল্য), quantity, imageUrl, productUrl এবং category (কমা দিয়ে আলাদা করা ক্যাটাগরির নাম)।
PW_OrderCreated অ্যাট্রিবিউটের উদাহরণ:
{ "orderId": "1042", "orderNumber": "1042", "source": 1, "email": "jane@example.com", "customerId": "jane@example.com", "items": [ { "productId": "17", "sku": "TSHIRT-M", "name": "T-shirt", "description": "Cotton T-shirt", "price": 20.0, "quantity": 2, "imageUrl": "https://shop.example.com/wp-content/uploads/tshirt.jpg", "productUrl": "https://shop.example.com/product/t-shirt/", "category": "Clothing, T-shirts" } ], "createdDate": "2026-09-30T12:00:00+02:00", "updatedDate": "2026-09-30T12:00:00+02:00", "shippingMethod": "Flat rate", "totalPrice": 47.6, "shippingAmount": 5.0, "taxAmount": 7.6, "discountAmount": 5.0, "currency": "EUR", "status": "pending", "wcStatus": "on-hold", "historical": false}পরিত্যক্ত কার্ট ইভেন্ট
Anchor link toএকটি কার্ট পরিত্যক্ত হিসেবে গণ্য হয় যখন এতে একটি ইমেইল থাকে, এটি Cart is abandoned after, minutes-এর চেয়ে বেশি সময় অপরিবর্তিত থাকে, এবং এটি থেকে কোনো অর্ডার দেওয়া হয় না:
| ইভেন্ট | কখন পাঠানো হয় |
|---|---|
PW_AbandonedCart | প্রথমবার কোনো কার্ট পরিত্যক্ত হলে |
PW_AbandonedCartUpdate | PW_AbandonedCart-এর পরে একই কার্ট পরিবর্তিত হয়ে আবার পরিত্যক্ত হলে |
প্লাগইন প্রতি 15 মিনিটে কার্টগুলো পরীক্ষা করে, তাই ইভেন্টটি সাধারণত থ্রেশহোল্ডের পরে 15 মিনিটের মধ্যে পৌঁছায়।
ক্রেতা যদি তার আগে অর্ডার দেন, একই সেশন থেকে বা একই বিলিং ইমেইল দিয়ে, তাহলে কার্টটি বন্ধ হয়ে যায় এবং কোনো ইভেন্ট পাঠানো হয় না। ক্রেতা যদি একটি বন্ধ কার্ট আবার পূর্ণ করেন, তা PW_AbandonedCart দিয়ে নতুন করে শুরু হয়।
কার্ট ইভেন্ট পাঠাতে প্লাগইনের ক্রেতার ইমেইল প্রয়োজন:
- লগ-ইন করা ক্রেতা: অ্যাকাউন্টের ইমেইল।
- অতিথি: চেকআউটে বিলিং ইমেইল ফিল্ডে টাইপ করা ইমেইল, এমনকি অর্ডারটি কখনও দেওয়া না হলেও।
কার্ট ইভেন্টের অ্যাট্রিবিউটগুলো হলো orderId (কার্ট আইডি), source, email, customerId, items, createdDate, abandonedDate (কার্টটি সর্বশেষ কখন পরিবর্তিত হয়েছে), shippingMethod, totalPrice, shippingAmount, discountAmount, currency এবং orderUrl। কার্ট ইভেন্টে আইটেমের মূল্য ট্যাক্সসহ।
কার্ট পুনরুদ্ধারের লিঙ্ক
Anchor link toorderUrl হলো একটি লিঙ্ক যা ক্রেতার কার্ট পুনরুদ্ধার করে। আপনার রিমাইন্ডারে বোতামের লিঙ্ক হিসেবে এটি ব্যবহার করুন:
- লিঙ্কটি খুললে সংরক্ষিত আইটেমগুলো কার্টে যোগ হয় এবং ক্রেতাকে চেকআউটে নিয়ে যায়। এটি যেকোনো ব্রাউজারে কাজ করে, এমনকি যে ব্রাউজারে ক্রেতা কখনও আপনার স্টোর ভিজিট করেননি সেখানেও।
- লিঙ্কটি কাউকে লগ ইন করায় না।
- লিঙ্কটি 14 দিনের জন্য বৈধ। কার্ট থেকে অর্ডার দেওয়ার পরে, বা কার্টটি মুছে ফেলার পরে, লিঙ্কটি এর পরিবর্তে ভিজিটরের সাধারণ কার্ট পৃষ্ঠা খোলে।
আপনি প্লাগইন ডিলিট করলে পুনরুদ্ধারের লিঙ্কগুলো কাজ করা বন্ধ করে দেয়, এমনকি আপনি এটি আবার ইনস্টল করলেও, কারণ যে কী দিয়ে এগুলো সাইন করা হয় সেটি প্লাগইনের সাথে মুছে যায়।
একটি পরিত্যক্ত কার্ট জার্নি তৈরি করুন
Anchor link toএই উদাহরণটি কার্টের আইটেম এবং কার্ট পুনরুদ্ধার করার একটি বোতামসহ একটি ইমেইল পাঠায়। এর জন্য Send abandoned cart events এবং Send order events দুটিই চালু থাকতে হবে, যাতে জার্নি বুঝতে পারে ক্রেতা কখন কিনেছেন।
ইমেইল তৈরি করুন
Anchor link toইমেইল কনটেন্ট এডিটর-এ একটি ইমেইল তৈরি করুন, তারপর দুটি উপায়ের একটিতে কার্টের আইটেমগুলো দেখান:
- Products ব্লক: পাঠানোর সময় Pushwoosh যেভাবে কার্ট সংরক্ষণ করে সেভাবে দেখায়।
PW_AbandonedCart-এর পরে ক্রেতা কার্ট পরিবর্তন করলে, ইমেইলে সর্বশেষ আইটেমগুলো দেখায়। - Liquid: জার্নি শুরু করা
PW_AbandonedCartইভেন্টের আইটেমগুলো দেখায়, আপনার নিজের লেখা যেকোনো লেআউটে।
Products ব্লক দিয়ে আইটেমগুলো দেখান
Anchor link toCart সোর্সের জন্য আপনার প্ল্যানে Content Templates এবং Settings → API Access-এ একটি API অ্যাক্সেস টোকেন প্রয়োজন। টোকেন ছাড়া ইমেইলটি সেভ করা যায় না।
Liquid দিয়ে আইটেমগুলো দেখান
Anchor link toLiquid দিয়ে ইমেইলের বডিতে কার্টের কনটেন্ট যোগ করুন। প্লেসহোল্ডারগুলো জার্নি শুরু করা PW_AbandonedCart ইভেন্ট থেকে তাদের মান নেয়:
<p>Your cart total is {{ totalPrice }} {{ currency }}.</p><table> {% for item in items %} <tr> <td><img src="{{ item.imageUrl }}" width="64" alt=""></td> <td><a href="{{ item.productUrl }}">{{ item.name }}</a></td> <td>× {{ item.quantity }}</td> <td>{{ item.price }} {{ currency }}</td> </tr> {% endfor %}</table>পুনরুদ্ধারের বোতাম যোগ করুন
Anchor link toProducts ব্লক কার্ট পুনরুদ্ধার করার কোনো লিঙ্ক যোগ করে না, তাই আইটেম দেখানোর যেকোনো উপায়ের সাথেই এই বোতামটি যোগ করুন:
- ইমেইলে একটি বোতাম যোগ করুন।
- বোতামের লিঙ্ক
{{ orderUrl }}-এ সেট করুন। - ইমেইলটি সেভ করুন।
জার্নি তৈরি করুন
Anchor link toPW_AbandonedCartইভেন্টসহ একটি Trigger-based entry যোগ করুন।- একটি Wait for Trigger ধাপ যোগ করুন।
- এর অপেক্ষার সময় সেট করুন, উদাহরণস্বরূপ 1 ঘণ্টা।
- Wait for Trigger-এ ব্রাঞ্চটির নাম দিন Order placed।
- Order placed ব্রাঞ্চে
PW_OrderCreatedইভেন্টটি যোগ করুন। - Order placed ব্রাঞ্চটি একটি Exit এলিমেন্ট দিয়ে বা কোনো বহির্গামী সংযোগ ছাড়া রেখে শেষ করুন। ক্রেতা ইতিমধ্যে কিনে ফেলেছেন।
- Not triggered ব্রাঞ্চটিকে একটি Email ধাপে রুট করুন।
- Email ধাপে, আপনার তৈরি করা ইমেইলটি নির্বাচন করুন।
- Email ধাপে, Overwrite Liquid placeholders চালু করুন এবং
PW_AbandonedCartইভেন্টটি নির্বাচন করুন। - Email ধাপের পরে ব্রাঞ্চটি একটি Exit এলিমেন্ট দিয়ে বা কোনো বহির্গামী সংযোগ ছাড়া রেখে শেষ করুন।
- জার্নিটি চালু করুন।
PW_AbandonedCart পাঠানোর আগে প্লাগইন ইতিমধ্যে Cart is abandoned after, minutes পর্যন্ত অপেক্ষা করে। Wait for Trigger-এর অপেক্ষার সময় এর সাথে যুক্ত হয়, তাই এটি সংক্ষিপ্ত রাখুন।
অপেক্ষার সময় সরাসরি Wait for Trigger-এই সেট করুন, এর আগে আলাদা কোনো Time Delay ধাপ ছাড়া।
Wait for Trigger শুধুমাত্র ক্রেতা সেখানে পৌঁছানোর পরে পাঠানো PW_OrderCreated ধরে। যে ক্রেতা একটি Time Delay-এর সময় অর্ডার দেন তিনি তবুও রিমাইন্ডার পান, এবং এতে থাকা একটি Products ব্লক কোনো আইটেম দেখায় না, কারণ অর্ডারটি সেই PW_AbandonedCartID ট্যাগটি মুছে ফেলে যার মাধ্যমে ব্লকটি কার্ট পড়ে।
এর পরিবর্তে পুশ দিয়ে ক্রেতাকে মনে করিয়ে দিতে, একটি Push ধাপ ব্যবহার করুন এবং orderUrl বা totalPrice যোগ করতে Personalize message with event attributes চালু করুন। জার্নিতে Dynamic Content এবং Liquid Templates দেখুন।
ওয়েব পুশ সেট আপ করুন
Anchor link toওয়েব পুশ চালু থাকলে, প্রতিটি স্টোরফ্রন্ট পৃষ্ঠা Pushwoosh Web SDK লোড করে, এবং ভিজিটররা আপনার স্টোরের নোটিফিকেশনে সাবস্ক্রাইব করতে পারেন।
বেছে নিন ভিজিটরদের কীভাবে সাবস্ক্রাইব করতে বলা হবে:
- Subscribe bell on the page (works in every browser): পৃষ্ঠার কোণে একটি বেল দেখায়। ভিজিটর এতে ক্লিক করার পরে ব্রাউজার অনুমতি চায়। এটি ডিফল্ট।
- Ask on page load (Chrome and Edge only): পৃষ্ঠা খোলার সাথে সাথেই ব্রাউজার অনুমতি চায়। Safari, এবং বেশিরভাগ ক্ষেত্রে Firefox, শুধুমাত্র একটি ক্লিকের পরে অনুমতির অনুরোধ দেখায়, তাই ওই ব্রাউজারগুলোর ভিজিটরদের কিছুই জিজ্ঞাসা করা হয় না।
ওয়েব পুশ চালু করতে:
- ওয়েব পুশ কনফিগার করুন-এ বর্ণিত পদ্ধতিতে আপনার অ্যাপ্লিকেশনে Web প্ল্যাটফর্ম কনফিগার করা আছে কিনা নিশ্চিত করুন।
- WooCommerce → Settings → Pushwoosh-এ Web SDK token পূরণ করুন।
- Enable web push on the storefront চালু করুন।
- Web push subscription-এ বেছে নিন ভিজিটরদের কীভাবে সাবস্ক্রাইব করতে বলা হবে।
- Save changes-এ ক্লিক করুন।
- সার্ভিস ওয়ার্কার লোড হচ্ছে কিনা নিশ্চিত করতে Check connection-এ ক্লিক করুন।

আপনি আপনার অ্যাপ্লিকেশনের ওয়েব পুশ কনফিগারেশন-এ বেলের টেক্সট, সাবস্ক্রিপশন প্রম্পট, ডিফল্ট নোটিফিকেশন শিরোনাম ও ছবি এবং Safari সেটিংস পরিবর্তন করতে পারেন। ওই সেটিংসগুলো প্লাগইনের ডিফল্টগুলোকে ওভাররাইড করে।
সাবস্ক্রাইবাররা কীভাবে গ্রাহকদের সাথে লিঙ্ক হন
Anchor link toএকজন নতুন সাবস্ক্রাইবার প্রথমে বেনামী থাকেন। প্লাগইন সাবস্ক্রাইবারকে Pushwoosh-এ গ্রাহকের ব্যবহারকারীর সাথে লিঙ্ক করে:
- একজন গ্রাহক লগ ইন করার পরে।
- অর্ডার নিশ্চিতকরণ পৃষ্ঠায়, অতিথিসহ প্রত্যেক ক্রেতার জন্য।
কোনো গ্রাহক লগ আউট করলে বা সম্মতি প্রত্যাহার করলে, লগইনের সময় তৈরি লিঙ্কটি সরিয়ে ফেলা হয়। Require marketing consent চালু থাকলে, একজন সাবস্ক্রাইবার শুধুমাত্র তখনই লিঙ্ক হন যখন গ্রাহক বা অর্ডারের সম্মতি থাকে।
সার্ভিস ওয়ার্কার
Anchor link toপ্লাগইন আপনার সাইটের /pushwoosh-sw/ থেকে ওয়েব পুশ সার্ভিস ওয়ার্কার সরবরাহ করে এবং এটিকে WP Rocket, LiteSpeed Cache ও W3 Total Cache-এর পেজ ক্যাশিং থেকে বাদ দেয়। Check connection যদি সার্ভিস ওয়ার্কারের জন্য ভুল স্ট্যাটাস রিপোর্ট করে, তবে আপনার ডেভেলপারকে যাচাই করতে বলুন যে URL-টি সার্ভার দ্বারা ব্লক বা ক্যাশ করা হচ্ছে না।
সার্ভিস ওয়ার্কারটি পুরো সাইট কভার করে, তাই এটি সাইটের রুটে রেজিস্টার করা অন্য যেকোনো সার্ভিস ওয়ার্কারকে প্রতিস্থাপন করে, যেমন কোনো PWA প্লাগইন বা অন্য পুশ প্রোভাইডারের সার্ভিস ওয়ার্কার। আপনার ডেভেলপার pushwoosh_wc_service_worker_imports ফিল্টার দিয়ে সেই অন্য সার্ভিস ওয়ার্কারের স্ক্রিপ্টগুলো যোগ করতে পারেন।
বিদ্যমান গ্রাহক ও অর্ডার ইমপোর্ট করুন
Anchor link toপ্লাগইন ইনস্টল করার আগে বিদ্যমান গ্রাহক ও অর্ডারগুলো WooCommerce → Settings → Pushwoosh-এর Historical sync বিভাগ থেকে পাঠান:
- Sync existing customers: Customer রোলের সমস্ত গ্রাহককে রেজিস্টার করে, তারপর পুরোনো অর্ডারের অতিথি ক্রেতাদের।
- Send past orders: প্রতিটি পুরোনো অর্ডার যার কখনও
PW_OrderCreatedইভেন্ট ছিল না, তার জন্যhistorical-কেtrueসেট করে একটিPW_OrderCreatedইভেন্ট পাঠায়। বাতিল অর্ডারগুলো বাদ দেওয়া হয়।
বিভাগটি প্রতিটি রানের অগ্রগতি দেখায়। দুটি রানই শুধু কলগুলো কিউতে রাখে, এবং Action Scheduler সেগুলো ব্যাকগ্রাউন্ডে পাঠায়।
বড় স্টোরে, আপনার ডেভেলপারকে WP-CLI দিয়ে ইমপোর্ট চালাতে বলুন। শুধুমাত্র নির্দিষ্ট তারিখ থেকে রেকর্ড ইমপোর্ট করতে --since=YYYY-MM-DD যোগ করুন:
wp pushwoosh sync customers --since=2025-01-01wp pushwoosh sync orders --historical --since=2026-01-01ব্যক্তিগত ডেটা এক্সপোর্ট ও মুছে ফেলুন
Anchor link toপ্লাগইনটি Tools → Export Personal Data এবং Tools → Erase Personal Data-এ থাকা WordPress-এর ব্যক্তিগত ডেটা টুলগুলোর সাথে কাজ করে:
- Export গ্রাহক সম্পর্কে প্লাগইন যে ডেটা রাখে তা অন্তর্ভুক্ত করে: সিঙ্ক করা ইমেইল, সম্মতির উত্তর, ভাষা এবং গ্রাহকের ট্র্যাক করা কার্ট।
- Erase সেই ডেটা এবং গ্রাহকের ট্র্যাক করা কার্টগুলো মুছে ফেলে, ইমেইলটির জন্য অপেক্ষমাণ Pushwoosh কলগুলো বাতিল করে, এবং Pushwoosh-এ ব্যবহারকারী ও তার কন্টাক্টগুলো মুছে ফেলে। পরবর্তী কোনো চেকআউটে সম্মতির চেকবক্সে টিক না দিলে গ্রাহক আবার সিঙ্ক হন না।
মুছে ফেলা অর্ডারগুলো সরায় না। WooCommerce যে অর্ডার রাখে সেটি স্ট্যাটাস পরিবর্তিত হলে তার বিলিং ইমেইলসহ এখনও অর্ডার ইভেন্ট পাঠায়। অর্ডারগুলো বেনামী করা হবে কিনা তা WooCommerce-এর নিজস্ব প্রাইভেসি সেটিংসে নির্ধারিত হয়।
আপনি Pushwoosh-এ যে ডেটা পাঠান তা আপনার স্টোরের প্রাইভেসি পলিসিতে যোগ করুন।
ইন্টিগ্রেশন কাজ করছে কিনা যাচাই করুন
Anchor link to- এমন একটি ইমেইল দিয়ে একটি টেস্ট অর্ডার দিন যা আপনি খুঁজে পেতে পারেন, এবং সম্মতির চেকবক্সে টিক দিন।
- User Explorer খুলুন এবং সেই ইমেইলটি খুঁজুন।
- যাচাই করুন যে ব্যবহারকারীর
firstName,lastNameএবংacceptsMarketingট্যাগসহ একটি ইমেইল কন্টাক্ট আছে। - যাচাই করুন যে ব্যবহারকারীর ইভেন্টগুলোর মধ্যে
PW_OrderCreatedআছে।
ডেটা না পৌঁছালে, WooCommerce → Status → Logs খুলুন এবং pushwoosh সোর্স নির্বাচন করুন। লগটি প্রতিটি ব্যর্থ কল কারণসহ দেখায়। টোকেন কখনও লগ করা হয় না, এবং ইমেইলগুলো মাস্ক করা থাকে।
প্লাগইন কীভাবে ত্রুটি পরিচালনা করে:
- নেটওয়ার্ক ত্রুটি এবং অস্থায়ী সার্ভার ত্রুটি: কলটি 1, 5, 15, 60 এবং 240 মিনিট পরে পুনরায় চেষ্টা করা হয়, তারপর ত্রুটি হিসেবে লগ করা হয়।
- প্রত্যাখ্যাত ডেটা, যেমন ডিসপোজেবল ইমেইল ডোমেইনের একটি কন্টাক্ট: ত্রুটি হিসেবে লগ করা হয় এবং পুনরায় চেষ্টা করা হয় না।
- প্রত্যাখ্যাত টোকেন: পাঠানো বিরতিতে চলে যায়, এবং WordPress অ্যাডমিনে একটি Resume sending বোতামসহ একটি নোটিস দেখায়। কিউতে থাকা কলগুলো রাখা হয়। সেটিংসে টোকেনটি ঠিক করুন, তারপর Resume sending-এ ক্লিক করুন।