هدف‌گذاری، قوانین و جایگاه‌ها

آموزش هدف‌گذاری در پنل اینپی فای؛ ساخت قانون جدید، انتخاب شرط‌ها، استفاده از Placement، زمان‌بندی و اولویت پیشنهادها

هدف‌گذاری مشخص می‌کند کدام پیشنهاد، به کدام کاربر و در کدام جایگاه برنامه نمایش داده شود. برای مثال، می‌توانید برای کاربران یک برنامه مشخص، پیشنهاد متفاوتی در صفحه ارتقا قرار دهید؛ بدون اینکه برای هر گروه، نسخه جداگانه‌ای از اپلیکیشن منتشر کنید.

این راهنما مربوط به تنظیمات پنل اینپی فای است. برنامه شما نیز باید پیشنهاد دریافت‌شده را استفاده کند؛ ساخت قانون در پنل، صفحه‌ای را که در کد برنامه به یک پیشنهاد ثابت متصل کرده‌اید خودکار تغییر نمی‌دهد.

پیش از شروع

اگر هنوز راه‌اندازی اولیه را انجام نداده‌اید، از مسیر شروع کار آغاز کنید. هدف‌گذاری برای اولین خرید اجباری نیست.

ابتدا مسیر خرید پیش‌فرض را آزمایش کنید، سپس هر قانون را جداگانه اضافه و بررسی کنید. تغییر هم‌زمان محصول، پیشنهاد و هدف‌گذاری، پیدا کردن علت خطا را دشوار می‌کند.

ساخت هدف‌گذاری جدید در پنل

۱. پروژه را از انتخاب‌گر پروژه انتخاب کنید و از منوی کناری وارد هدف‌گذاری شوید.

۲. قانون جدید را بزنید و یک نام قابل شناسایی وارد کنید؛ مانند «پیشنهاد ارتقای کاربران نسخه جدید». نام قانون برای مدیریت در پنل است، نه شناسه Placement در کد برنامه.

۳. در بخش اگر مشتری مطابقت کرد، نوع شرط، عملگر و مقدار را انتخاب کنید. برای شرط نسخه برنامه، برنامه مربوط را هم انتخاب کنید؛ برای ویژگی سفارشی، نام ویژگی را مشخص کنید.

۴. برای محدودترکردن گروه، افزودن شرط را بزنید. همه شرط‌های یک قانون باید برقرار باشند؛ بخش بعدی این منطق را توضیح می‌دهد.

۵. در بخش نمایش پیشنهاد، پیشنهاد اصلی را انتخاب کنید. اگر برای محل‌های مختلف برنامه پیشنهاد جدا می‌خواهید، از افزودن جایگاه استفاده کنید و پیشنهاد هر جایگاه را مشخص کنید.

۶. وضعیت را در حال اجرا، زمان‌بندی‌شده یا غیرفعال انتخاب کنید. تاریخ‌های لازم و منطقه زمانی را بررسی کنید.

۷. ذخیره را بزنید، قانون را در زبانه وضعیت مربوط پیدا کنید و با یک مشتری آزمایشی داخل شرایط و یک مشتری خارج شرایط، نتیجه را کنترل کنید.

چه شرط‌هایی می‌توانم بگذارم؟

گزینه‌های فعلی پنل این‌ها هستند؛ «نوع کاربر جدید»، «تاریخ آخرین خرید» یا «رفتار بازگشتی» را بدون داده و شرط متناظر، گزینه آماده پنل فرض نکنید.

نحوه انتخابکاربردشرط
بدون شرط دیگر؛ مناسب قانون عمومی انتهای فهرستمطابقت با همه کاربرانهر مخاطبی
نام ویژگی و فهرست مقدارهای مورد نظربخش‌بندی با داده‌ای مانند segmentویژگی سفارشی
انتخاب یک یا چند کشورمحدودکردن بر اساس کشور موجود در اطلاعات هدف‌گذاریکشور
انتخاب یک یا چند برنامهمحدودکردن به برنامه‌های همین پروژهبرنامه
انتخاب برنامه، عملگر مقایسه و نسخه‌ای مانند 2.5.0انتخاب نسخه‌های مشخص یک برنامهنسخه برنامه
انتخاب از گزینه‌های پنل؛ با نام برنامه یکی نیستمحدودکردن به نوع انتشار/فروشگاه برنامهپلتفرم
عملگر مقایسه و شماره نسخه SDKمحدودکردن به نسخه کتابخانه اینپی فاینسخه SDK اینپی فای

