Skip to main content

رهگیری کاربران

رهگیری کاربران

مطالعه ضروری

پیشنهاد می‌کنیم پیش از ادامه، با تمامی مفاهیم مرتبط با کاربران (Users) و رویدادها (Events) آشنا شوید. این کار به شما کمک می‌کند تا درک بهتری از نحوه عملکرد این بخش داشته باشید.

شناسایی کاربران

در زبلاین، شناسایی کاربران بلافاصله پس از یکپارچه‌سازی پلتفرم‌های شما از طریق SDK آغاز می‌شود. هر بار که کاربری از وب‌سایت شما بازدید می‌کند، SDK زبلاین به‌طور خودکار یک شناسه منحصربه‌فرد (AnonymousId) برای او ایجاد می‌کند. این شناسه به ما کمک می‌کند تا کاربران را در بک‌اند ثبت کرده و یک پروفایل ناشناس برای آن‌ها بسازیم. تمام داده‌های رفتاری و نشست‌های آن‌ها شامل رویدادهای سیستمی، رویدادهای سفارشی، ویژگی‌های سیستمی کاربر و ویژگی‌های سفارشی کاربر در پروفایل ناشناس ذخیره می‌شود.

شناسایی کاربران با شناسه منحصربه‌فرد

شما می‌توانید یک شناسه منحصربه‌فرد (UserId) برای هر کاربر اختصاص دهید تا آن‌ها را شناسایی کنید. توصیه می‌کنیم که UserId را در هر یک از این لحظات در چرخه حیات کاربر اختصاص دهید:

  • هنگام ثبت‌نام (Signup).
  • هنگام ورود (Login).
  • هنگام مشاهده‌ی صفحات که در آن هویت کاربر مشخص می‌شود.
  • زمانی که زمینهٔ کاربر (User Context) تغییر می‌کند.

تأثیر اختصاص دادن UserId به کاربر

هنگامی که UserId به یک کاربر اختصاص داده شود:

  1. کاربر شناسایی می‌شود (و به‌عنوان "کاربر شناخته‌شده" در داشبورد شما ظاهر خواهد شد).
  2. یک پروفایل جدید برای کاربر ایجاد می‌شود که شامل تمامی داده‌های او است.
  3. تمامی پروفایل‌های ناشناس قبلی او با پروفایل جدید ترکیب می‌شوند تا یک نمای یکپارچه از کاربر ایجاد شود.

این بدان معناست که از اولین بازدید کاربر در وب‌سایت شما تا آخرین تعامل او، همه داده‌ها در یک پروفایل واحد ذخیره خواهند شد!

مثال

نحوه ادغام پروفایل‌های کاربری هنگام شناسایی کاربر (اختصاص UserId)

فرض کنید کاربر A چندین بار قبل از ثبت‌نام از وب‌سایت شما بازدید می‌کند:

  1. روز اول: کاربر A برای اولین بار از وب‌سایت شما بازدید می‌کند. زبلاین به‌طور خودکار یک AnonymousId به او اختصاص داده و یک پروفایل ناشناس (Anonymous Profile 1) ایجاد می‌کند که تمام داده‌های او را ثبت می‌کند.

  2. روز سوم: کاربر A مجدداً از وب‌سایت شما بازدید می‌کند. زبلاین یک AnonymousId جدید به او اختصاص داده و یک پروفایل ناشناس جدید (Anonymous Profile 2) ایجاد می‌کند.

  3. روز هفتم: کاربر A مجدداً بازدید کرده و یک حساب کاربری ایجاد می‌کند. در این مرحله، شما می‌توانید یک UserId برای او اختصاص دهید. این اقدام منجر به ایجاد یک پروفایل جدید برای کاربر شناخته‌شده (Known User Profile) خواهد شد.

فرآیند ادغام پروفایل‌ها

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

در این مثال:

  • Anonymous Profile 1 و Anonymous Profile 2 با پروفایل نهایی کاربر A ادغام می‌شوند.
  • تمام داده‌های قبلی و جدید او در یک پروفایل واحد ذخیره خواهد شد.

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

دستورالعمل‌ها

در هنگام اختصاص یک شناسه منحصربه‌فرد (UserId) برای شناسایی کاربران، نکات زیر را در نظر داشته باشید:

  • تمامی APIهای مرتبط با کاربران، بخشی از شیٔ کاربر در SDK زبلاین هستند.
  • یک UserId می‌تواند حداکثر ۱۰۰ کاراکتر داشته باشد.
  • پس از اختصاص، UserId قابل تغییر نیست.
  • با اینکه UserId می‌تواند هر رشته‌ای باشد که کاربران را در سیستم شما منحصربه‌فرد شناسایی کند، پیشنهاد می‌شود از شناسه‌های تولیدشده توسط سیستم پایگاه داده به‌جای اطلاعاتی مانند ایمیل، نام کاربری یا شماره تلفن که ممکن است تغییر کنند، استفاده کنید.

