رد شدن به‌خاطر فیلتر پروفایل در برابر خروج از جرنی: هنوز زمان‌بندی‌شده در برابر ترک مسیر

فرق skip فیلتر پروفایل و خروج از جرنی: افسانه‌زدایی، جدول، دیباگ، FAQ و Leadara.

امیر حسینی

اجرای کمپین‌های ایمیل، پیامک و پوش برای جذب، نگهداشت و بازگشت کاربر.

۱ مهر ۱۴۰۵ · 7 دقیقه مطالعه

نسخه دیگر English

رد شدن به‌خاطر فیلتر پروفایل در برابر خروج از جرنی: هنوز زمان‌بندی‌شده در برابر ترک مسیر

خیر — رد شدن از فیلتر پروفایل معمولاً همان اکشن را skip می‌کند ولی فرد برای قدم‌های بعدی زمان‌بندی‌شده می‌ماند؛ خروج واقعی فرد را با goal/تبدیل یا قانون exit از مسیر برمی‌دارد.

اگر وسط فلو فیلتر پروفایل fail شود، از جرنی خارج شده؟

این سؤال پشتیبانی تقریباً هر روز تکرار می‌شود. افسانه رایج: «skip یعنی خارج شد». واقعیت در بیشتر سیستم‌های اتومیشن این است که fail فیلتر ≠ exit.

وقتی فیلتر پروفایل (یا فیلتر اکشن) برقرار نباشد، آن پیام/اکشن skip می‌شود و در آنالیتیکس برچسبی شبیه Skipped: fails filter می‌خورد. trip معمولاً باز می‌ماند و نود بعدی در زمان خودش دوباره ارزیابی می‌شود. خروج واقعی وقتی است که قانون exit، رسیدن به goal، تبدیل تعریف‌شده، یا «دیگر با فیلتر ورود جور نیست و exit-on-mismatch روشن است» فرد را از مسیر بردارد.

این تمایز برای خواندن قیف حیاتی است. اگر skip را خروج بشماری، فکر می‌کنی نصف مخاطب ریخته‌اند؛ درحالی‌که فقط یک گارد یک‌قدم خورده‌اند. برای زمینهٔ پویاتر مسیر، جرنی adaptive در برابر rule-based را ببین — آنجا هم کنترل مسیر با اندازه‌گیری یکی نیست.

skip و exit هر کدام چه معنایی دارند؟

Skipped for profile filter

فرد هنوز در جرنی است. اکشن جاری اجرا نشد. دلیل: شرط پروفایل/سگمنت در آن لحظه false بود. ارزیابی بعدی ممکن است true شود (مثلاً attribute تازه شده) مگر سیاست محصول چیز دیگری بگوید.

Journey exit

فرد دیگر روی این trip زمان‌بندی نمی‌شود. دلیل‌های رایج: خرید (goal)، لغو عضویت، رسیدن به نود end، یا exit criteria که می‌گوید اگر دیگر در سگمنت ورود نیستی خارج شو. این با جرنی در برابر کمپین هم هم‌خوان است: جرنی مسیر دارد و ترک مسیر باید صریح باشد.

جدول مقایسه

معیارSkip به‌خاطر فیلترخروج از جرنی
وضعیت tripمعمولاً باز / scheduledبسته / left path
اکشن جاریاجرا نمی‌شود
قدم بعدیمی‌تواند برسد و دوباره چک شوددیگر نه
برچسب آنالیتیکسskipped / failed filterexited / converted / stopped
اشتباه رایجشمردن به‌عنوان ریزش قیفنادیده گرفتن exit واقعی

مثال‌های روشن