عملگرها و ترکیب شرط‌ها

برای کشور، برنامه، پلتفرم و ویژگی سفارشی، می‌توانید یکی از این مقدارها باشد (in) یا هیچ‌کدام از این مقدارها نباشد (not in) را انتخاب کنید.

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

بین شرط‌های جداگانه، منطق «و» برقرار است. مثلاً «کشور ایران» و «برنامه الف» یعنی کاربر باید هم شرط کشور و هم شرط برنامه را داشته باشد. در یک شرط چندمقداری، in یعنی یکی از مقدارهای انتخاب‌شده کافی است. برای دو مسیر جایگزین پیچیده، دو قانون جدا بسازید و ترتیب آن‌ها را کنترل کنید؛ پنل فعلی سازنده آزاد گروه‌های تو‌در‌توی «و/یا» نیست.

انتخاب هر مخاطبی با تأیید شما، شرط‌های دیگر همان قانون را حذف می‌کند. در پروژه نیز نباید چند قانون فعال «هر مخاطبی» داشته باشید. این گزینه را جای یک شرط معمولی کنار شرط‌های دیگر نگذارید.

ویژگی سفارشی و داده‌های مورد نیاز

فرض کنید برنامه برای هر مشتری ویژگی segment را با مقدار new_customer ثبت می‌کند. در پنل، شرط ویژگی سفارشی ← segment ← یکی از این مقدارها ← new_customer را بسازید. این نام‌ها نمونه‌اند، نه کلیدهای خودکار اینپی فای؛ باید واقعاً از سمت برنامه یا سرور شما ثبت شده باشند.

قانون نمی‌تواند ویژگی ارسال‌نشده را حدس بزند. در موتور نسخه ۲، نبود مقدار کشور، نسخه یا ویژگی مورد نیاز باعث عدم تطابق همان شرط می‌شود؛ حتی شرط not in را راه تشخیص ویژگی ارسال‌نشده فرض نکنید. برای کشور هم مقدار واقعی اطلاعات هدف‌گذاری مشتری را کنترل کنید، نه فقط زبان رابط یا شماره تلفن او را.

در هر قانون حداکثر ۲۵ شرط ثبت می‌شود. ابتدا با شرط‌های کم و قابل آزمون شروع کنید.

Placement یا جایگاه چیست؟

Placement یک نام ثابت برای محل درخواست یا نمایش پیشنهاد در برنامه است؛ مانند onboarding برای شروع کار، upgrade برای صفحه ارتقا یا settings برای تنظیمات. جایگاه خودش محصول، پیشنهاد، مشتری یا قانون نیست؛ به برنامه کمک می‌کند پیشنهاد مناسب همان موقعیت را انتخاب کند.

مثلاً یک کاربر ممکن است در ابتدای ورود پیشنهاد آشنایی و در صفحه ارتقا پیشنهاد اشتراک کامل را ببیند. شرط‌ها مشخص می‌کنند این کاربر مشمول کدام قانون است؛ جایگاه‌ها مشخص می‌کنند در هر محل از نتیجه همان قانون چه پیشنهادی استفاده شود.

ساخت و استفاده از جایگاه

۱. ابتدا محل‌های مورد نیاز برنامه را مشخص و برای هرکدام شناسه‌ای ثابت انتخاب کنید.

۲. در فرم قانون، افزودن جایگاه را بزنید؛ جایگاه موجود را انتخاب یا شناسه مورد نظر را وارد کنید و پیشنهاد آن را تعیین کنید. جایگاه جدید هنگام ذخیره در همان پروژه ثبت می‌شود؛ صفحه ساخت پروژه جداگانه‌ای برای این کار لازم نیست.