ورود کاربر (Login)

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

پس از اجرای login، تمامی داده‌های ذخیره‌شده به کاربر شناخته‌شده منتسب خواهند شد.

اطمینان حاصل کنید که login را بلافاصله پس از ورود کاربر، یا در اولین لحظه‌ای که امکان شناسایی او وجود دارد، اجرا کنید.

نمونه کد (JavaScript)

zebline.user.login('9SBOkLVMWvPX');

خروج کاربر (Logout)

اطمینان حاصل کنید که هنگام خروج کاربر از سیستم، logout را فراخوانی کنید.

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

نمونه کد (JavaScript)

zebline.user.logout();
نکته مهم درباره شناسایی کاربران در زبلاین

هنگامی که کاربر وارد وب‌سایت می‌شود، SDK زبلاین به‌طور خودکار یک AnonymousId به او اختصاص داده و رویدادهای سیستمی یا سفارشی او را بر اساس این شناسه ردیابی می‌کند.

شناسایی کاربر (Login): اگر کاربر ناشناس وارد حساب کاربری خود شود یا در هر شرایطی هویت او مشخص گردد، باید متد زیر را فراخوانی کنید:

zebline.user.login('USERID');

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

خروج کاربر (Logout): هنگامی که کاربر از حساب کاربری خود خارج می‌شود، باید فراخوانی متد زیر را انجام دهید:

zebline.user.logout();

این کار باعث می‌شود که رویدادها و تعاملات جدید به حساب کاربری قبلی متصل نشوند و شناسه قبلی (AnonymousId) به کاربر اختصاص داده شود.

توجه: عدم فراخوانی login یا logout می‌تواند باعث عدم تطابق داده‌های کاربران و مشکلات در تحلیل تعاملات شود. بنابراین، همیشه هنگام ورود و خروج کاربران، این متدها را اجرا کنید.

ویژگی‌های کاربر (User Attributes)

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

  1. ویژگی‌های سیستمی کاربر (System User Attributes)
  2. ویژگی‌های سفارشی کاربر (Custom User Attributes)

تمامی ویژگی‌های کاربر برای کاربران ناشناس و شناخته‌شده ردیابی می‌شوند.

کاربرد ویژگی‌های کاربر

زبلاین توابع مخصوصی برای تنظیم مقادیر ویژگی‌های کاربران فراهم کرده است. این ویژگی‌ها می‌توانند در موارد زیر استفاده شوند:

  • بخش‌بندی کاربران (User Segmentation)
  • پیکربندی هدف‌گذاری کمپین‌ها
  • شخصی‌سازی پیام‌ها در تمام کانال‌های ارتباطی

تفاوت ویژگی‌های کاربر با پارامترهای رویداد

هر نشست (Session) دارای ویژگی‌های کاربر مخصوص خود است که از یک نشست به نشست دیگر کپی می‌شود. در حالی که پارامترهای رویداد ممکن است در هر نشست مقدار متفاوتی داشته باشند.

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

تنظیم ویژگی‌های سیستمی کاربر (Setting System Attributes)

توجه: مقدار ویژگی‌هایی که از نوع رشته (String) هستند باید کمتر از ۱۰۰۰ کاراکتر باشد. در غیر این صورت، مقدار اضافی حذف خواهد شد.

ایمیل

نمونه کد (JavaScript)

zebline.user.setAttribute('email', 'john@doe.com');

تاریخ تولد

فرمت تاریخ باید مطابق با استاندارد ISO باشد (yyyy-MM-dd)

نمونه کد (JavaScript)

zebline.user.setAttribute('birth_date', '1999-08-19');

شماره موبایل

نمونه کد (JavaScript)

zebline.user.setAttribute('mobile', '09121234567');

وضعیت اشتراک کاربران (Opt-In Status)

می‌توانید ترجیحات اشتراک کاربران برای SMS، Web Push، Email را با استفاده از متد زیر تنظیم کنید:

نمونه کد (JavaScript)

zebline.user.setAttribute('email_opt_in', true); // ایمیل

zebline.user.setAttribute('sms_opt_in', true); // پیامک (SMS)

نکات مهم:

  • به‌صورت پیش‌فرض، تمام کاربرانی که آدرس ایمیل یا شماره تلفن خود را ارائه کرده‌اند، به ترتیب برای دریافت ایمیل و پیامک در وضعیت Opted-in قرار دارند.
  • اشتراک در اعلان‌های وب (Web Push Notifications) مستقیماً از طریق زبلاین قابل جمع‌آوری است.
  • کاربرانی که از یک کانال ارتباطی خاص انصراف داده‌اند (Opted-out)، هیچ ارتباطی از طریق آن کانال دریافت نخواهند کرد.