سبد: فیلتر «هنوز خرید نکرده» روی ایمیل ۳ fail می‌شود چون خرید کرده — اگر فقط skip باشد ولی exit روی خرید تعریف نشده باشد، ممکن است هنوز SMS ۴ زمان‌بندی شده بماند (باگ طراحی). درست: exit روی Order Placed + فیلتر.
آنبوردینگ: فیلتر «اپ نصب نشده» روی پیام ۳ → skip؛ پیام ۴ راهنمای پیشرفته برای همه می‌رود. trip باز است.
Holdout: گاهی افراد عمداً پیام نمی‌گیرند ولی در مسیر اندازه‌گیری می‌مانند — با گروه holdout قاطی نکن؛ holdout سیاست آزمایش است نه فیلتر معمولی.

چرا قیف‌ها دروغ می‌گویند؟

داشبوردهایی که فقط «رسید به نود / نرسید» نشان می‌دهند، skip و exit را یکی می‌کنند. باید سه سطل جدا داشته باشی:

  1. Sent / completed action
  2. Skipped (با reason)
  3. Exited (با reason)

بدون سطل ۲، تیم رشد نرخ ریزش را بیش‌ازحد می‌بیند و مسیر را بی‌خودی کوتاه می‌کند.

نگاشت به Leadara

  • Events: ایونت تبدیل باید هم برای exit و هم برای گزارش تبدیل واضح باشد.
  • Segments: فیلتر پروفایل روی سگمنت زنده؛ تأخیر سگمنت می‌تواند skip موقت بسازد.
  • Journeys: برچسب آنالیتیکس skipped action را از exited journey جدا نگه دار.
  • Email/SMS: skip یک کانال به‌معنی توقف همهٔ کانال‌ها نیست مگر exit صریح.

الگوی دیباگ ۱۵دقیقه‌ای

  1. شناسهٔ پروفایل و trip را باز کن.
  2. آخرین وضعیت: active یا exited؟
  3. اگر active است، آخرین اکشن skipped است یا sent؟
  4. reason کد را بخوان.
  5. ببین نود بعدی هنوز زمان دارد یا نه.
  6. فقط اگر exited است دنبال قانون exit بگرد؛ وگرنه فیلتر را درست کن نه «کل قیف را».

سناریوی قدم‌به‌قدم برای آموزش تیم

فرض کن پروفایل «مینا» وارد welcome شده. پیام ۱ و ۲ ارسال شده. پیام ۳ فیلتر «نصب اپ = false» دارد و مینا اپ را نصب کرده → skip. پیام ۴ «میانبرهای پیشرفته» برای نصب‌کنندگان و غیرنصب‌کنندگان نسخهٔ متفاوت ندارد و برای همه است → ارسال می‌شود. وضعیت: active. اگر داشبورد پیام ۳ را «drop-off» نشان دهد، آموزش غلط است.

حالا مینا unsubscribe می‌کند → exit. پیام ۵ دیگر نمی‌رود. این با skip فرق دارد.

جمع‌بندی

Skip = هنوز روی مسیر، این قدم نه. Exit = ترک مسیر. قیف بدون این تفکیک دروغ می‌گوید.

گام بعدی

روی یک جرنی زنده، گزارش را طوری بساز که skipped و exited ستون جدا داشته باشند. یک جلسهٔ ۱۵دقیقه‌ای با رشد و پشتیبانی روی تعریف‌ها هم‌تراز شو. بعد یک پروفایل تست با fail فیلتر و یک پروفایل با exit واقعی بساز و اسکرین لاگ را در README بگذار.

سؤالات پرتکرار

Skip همیشه موقتی است؟

اغلب بله؛ در ارزیابی بعدی ممکن است پاس شود. بستگی به محصول دارد — مستند کن.

آیا می‌توانم fail فیلتر را مساوی exit کنم؟

بعضی پلتفرم‌ها گزینهٔ exit-on-mismatch دارند. صریح روشن کن؛ پیش‌فرض خاموش را فرض نکن.

چرا بعد از خرید هنوز پیام آمد؟

احتمالاً skip روی بعضی نودها بوده ولی exit روی خرید نبوده.

Holdout همان skip است؟