۳. برای مثال، جایگاه onboarding را به پیشنهاد welcome_offer و upgrade را به پیشنهاد premium_offer وصل کنید. این‌ها شناسه‌های نمونه‌اند؛ پیشنهادهای واقعی پروژه خودتان را انتخاب کنید.

۴. در برنامه، نتیجه جایگاه را از امکانات SDK همان نسخه بخوانید و پیشنهاد آن را نمایش دهید. نام جایگاه در برنامه باید دقیقاً با نام ثبت‌شده در پنل یکی باشد؛ نام نمایشی قانون را به جای آن نفرستید. برای روش اتصال از راهنمای SDK استفاده کنید.

شناسه جایگاه باید حداکثر صد نویسه و شامل حروف انگلیسی، عدد، خط تیره یا زیرخط باشد؛ از فاصله و حروف فارسی در شناسه استفاده نکنید. در یک قانون، شناسه تکراری نگذارید. هر قانون حداکثر پنجاه نگاشت جایگاه دارد.

پیشنهاد سایر موقعیت‌ها و نتیجه خالی

در کنار پیشنهاد جایگاه‌ها، انتخاب برای تمام موارد دیگر و، در حالت مربوط، زمانی که از جایگاه‌ها استفاده نمی‌شود را هم بررسی کنید. این تنظیمات مسیر عمومی قانون را مشخص می‌کنند و با پیشنهاد پیش‌فرض پروژه یکی نیستند.

در موتور نسخه ۲، جایگاه‌های اولین قانون منطبق در نتیجه قرار می‌گیرند؛ جایگاه‌های قوانین بعدی به آن اضافه نمی‌شوند. اگر یک جایگاه بدون پیشنهاد باشد، پیشنهاد جایگزین همان قانون، در صورت وجود، استفاده می‌شود؛ وگرنه نتیجه آن جایگاه می‌تواند خالی باشد. جایگاه تعریف‌نشده هم ممکن است در نتیجه وجود نداشته باشد. برنامه باید این حالت‌ها را مدیریت کند؛ خالی‌بودن را به معنی رفتن خودکار به قانون بعدی ندانید.

زمان‌بندی و وضعیت قوانین

  • در حال اجرا: قانون در انتخاب پیشنهاد شرکت می‌کند. می‌توانید برای پایان آن تاریخ تعیین کنید.
  • زمان‌بندی‌شده: تاریخ و ساعت شروع و پایان را وارد می‌کنید تا قانون در بازه کمپین فعال شود.
  • غیرفعال: قانون نگه‌داری می‌شود اما در انتخاب پیشنهاد شرکت نمی‌کند؛ برای آماده‌سازی و بازبینی مناسب است.

در فهرست، قوانین در سه زبانه وضعیت جدا می‌شوند. از اقدامات قانون غیرفعال می‌توانید زمان‌بندی را انتخاب کنید. برای قانون دارای شرایط مربوط، امکان افزودن تاریخ پایان، فعال‌سازی، غیرفعال‌سازی، ویرایش و ساخت نسخه تکراری نیز وجود دارد. پس از هر تغییر، وضعیت و زمان‌های ذخیره‌شده را کنترل کنید.

زمان‌بندی یعنی تعیین زمان شرکت قانون در ارزیابی؛ پیامک، اعلان یا خرید خودکار ایجاد نمی‌کند و لزوماً صفحه‌ای را که قبلاً در برنامه باز شده به‌روز نمی‌کند.

دقت اجرای زمان‌بندی

در اجرای فعلی، بررسی شروع و پایان قوانین در سرور ساعتی انجام می‌شود. بنابراین تغییر وضعیت را دقیقاً در دقیقه واردشده تضمین نکنید؛ برای کمپین حساس، پس از رسیدن زمان، وضعیت واقعی قانون را در پنل و نتیجه برنامه بررسی کنید.

پنل گزینه منطقه زمانی دارد، اما مسیر فعلی تبدیل و نمایش تاریخ‌ها در بک‌اند، منطقه زمانی انتخابی را صریحاً در تبدیل اعمال نمی‌کند. برای کمپین حساس به اختلاف تهران و UTC، زمان ذخیره‌شده را با پشتیبانی کنترل کنید و فقط به انتخاب منطقه زمانی اتکا نکنید. این راهنما رفتار فعلی را توضیح می‌دهد، نه تضمین زمان‌بندی اصلاح‌شده.