تنظیم ویژگی‌های سفارشی کاربران (Custom Attributes)

می‌توانید با استفاده از متد zebline.user.setAttribute در Web SDK، ویژگی‌های سفارشی را برای کاربران ردیابی کنید.

دستورالعمل‌های ردیابی ویژگی‌های سفارشی

در نظر داشته باشید:

  • نام ویژگی‌های کاربر نسبت به حروف بزرگ و کوچک حساس است و باید کمتر از ۵۰ کاراکتر باشد.
  • مقادیر رشته‌ای نباید بیش از ۱۰۰۰ کاراکتر باشند. در غیر این صورت، مقدار اضافی حذف خواهد شد.
  • شما می‌توانید حداکثر ۲۵ ویژگی سفارشی از هر نوع داده ایجاد کنید.
  • نوع داده اولین مقدار ارسال‌شده برای ویژگی را تعیین می‌کند و باید در تمام مقادیر بعدی یکسان باقی بماند. در غیر این صورت، داده‌های جدید در داشبورد زبلاین ذخیره نخواهند شد.

ویژگی‌های سفارشی ساده (Simple Custom Attributes)

ویژگی‌هایی با انواع داده رشته‌ای (String)، عددی (Number)، بولی (Boolean) و تاریخ (Date) به عنوان ویژگی‌های سفارشی ساده شناخته می‌شوند. در اینجا نحوه تنظیم این ویژگی‌ها آورده شده است:

۱. ویژگی رشته‌ای (String Attribute)

نمونه کد (JavaScript)

zebline.user.setAttribute("Category", "GOLD");

۲. ویژگی عددی (Number Attribute)

نمونه کد (JavaScript)

zebline.user.setAttribute("Value Index", 5.06);

۳. ویژگی بولی (Boolean Attribute)

نمونه کد (JavaScript)

zebline.user.setAttribute("Inactive", false);

۴. ویژگی تاریخ (Date Attribute)

توجه: مقدار تاریخ باید مطابق با فرمت استاندارد ISO باشد.

نمونه کد (JavaScript)

zebline.user.setAttribute("Registered On", new Date("2015-11-09T10:01:11.000Z"));

تنظیم چندین ویژگی کاربر به‌طور هم‌زمان

علاوه بر استفاده از متد zebline.user.setAttribute برای تنظیم یک ویژگی واحد، می‌توانید از متد zebline.user.setAttributes برای تنظیم چندین ویژگی کاربر به‌طور هم‌زمان استفاده کنید.

نمونه کد (JavaScript)

zebline.user.setAttributes({
email: 'john@doe.com',
inactive: false,
registered_on: new Date("2015-11-09T10:01:11.000Z"),
city: 'Tehran',
locale: 'Iran'
});

ارسال دسته ای اطلاعات

ویژگی‌های سیستمی (System Attributes)

این ویژگی‌ها از پیش‌تعریف‌شده‌اند و برای شناسایی کاربران و اطلاعات اصلی آن‌ها استفاده می‌شوند.

zebline.user.setAttributes({
email: 'john@doe.com',
mobile: '09120000000',
birth_date: '1986-08-19',
email_opt_in: true
});

ویژگی‌های سفارشی (Custom Attributes)

این ویژگی‌ها را می‌توان برای ذخیره اطلاعات خاص مرتبط با کاربران تعریف کرد.

zebline.user.setAttributes({
membership_level: 'Gold',
purchase_count: 15,
last_purchase_date: new Date("2024-02-10T14:30:00.000Z"),
prefers_notifications: true
});

نکته: هنگام تنظیم ویژگی‌هایی که دارای مقدار تاریخ هستند، حتماً از فرمت استاندارد ISO استفاده کنید.

با استفاده از این روش، می‌توانید ویژگی‌های مختلف کاربران را به‌طور مؤثر و بهینه تنظیم کنید.

نکات مهم در ارسال دیتای کاربر

اگر در ارسال دیتای کاربر پارامتری مقدار ندارد به جای اینکه از استرینگ خالی یا نال برای مقدار آن استفاده کنید، از ارسال آن خودداری کنید.

در اینتگریشن SDK پارامتر userId یا anonymousId توسط خود SDK ارسال می گردد و نیازی به قرارگیری این پارامتر در دیتا نیست.

مقادیری که عددی هستند را سعی کنید همیشه به صورت عددی و با تایپ number بفرستید.

اگر سؤالی دارید، لطفاً با پشتیبانی زبلاین از طریق support@zebline.com تماس بگیرید یا با مدیر ورود به سیستم خود در ارتباط باشید. ما همیشه از طریق ایمیل در دسترس شما هستیم!