# ট্রিগারের জন্য অপেক্ষা করুন

**Wait for Trigger** এলিমেন্টটি আপনাকে নিয়ন্ত্রণ করতে দেয় যে আপনার জার্নি কীভাবে প্রবাহিত হবে, যা নির্ভর করে একজন ব্যবহারকারী একটি নির্দিষ্ট সময়সীমার মধ্যে (৯০ দিন পর্যন্ত) এক বা একাধিক নির্দিষ্ট ইভেন্ট ট্রিগার করে কিনা তার উপর।

আপনি তিনটি পর্যন্ত শাখা তৈরি করতে পারেন, যার প্রতিটি একটি নির্দিষ্ট ইভেন্ট বা ইভেন্টের সেট দ্বারা সংজ্ঞায়িত। এটি আপনাকে ব্যবহারকারী কোন ইভেন্ট(গুলি) ট্রিগার করে তার উপর ভিত্তি করে বিভিন্ন যোগাযোগের পথ ডিজাইন করতে দেয়। এছাড়াও একটি অতিরিক্ত শাখা রয়েছে, যার নাম _Not triggered_, সেইসব ব্যবহারকারীদের জন্য যারা অন্য কোনো শাখার শর্ত পূরণ করে না।

<img src="/journey-elements-README-23.webp" alt="জার্নি ক্যানভাসে Wait for Trigger এলিমেন্ট যা ইভেন্ট-ভিত্তিক শাখাবিন্যাস দেখাচ্ছে"/>

##### ব্যবহারের ক্ষেত্র
- কার্টে আইটেম যোগ করার পর একটি নির্দিষ্ট সময়ের মধ্যে কেনাকাটা সম্পন্ন না করা ব্যবহারকারীদের জন্য একটি বিশেষ ছাড় পাঠানো।
- একটি পুশ নোটিফিকেশন পাওয়ার পর ব্যবহারকারী কোন পদক্ষেপ নেয় তার উপর ভিত্তি করে আলাদা যোগাযোগের পথ তৈরি করা: নোটিফিকেশন খোলা, নোটিফিকেশনের লিঙ্কে ক্লিক করা, বা কোনো পদক্ষেপ না নেওয়া।
- একজন ব্যবহারকারী একটি নির্দিষ্ট সময়সীমার মধ্যে কোনো পণ্য দেখে, কার্টে যোগ করে, নাকি কেনে, তার উপর নির্ভর করে বিভিন্ন ফলো-আপ বার্তা সেট আপ করা।




## অপেক্ষার সময়কাল সেট করুন

Wait for Trigger এলিমেন্ট যোগ করার পরে, নির্দিষ্ট করুন সিস্টেমটি কতক্ষণ ব্যবহারকারীর আপনার নির্বাচিত ইভেন্টগুলি ট্রিগার করার জন্য অপেক্ষা করবে।

আপনি ৯০ দিন পর্যন্ত অপেক্ষার সময়কাল সেট করতে পারেন।

যদি এই সময়সীমার মধ্যে নির্বাচিত কোনো ইভেন্ট ট্রিগার না হয়, তাহলে ব্যবহারকারী **Not triggered** শাখা ধরে এগিয়ে যাবে।
<img src="/journey-elements-wait-for-trigger-1.webp" alt="Wait for Trigger এলিমেন্টের জন্য অপেক্ষার সময়কাল সেটিংস দেখানো কনফিগারেশন ইন্টারফেস, যেখানে সময়কাল সেট করার এবং নির্দিষ্ট অপেক্ষার সময়কাল সক্ষম করার বিকল্প রয়েছে"/>

#### নির্দিষ্ট অপেক্ষার সময়কাল (ঐচ্ছিক)