ترتیب قوانین چه اثری دارد؟

قوانین فعال از بالا به پایین بررسی می‌شوند و اولین قانون منطبق انتخاب می‌شود. پس از آن، قوانین پایین‌تر برای آن ارزیابی بررسی نمی‌شوند. شرط دقیق‌تر خودبه‌خود اولویت بیشتری ندارد؛ جای آن در فهرست مهم است.

مثال: قانون اول «هر مخاطبی ← پیشنهاد عمومی» و قانون دوم «برنامه الف ← پیشنهاد ویژه» است. کاربر برنامه الف هم با قانون اول مطابقت دارد، پس پیشنهاد عمومی را می‌گیرد و به قانون ویژه نمی‌رسد. اگر قانون ویژه را بالاتر ببرید، کاربران برنامه الف پیشنهاد ویژه و سایر کاربران پیشنهاد عمومی می‌گیرند.

تغییر ترتیب در پنل

۱. وارد هدف‌گذاری ← در حال اجرا شوید.

۲. تغییر قوانین را بزنید، ردیف‌ها را بکشید و به ترتیب مورد نظر قرار دهید. در رابط فعلی، جابه‌جایی پس از رهاکردن ردیف برای ذخیره ارسال می‌شود؛ دکمه ذخیره جداگانه‌ای در این بخش نیست.

۳. به فهرست برگردید و ترتیب ذخیره‌شده را دوباره بررسی کنید. قوانین زمان‌بندی‌شده و غیرفعال در این فهرست تغییر ترتیب فعال‌ها نمایش داده نمی‌شوند؛ پس از فعال‌شدن آن‌ها هم اولویت را کنترل کنید.

معمولاً قوانین اختصاصی‌تر را بالاتر و قانون عمومی را پایین‌تر بگذارید. جابه‌جایی می‌تواند پیشنهاد و جایگاه‌های دریافتی کاربران مشترک بین چند قانون را تغییر دهد، بدون اینکه شرط‌ها یا محصولی را تغییر داده باشید. این تغییر، خریدهای قبلی یا حق دسترسی خریداری‌شده را بازنویسی نمی‌کند.

اگر هیچ قانون فعالی منطبق نباشد، پیشنهاد پیش‌فرض پروژه مبنای نتیجه عمومی است. از کامل‌بودن آن مطمئن شوید.

چک‌لیست آزمون و عیب‌یابی

  • پروژه و برنامه درست، فعال‌بودن قانون و ترتیب آن را کنترل کنید.
  • پیشنهاد، بسته و محصولات آن باید برای برنامه آزمایشی قابل استفاده باشند.
  • با دو مشتری مشخص داخل و خارج شرایط آزمایش کنید؛ «هر مخاطبی» بالای فهرست نباشد.
  • مقدار واقعی ویژگی‌ها، کشور، نسخه برنامه و نسخه SDK را بررسی کنید.
  • شناسه Placement و رفتار نتیجه خالی را در برنامه کنترل کنید.
  • پیشنهادها را در برنامه تازه دریافت کنید؛ نتیجه ذخیره‌شده یا صفحه باز قبلی ممکن است تغییر جدید را نشان ندهد. روش تازه‌سازی به نسخه SDK بستگی دارد؛ نسخه ۱ و نسخه ۲ را یکسان فرض نکنید.
  • بعد از تغییر ترتیب یا فعال‌شدن کمپین، دوباره آزمون کنید. اگر نتیجه غلط است، همه قوانین منطبق بالاتر را بررسی کنید، نه فقط قانونی که انتظار انتخابش را دارید.

برای نتیجه قابل تحلیل، گزارش‌ها و نمودارها را کنار آزمون واقعی استفاده کنید. هدف‌گذاری انتخاب پیشنهاد است؛ سنجش آزمایش A/B مفهوم جداگانه‌ای دارد.

ادامه مسیر راه‌اندازی

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