Skip to main content

رهگیری رویداد ها

ردیابی رویدادها

مطالعه ضروری

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

رویدادهای سیستمی و سفارشی در زبلاین

زبلاین بلافاصله پس از یکپارچه‌سازی SDK شروع به ردیابی برخی رویدادهای پیش‌فرض می‌کند. این رویدادها "رویدادهای سیستمی (System Events)" نامیده می‌شوند و شامل تعاملات عمومی کاربران با برنامه و کمپین‌های شما هستند. در ادامه لیستی از این رویدادهای سیستمی که به‌طور خودکار ردیابی می‌شوند، ارائه شده است.

ایجاد رویدادهای سفارشی

برای ردیابی سایر تعاملات کاربران که برای کسب‌وکار شما حیاتی هستند، می‌توانید رویدادهای سفارشی (Custom Events) ایجاد کنید. هر رویداد سفارشی می‌تواند شامل ویژگی‌های رویداد (Event Attributes) مانند قیمت، تعداد، دسته‌بندی و سایر موارد باشد.

مزایای استفاده از داده‌های دقیق در رویدادهای سفارشی:

  • امکان تحلیل عمیق‌تر رفتار کاربران
  • ارائه کمپین‌های شخصی‌سازی‌شده و مرتبط
  • تعامل مؤثرتر با کاربران در تمامی کانال‌های ارتباطی

ردیابی رویدادهای سفارشی در زبلاین

شما می‌توانید رویدادهای سفارشی را از طریق متد zebline.event.track در Web SDK ردیابی کنید. همچنین می‌توانید داده‌های مرتبط با رویداد (ویژگی‌های رویداد) را همراه با آن ارسال کنید.

نکته

برای ثبت کردن تمامی رفتارهای کاربر در وبسایت از تابع زیر استفاده میشود:

zebline.event.track(eventName, [eventData]);

نکات مهم:

  • نام رویداد سفارشی باید کمتر از ۵۰ کاراکتر باشد.
  • نام ویژگی‌های رویداد سفارشی نسبت به حروف بزرگ و کوچک حساس است و نباید بیش از ۵۰ کاراکتر باشد.
  • مقدار ویژگی‌هایی که از نوع رشته (String) هستند نباید بیش از ۱۰۰۰ کاراکتر باشد.

انواع داده‌های مجاز برای ویژگی‌های رویداد:

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

  • رشته (String)
  • عددی (Number)
  • بولی (Boolean)
  • تاریخ (Date)
  • آرایهٔ JSON (JSON Array)
  • شیٔ JSON (JSON Object)

نکته: شیٔ JSON فقط می‌تواند شامل یکی از انواع داده‌های فوق باشد.

قراردادهای نام‌گذاری

  • تمامی کلیدها باید به‌صورت حروف کوچک (lowercase) باشند.

  • برای نام‌گذاری کلیدهایی که بیش از یک کلمه دارند، از زیرخط (_) استفاده کنید.

    • مثال: first_name، membership_level، favorite_color

محدودیت‌های تعداد ویژگی‌ها:

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

ردیابی ویژگی‌های رویداد سفارشی

نمونه کد (JavaScript)

افزودن به سبد خرید

zebline.event.track("added_to_cart", {
"Product ID": 1337,
"Price": 39.80,
"Quantity": 1,
"Product": "Givenchy Pour Homme Cologne",
"Category": "Fragrance",
"Currency": "USD",
"Discounted": true
});

ثبت سفارش

zebline.event.track("order_placed", {
"Amount": 808.48,
"Product 1 SKU Code": "UHUH799",
"Product 1 Name": "Armani Jeans",
"Product 1 Price": 300.49,
"Product 1 Size": "L",
"Product 2 SKU Code": "FBHG746",
"Product 2 Name": "Hugo Boss Jacket",
"Product 2 Price": 507.99,
"Product 2 Size": "L",
"Delivery Date": new Date("2017-01-09T00:00:00.000Z"),
"Delivery City": "San Francisco",
"Delivery ZIP": "94121",
"Coupon Applied": "BOGO17"
});