**Fixed waiting period** সক্ষম করুন যদি আপনি চান যে ব্যবহারকারী সবসময় পুরো সময়কাল অপেক্ষা করুক, এমনকি যদি তাদের ইভেন্ট আগেই ঘটে যায়।
<img src="/journey-elements-README-27.webp" alt="Wait for Trigger এলিমেন্ট সেটিংসে Fixed waiting period বিকল্পটি দেখানো কনফিগারেশন ইন্টারফেস।"/>
<Aside type="note" title="উদাহরণ">
ধরুন আপনার জার্নির ধাপগুলো হলো: **Push** → **Wait for Trigger** → **Email**। যদি আপনি **Wait for Trigger** ধাপটি ১ দিনের জন্য সেট করেন এবং **Fixed waiting period** চালু করেন, এমনকি যদি ব্যবহারকারী দ্রুত ইভেন্টটি ট্রিগার করে (উদাহরণস্বরূপ, পুশ পাওয়ার মাত্র ৫ মিনিট পরে), তবুও তারা ইমেল পাওয়ার জন্য এগিয়ে যাওয়ার আগে পুরো ১ দিন অপেক্ষা করবে।
</Aside>


## শাখা কনফিগার করুন

শাখাগুলি আপনাকে জার্নিতে বিভিন্ন ফলাফলের পথ সেট আপ করতে দেয়, যা নির্ভর করে ব্যবহারকারী কোন ইভেন্টগুলি ট্রিগার করে তার উপর। আপনি তিনটি পর্যন্ত শাখা যোগ করতে পারেন, এছাড়াও সবসময় একটি **Not triggered** শাখা থাকে সেইসব ব্যবহারকারীদের জন্য যারা কোনো ইভেন্টের শর্তের সাথে মেলে না।

একটি শাখা কনফিগার করতে:

1. **BRANCH NAME** ফিল্ডে শাখার জন্য একটি নাম লিখুন।

2. **ADD EVENT** এ ক্লিক করে এবং ড্রপডাউন মেনু থেকে একটি ইভেন্ট নির্বাচন করে শাখায় ইভেন্ট যোগ করুন। আপনি প্রতি শাখায় চারটি পর্যন্ত ইভেন্ট যোগ করতে পারেন।