نه. Holdout برای اندازه‌گیری افزایشی است؛ برچسب جدا می‌خواهد.

متریک درست برای سلامت فلو چیست؟

ترکیب sent، skipped-by-reason، exited-by-reason، و درآمد به ازای گیرنده — نه فقط «completion rate» خام.

فیلتر اضافه پیام هم همین‌طور است؟

بله از نظر skip در برابر exit؛ فقط دامنهٔ فیلتر فرق دارد.

برای پیامک گران چه اولویتی دارد؟

Exit روی تبدیل را قبل از ظریف‌کاری کپی درست کن تا بعد از خرید پیامک اضافه نرود.

زبان مشترک برای تیکت پشتیبانی

به‌جای «فلو من را انداخت»، فرم تیکت را این‌طور استاندارد کن:

  • وضعیت trip: active / exited
  • آخرین اکشن: sent / skipped / failed
  • reason code
  • آیا نود بعدی scheduled است؟

با همین چهار فیلد، ۸۰٪ تیکت‌ها بدون باز کردن کل کانوس حل می‌شوند. تیم پشتیبانی دیگر مجبور نیست حدس بزند «خارج شده یا نه».

پیوند با آزمایش و holdout

وقتی holdout داری، بعضی پروفایل‌ها عمداً پیام نمی‌گیرند ولی از نظر آزمایش هنوز در cohort هستند. اگر همان‌ها را در قیف به‌عنوان exit یا skip معمولی قاطی کنی، هم افزایشی و هم دیباگ عملیاتی خراب می‌شود. برچسب holdout را جدا نگه دار.

تمرین کارگاهی یک‌ساعته برای تیم رشد

۴۵ دقیقه کافی است تا افسانه بشکند:

  1. ۱۰ دقیقه: تعریف skip در برابر exit روی وایت‌بورد با مثال مینا.
  2. ۱۵ دقیقه: باز کردن یک trip واقعی با skip و یکی با exit و خواندن reason code با صدای بلند.
  3. ۱۰ دقیقه: تغییر یک داشبورد موقتی که سه سطل sent / skipped / exited را نشان بدهد.
  4. ۱۰ دقیقه: نوشتن تعریف در README جرنی و لینک به این پست.

بدون این تمرین، هر اسپرینت یک بار دیگر همان تیکت «فلو من را انداخت» برمی‌گردد.

ارتباط با اولویت مسیر و گاردها

وقتی چند جرنی هم‌زمان روشن‌اند، ممکن است فردی در جرنی A به‌خاطر فیلتر skip شود و در جرنی B پیام بگیرد. این را خروج از A ندان. اگر می‌خواهی بعد از خرید هیچ پرومویی نرود، باید exit/سپرس صریح بین جرنی‌ها طراحی کنی — نه اینکه به skip یک نود داخل A دل خوش کنی.

چک‌لیست پابلیش جرنی از زاویهٔ skip/exit

قبل از روشن کردن هر جرنی جدید:

  • برای هر نود پیام، آیا فیلترش flow است یا message؟
  • آیا exit روی تبدیل اصلی تعریف شده؟
  • آیا داشبورد حداقل سه سطل sent / skipped / exited دارد؟
  • آیا reason codeها برای پشتیبانی خوانا هستند؟
  • آیا یک پروفایل تست برای skip و یکی برای exit در استیجینگ موجود است؟

اگر یکی نه است، پابلیش را عقب بینداز. درست کردن تعریف بعد از شکایت مشتری گران‌تر از یک روز تأخیر است.

جمع‌بندی عملی برای برنامه‌نویس محصول

از نظر مدل داده: trip state جدا از action result است. action result می‌تواند skipped باشد درحالی‌که trip active است. API و UI آنالیتیکس باید این دو فیلد را قاطی نکنند. اگر امروز فقط یک status داری، همین اسپرینت آن را دو فیلد کن.

مطالب مرتبط

ادامه مطالعه