ثبت بازدید صفحه

zebline.event.track("page_viewed", {
"Page URL": "https://example.com/home",
"Page Title": "Homepage",
"Referrer": "https://google.com",
"Timestamp": new Date()
});

ثبت عضویت کاربر

zebline.event.track("user_signed_up", {
"User ID": "user_12345",
"Signup Method": "Google",
"Plan Type": "Premium",
"Signup Date": new Date("2024-02-15T12:00:00.000Z")
});

خروج از سیستم

zebline.event.track("user_logged_out", {
"User ID": "user_12345",
"Logout Reason": "User clicked logout",
"Timestamp": new Date()
});

پرداخت انجام شد

zebline.event.track("payment_completed", {
"User ID": "user_56789",
"Amount": 150.75,
"Payment Method": "Credit Card",
"Transaction ID": "TXN_789456",
"Payment Date": new Date("2024-02-15T14:30:00.000Z")
});

ردیابی رویدادهای پیچیده:

شما در SDK می توانید اتربیوت های ایونت های پیچید تر را به عنوان انواع داده های Array و Object به زبلاین ارسال کنید.

به محض راه اندازی SDK زبلاین تعدادی از رویدادهای سیستمی و مهم توسط SDK به صورت خودکار رهگیری میشود و شما نیز میتوانید از قابلیت رهگیری رویداد آن برای رهگیری کردن هرگونه رویداد سفارشی کاربر با وب سایت خود استفاده کنید.

ارسال ویژگی‌های پیچیده همراه با رویدادهای سفارشی در زبلاین

علاوه بر ارسال ویژگی‌های ساده، شما می‌توانید ویژگی‌های پیچیده (Complex Event Attributes) را نیز همراه با رویدادهای سفارشی ارسال کنید. این ویژگی‌ها می‌توانند شامل آرایه‌ها، اشیا و داده‌های تو در تو باشند.

نمونه کد (JavaScript)

ثبت سفارش با ویژگی‌های پیچیده

zebline.event.track("order_placed", {
"Amount": 2300,

/* مقدار تاریخی */
"Delivery Date": new Date("2017-01-09T00:00:00.000Z"),

/* داده‌های پیچیده */
"Products": [
{
"SKU Code": "UHUH799",
"Product Name": "Armani Jeans",
"Price": 300.49,
"Details": {
"Size": "L"
}
},
{
"SKU Code": "FBHG746",
"Product Name": "Hugo Boss Jacket",
"Price": 507.99,
"Details": {
"Size": "L"
}
}
],

/* اشیا */
"Delivery Address": {
"City": "San Francisco",
"ZIP": "94121"
},

/* آرایه‌ها */
"Coupons Applied": [
"BOGO17"
]
});

سایر نمونه‌ها

ثبت اطلاعات محصول در سبد خرید

zebline.event.track("cart_updated", {
"User ID": "user_78901",
"Cart Items": [
{
"Product ID": "12345",
"Name": "iPhone 13",
"Price": 999.99,
"Attributes": {
"Color": "Blue",
"Storage": "128GB"
}
},
{
"Product ID": "67890",
"Name": "MacBook Air",
"Price": 1299.99,
"Attributes": {
"Color": "Silver",
"RAM": "16GB"
}
}
]
});

ثبت تراکنش بانکی

zebline.event.track("bank_transaction", {
"Transaction ID": "TXN_987654",
"User ID": "user_56789",
"Amount": 2500,
"Currency": "USD",
"Transaction Type": "Deposit",
"Timestamp": new Date("2024-03-01T10:00:00.000Z")
});

ثبت تعامل کاربر با صفحه

zebline.event.track("user_interaction", {
"User ID": "user_11223",
"Page Name": "Dashboard",
"Click Elements": ["Settings Button", "Profile Picture", "Logout Button"],
"Timestamp": new Date()
});

این روش به شما امکان می‌دهد داده‌های پیچیده و ارزشمندتری را برای تحلیل بهتر تعاملات کاربران جمع‌آوری کنید.

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

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

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

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