3. প্রতিটি ইভেন্টের জন্য, আপনি নির্দিষ্ট অ্যাট্রিবিউট দ্বারা ইভেন্ট ফিল্টার করতে **ADD CONDITION** এ ক্লিক করে শর্ত যোগ করতে পারেন। উপলব্ধ অপারেটরগুলির জন্য, দেখুন [Tag operators by type](/bn/product/audience-data-and-segmentation/segmentation/create-segments/by-tags/#tag-operators-by-type)।

<img src="/journey-elements-wait-for-trigger-6.webp" alt="ADD CONDITION বোতাম এবং অ্যাট্রিবিউট ফিল্টার বিকল্পগুলির সাথে একটি শাখায় ইভেন্টে শর্ত যোগ করার পদ্ধতি দেখানো কনফিগারেশন ইন্টারফেস"/>

4. একটি শাখা থেকে একটি ইভেন্ট সরাতে, **REMOVE EVENT** এ ক্লিক করুন।

যদি একটি শাখায় একাধিক ইভেন্ট থাকে, তাহলে আপনি নিম্নলিখিত লজিক্যাল অপারেটরগুলির মধ্যে একটি ব্যবহার করে সেগুলি কীভাবে মূল্যায়ন করা হবে তা চয়ন করতে পারেন:

- **AND:** এই শাখা বরাবর এগিয়ে যাওয়ার জন্য ব্যবহারকারীকে তালিকাভুক্ত সমস্ত ইভেন্ট ট্রিগার করতে হবে।
- **OR:** এগিয়ে যাওয়ার জন্য ব্যবহারকারীকে তালিকাভুক্ত ইভেন্টগুলির মধ্যে অন্তত একটি ট্রিগার করতে হবে।

এটি আপনাকে প্রতিটি শাখাকে ব্যবহারকারীর কার্যকলাপের জটিল সংমিশ্রণগুলি একটি স্পষ্ট এবং কাঠামোগত উপায়ে পরিচালনা করার জন্য তৈরি করতে দেয়।

<video src="/journey-elements-README-24.webm" title="Wait for Trigger এলিমেন্টে AND/OR লজিক্যাল অপারেটর সহ একাধিক ইভেন্ট সেট আপ করার পদ্ধতি দেখানো কনফিগারেশন ইন্টারফেস।" autoplay loop muted playsinline />

একটি নতুন শাখা যোগ করতে, **Add branch** এ ক্লিক করুন।

<img src="/journey-elements-wait-for-trigger-5.webp" alt="Wait for Trigger এলিমেন্টে Add branch বোতাম এবং একাধিক শাখা সেটআপ বিকল্প দেখানো কনফিগারেশন ইন্টারফেস"/>

<Aside type="tip">
Wait for Trigger ব্যবহার করার আগে, নিশ্চিত করুন যে আপনি যে ইভেন্টগুলি নিরীক্ষণ করতে চান সেগুলি আপনার প্রকল্পে ইতিমধ্যেই বিদ্যমান। [কীভাবে ইভেন্ট তৈরি করবেন তা জানুন](/bn/product/audience-data-and-segmentation/events/)
</Aside>

### মাল্টি-সেশন অ্যাট্রিবিউট ম্যাচিং সেট আপ করুন

যদি আপনার জার্নি [**Multiple active sessions per user**](/bn/product/customer-journey/journey-elements/entry-elements/trigger-based-entry/#multiple-active-sessions-per-user) ব্যবহার করে, তবে এই বিভাগটি স্বয়ংক্রিয়ভাবে প্রদর্শিত হবে। এর উদ্দেশ্য হলো নিশ্চিত করা যে প্রতিটি আগত ইভেন্ট সঠিক ব্যবহারকারী সেশনের সাথে মিলে যায়, ব্যবহারকারীর প্রতিটি সক্রিয় সেশনে প্রয়োগ না হয়ে।


সেশন ম্যাচিং কনফিগার করতে:

1. প্রথমে, আপনার শাখায় একটি ইভেন্ট যোগ করুন (উপরে [Configure branches](#configure-branches) বিভাগে বর্ণিত হিসাবে)।

2. তারপর, ড্রপডাউনে একটি অ্যাট্রিবিউট নির্বাচন করুন যা সেশনটিকে চিহ্নিত করে। আপনার নির্বাচিত অ্যাট্রিবিউটটিকে অবশ্যই দুটি শর্ত পূরণ করতে হবে:

   - এটি অবশ্যই Entry ধাপে ব্যবহৃত শনাক্তকারীর সাথে মিলতে হবে (উদাহরণস্বরূপ, `order_id`, `appointment_id`, `transaction_id`)।
   
   - এটি অবশ্যই আপনার শাখায় যোগ করা ইভেন্টেও উপস্থিত থাকতে হবে।

<img src="/journey-elements-wait-for-trigger-2.webp" alt="সেশন শনাক্তকারী নির্বাচনের বিকল্প সহ মাল্টি-সেশন অ্যাট্রিবিউট ম্যাচিং ড্রপডাউন দেখানো কনফিগারেশন ইন্টারফেস"/>


<Aside type="caution" title="গুরুত্বপূর্ণ">
আপনি Entry ধাপে ব্যবহৃত হুবহু একই অ্যাট্রিবিউট বা একই মান ধারণকারী যেকোনো অ্যাট্রিবিউট ব্যবহার করতে পারেন (উদাহরণস্বরূপ, `order_list`-এর ভিতরে একটি `order_id`)। যদি মানটি Entry সেশন শনাক্তকারীর সাথে না মেলে, Pushwoosh জানবে না ইভেন্টটি কোন সেশনের অন্তর্গত এবং সেই ব্যবহারকারীর **সমস্ত** সক্রিয় সেশনে ইভেন্টটি প্রয়োগ করবে।
[আরও জানুন](/bn/product/customer-journey/journey-elements/entry-elements/trigger-based-entry/#multiple-active-sessions-per-user)
</Aside>

##### উদাহরণ

আপনার অ্যাপ ব্যবহারকারীদের একাধিক অ্যাপয়েন্টমেন্ট বুক করার অনুমতি দেয়। প্রতিটি বুকিং একটি পৃথক জার্নি সেশন শুরু করে যা `appointment_id`-এর মতো একটি অ্যাট্রিবিউট দ্বারা চিহ্নিত করা হয়।

ধরুন একজন ব্যবহারকারী দুটি অ্যাপয়েন্টমেন্ট বুক করেছেন:

* অ্যাপয়েন্টমেন্ট **1001**
* অ্যাপয়েন্টমেন্ট **1002**

এটি দুটি সক্রিয় সেশন তৈরি করে, প্রতিটি অ্যাপয়েন্টমেন্টের জন্য একটি।

পরে, ব্যবহারকারী `AppointmentConfirmed`-এর মতো একটি ইভেন্ট ট্রিগার করে যাতে `appointment_id: 1001` থাকে।
**Wait for Trigger** এলিমেন্টটি এই মানটিকে সেশন শনাক্তকারীর সাথে তুলনা করে এবং সঠিকভাবে শুধুমাত্র অ্যাপয়েন্টমেন্ট **1001**-এর সেশনে ইভেন্টটি প্রয়োগ করে। এটি নিশ্চিত করে যে সঠিক অ্যাপয়েন্টমেন্ট ফ্লো চলতে থাকে।

> যদি ইভেন্টটিতে সেশন-ম্যাচিং অ্যাট্রিবিউট (এই ক্ষেত্রে `appointment_id`) অন্তর্ভুক্ত না থাকে, Pushwoosh নির্ধারণ করতে পারে না এটি কোন সেশনের অন্তর্গত। তখন ইভেন্টটি ব্যবহারকারীর **সমস্ত** সক্রিয় সেশনে প্রয়োগ করা হবে, যা ভুল বা ডুপ্লিকেট ফ্লো-এর দিকে নিয়ে যাবে।



## ব্যবহারের উদাহরণ

**১. এক বা একাধিক নির্দিষ্ট ইভেন্ট ট্রিগার করা ব্যবহারকারীদের জন্য বিশেষ যোগাযোগ ব্যবস্থা সেট আপ করুন।** কল্পনা করুন আপনি সেইসব গ্রাহকদের ইমেল করতে চান যারা একটি প্লেনের টিকিট বুক করেছেন এবং তার জন্য অর্থ প্রদান করেছেন। এই কাজটি করার জন্য, একটি শাখা সহ একটি Wait for Trigger ধাপ যোগ করুন এবং এতে দুটি ইভেন্ট নির্দিষ্ট করুন: _TicketBooked_ এবং _TickedPurchased_ (ধরে নিন আপনি সেগুলি আগে কনফিগার করেছেন)। _AND_ লজিক্যাল অপারেটরটি নির্বাচন করুন যাতে শুধুমাত্র যে ব্যবহারকারীরা উভয় শর্ত পূরণ করবে তারাই আরও এগিয়ে যাবে।

<img src="/journey-elements-README-25.webp" alt="টিকিট বুকিং এবং কেনার জন্য AND লজিক ব্যবহার করে দুটি ইভেন্ট সহ একটি Wait for Trigger কনফিগারেশনের উদাহরণ।" data-size="original"/>

**২. কেনা পণ্যের ধরনের উপর নির্ভর করে ফ্লো বিভক্ত করুন।** ধরা যাক আপনি Basic এবং Premium সাবস্ক্রিপশন অফার করেন। একটি সাবস্ক্রিপশন কেনার সময়, ব্যবহারকারীরা _SubscriptionPurchased_ ইভেন্টটি _type_ অ্যাট্রিবিউট সহ ট্রিগার করে যা _Basic_ বা _Premium_ মান পায়। সাবস্ক্রিপশনের ধরনের উপর নির্ভর করে জার্নি ফ্লো বিভক্ত করতে, দুটি শাখা সহ একটি Wait for Trigger ধাপ যোগ করুন। প্রথম শাখায়, _type is Basic_ শর্ত সহ _SubscriptionPurchased_ ইভেন্টটি নির্দিষ্ট করুন; দ্বিতীয়টিতে, _type is Premium_ শর্ত সহ _SubscriptionPurchased_ ইভেন্টটি যোগ করুন।

<video src="/journey-elements-README-26.webm" title="Basic এবং Premium সাবস্ক্রিপশন ধরনের জন্য দুটি শাখা সহ একটি Wait for Trigger কনফিগারেশনের উদাহরণ।" autoplay loop muted playsinline />