מעקב מסחר אלקטרוני
ה-SDKs של Joryio כוללים מעקב מובנה אחר מסחר אלקטרוני למעורבות במוצרים, לפעילות עגלות ולעסקאות רכישה. כלי המעקב פועל באותה צורה בכל הפלטפורמות: אותן מתודות, אותם שמות אירועים סטנדרטיים ואותה משמעות למאפיינים - רק תחביר השפה שונה.
בחרו את הפלטפורמה שלכם בכל דוגמת קוד למטה; הבחירה מסתנכרנת לאורך כל העמוד. להתקנה ותצורה, ראו את מדריכי הפלטפורמות: Web SDK, iOS SDK, Android SDK, React Native SDK. ל-React Native אין עוקב ייעודי - הלשונית שלו מציגה את קריאות ה-Joryio.track() המקבילות (ראו React Native בהמשך).
מוסכמת שמות מזהים
Joryio משתמש במוסכמת שמות ברורה למזהים:
| המזהה שלך | תיאור | דוגמה |
|---|---|---|
productId | מזהה המוצר שלך (מק"ט, מזהה מוצר מפלטפורמת המסחר האלקטרוני שלך) | "SKU-12345" |
orderId | מזהה ההזמנה שלך (מספר הזמנה מהפלטפורמה שלך) | "ORD-2024-001" |
userId | מזהה המשתמש שלך (מועבר ל-identify()) | "user-123" |
השתמשו במזהים שלכם באופן טבעי - אין צורך בתחיליות מיוחדות.
אתחול המעקב אחר מסחר אלקטרוני
- Web (JS)
- iOS (Swift)
- Android (Kotlin)
- React Native
// Get the e-commerce tracker from your SDK instance
// (joryio is the instance created with `new JoryioSDK({ sdkKey: ... })`)
const ecommerce = joryio.ecommerce({
currency: 'ILS', // Default currency for all events
});
// Get the e-commerce tracker with default currency
let ecommerce = Joryio.shared.ecommerce(config: EcommerceConfig(currency: "ILS"))
import io.joryio.sdk.ecommerce.*
// Get the e-commerce tracker with default currency
val ecommerce = Joryio.getInstance().ecommerce(EcommerceConfig(currency = "ILS"))
// The React Native SDK has no dedicated e-commerce tracker and no
// tracker-level currency config. Send the same standard events with
// Joryio.track(), and include `currency` as a property on each
// monetary event instead.
import Joryio from '@joryio/react-native-sdk';
מעקב צפיות במוצרים וחיפוש
- Web (JS)
- iOS (Swift)
- Android (Kotlin)
- React Native
// Track product view
ecommerce.viewProduct({
productId: 'SKU-12345',
name: 'חולצת טי כחולה קלאסית',
price: 99.99,
category: 'ביגוד',
brand: 'אופנה ישראלית',
variant: 'מידה M',
sku: 'BTS-001-M',
});
// Track category view
ecommerce.viewCategory('cat_123', 'חולצות', {
sort_by: 'popularity',
});
// Track product search
ecommerce.search('חולצות כחולות', 42);
// Track product view
let product = EcommerceProduct(
productId: "SKU-12345",
name: "חולצת טי כחולה קלאסית",
price: 99.99,
category: "ביגוד",
brand: "אופנה ישראלית",
variant: "מידה M",
sku: "BTS-001-M"
)
ecommerce.viewProduct(product)
// Track category view
ecommerce.viewCategory(categoryId: "cat_123", categoryName: "חולצות", properties: [
"sort_by": "popularity"
])
// Track product search
ecommerce.search(query: "חולצות כחולות", resultCount: 42)
// Track product view
val product = EcommerceProduct(
productId = "SKU-12345",
name = "חולצת טי כחולה קלאסית",
price = 99.99,
category = "ביגוד",
brand = "אופנה ישראלית",
variant = "מידה M",
sku = "BTS-001-M"
)
ecommerce.viewProduct(product)
// Track category view
ecommerce.viewCategory(
categoryId = "cat_123",
categoryName = "חולצות",
properties = mapOf("sort_by" to "popularity")
)
// Track product search
ecommerce.search(query = "חולצות כחולות", resultCount = 42)
// Track product view
Joryio.track('Product Viewed', {
product_id: 'SKU-12345',
name: 'חולצת טי כחולה קלאסית',
price: 99.99,
category: 'ביגוד',
brand: 'אופנה ישראלית',
variant: 'מידה M',
sku: 'BTS-001-M',
currency: 'ILS',
});
// Track category view
Joryio.track('Product List Viewed', {
category_id: 'cat_123',
category_name: 'חולצות',
sort_by: 'popularity',
});
// Track product search
Joryio.track('Products Searched', {
query: 'חולצות כחולות',
result_count: 42,
});
מעקב פעילות עגלה
- Web (JS)
- iOS (Swift)
- Android (Kotlin)
- React Native
// Add item to cart
ecommerce.addToCart({
productId: 'SKU-12345',
name: 'חולצת טי כחולה',
price: 99.99,
quantity: 2,
category: 'ביגוד',
}, 199.98); // Optional: current cart value
// Remove from cart
ecommerce.removeFromCart({
productId: 'SKU-12345',
name: 'חולצת טי כחולה',
price: 99.99,
}, 1); // quantity to remove
// Update cart
ecommerce.updateCart([
{ productId: 'SKU-12345', name: 'חולצה', price: 99.99, quantity: 2 },
{ productId: 'SKU-67890', name: 'מכנסיים', price: 149.99, quantity: 1 },
], 349.97);
// Add item to cart
let cartItem = EcommerceCartItem(
productId: "SKU-12345",
name: "חולצת טי כחולה",
price: 99.99,
quantity: 2,
category: "ביגוד"
)
ecommerce.addToCart(item: cartItem, cartValue: 199.98)
// Remove from cart
ecommerce.removeFromCart(product: product, quantity: 1)
// Update cart
ecommerce.updateCart(items: [cartItem1, cartItem2], cartValue: 349.97)
// Add item to cart
val cartItem = EcommerceCartItem(
productId = "SKU-12345",
name = "חולצת טי כחולה",
price = 99.99,
quantity = 2,
category = "ביגוד"
)
ecommerce.addToCart(item = cartItem, cartValue = 199.98)
// Remove from cart
ecommerce.removeFromCart(product = product, quantity = 1)
// Update cart
ecommerce.updateCart(items = listOf(cartItem1, cartItem2), cartValue = 349.97)
// Add item to cart
Joryio.track('Product Added', {
product_id: 'SKU-12345',
name: 'חולצת טי כחולה',
price: 99.99,
quantity: 2,
category: 'ביגוד',
item_total: 199.98, // price * quantity
cart_value: 199.98,
currency: 'ILS',
});
// Remove from cart
Joryio.track('Product Removed', {
product_id: 'SKU-12345',
name: 'חולצת טי כחולה',
price: 99.99,
quantity: 1,
currency: 'ILS',
});
// Update cart
Joryio.track('Cart Updated', {
items: [
{ product_id: 'SKU-12345', name: 'חולצה', price: 99.99, quantity: 2 },
{ product_id: 'SKU-67890', name: 'מכנסיים', price: 149.99, quantity: 1 },
],
item_count: 3,
cart_value: 349.97,
currency: 'ILS',
});
מעקב תהליך התשלום
- Web (JS)
- iOS (Swift)
- Android (Kotlin)
- React Native
// Start checkout
ecommerce.startCheckout([
{ productId: 'SKU-12345', name: 'חולצה', price: 99.99, quantity: 2 },
], 199.98);
// Add payment info
ecommerce.addPaymentInfo('credit_card', {
card_type: 'visa',
});
// Start checkout
ecommerce.startCheckout(items: cartItems, cartValue: 199.98)
// Add payment info
ecommerce.addPaymentInfo(paymentMethod: "credit_card", properties: [
"card_type": "visa"
])
// Start checkout
ecommerce.startCheckout(items = cartItems, cartValue = 199.98)
// Add payment info
ecommerce.addPaymentInfo(paymentMethod = "credit_card", properties = mapOf(
"card_type" to "visa"
))
// Start checkout
Joryio.track('Checkout Started', {
items: [
{ product_id: 'SKU-12345', name: 'חולצה', price: 99.99, quantity: 2 },
],
item_count: 2,
value: 199.98,
currency: 'ILS',
});
// Add payment info
Joryio.track('Payment Info Entered', {
payment_method: 'credit_card',
card_type: 'visa',
});
מעקב רכישות
- Web (JS)
- iOS (Swift)
- Android (Kotlin)
- React Native
// Complete purchase
ecommerce.purchase({
orderId: 'ORD-2024-001',
items: [
{ productId: 'SKU-12345', name: 'חולצה', price: 99.99, quantity: 2, category: 'ביגוד' },
],
value: 199.98,
currency: 'ILS',
shipping: 15.00,
tax: 34.00,
discount: 20.00,
coupon: 'SAVE20',
});
// Complete purchase
let order = EcommerceOrder(
orderId: "ORD-2024-001",
items: cartItems,
value: 199.98,
currency: "ILS",
shipping: 15.00,
tax: 34.00,
discount: 20.00,
coupon: "SAVE20"
)
ecommerce.purchase(order: order)
// Complete purchase
val order = EcommerceOrder(
orderId = "ORD-2024-001",
items = cartItems,
value = 199.98,
currency = "ILS",
shipping = 15.00,
tax = 34.00,
discount = 20.00,
coupon = "SAVE20"
)
ecommerce.purchase(order)
// Complete purchase
Joryio.track('Order Completed', {
order_id: 'ORD-2024-001',
items: [
{ product_id: 'SKU-12345', name: 'חולצה', price: 99.99, quantity: 2, category: 'ביגוד' },
],
item_count: 2,
value: 199.98,
currency: 'ILS',
shipping: 15.00,
tax: 34.00,
discount: 20.00,
coupon: 'SAVE20',
});
המתודה purchase() דורשת לשלוח את פריטי ההזמנה במפורש. ה-SDK לא שומר את עגלת הקניות בצד הלקוח ולא מאחזר אוטומטית את הפריטים מהעגלה שנעקבה או מצד השרת. כך מובטח דיוק, כי עמוד או מסך אישור ההזמנה יודעים בדיוק אילו פריטים נרכשו.
מעקב שינויי סטטוס הזמנה
- Web (JS)
- iOS (Swift)
- Android (Kotlin)
- React Native
// Order fulfilled (shipped)
ecommerce.orderFulfilled('ORD-2024-001', '1Z999AA10123456784', 'DHL');
// Order delivered
ecommerce.orderDelivered('ORD-2024-001');
// Order cancelled
ecommerce.orderCancelled('ORD-2024-001', 'לקוח ביקש ביטול');
// Order refunded
ecommerce.orderRefunded('ORD-2024-001', 99.99, 'מוצר פגום');
// Order fulfilled (shipped)
ecommerce.orderFulfilled(orderId: "ORD-2024-001", trackingNumber: "1Z999AA10123456784", carrier: "DHL")
// Order delivered
ecommerce.orderDelivered(orderId: "ORD-2024-001")
// Order cancelled
ecommerce.orderCancelled(orderId: "ORD-2024-001", reason: "לקוח ביקש ביטול")
// Order refunded
ecommerce.orderRefunded(orderId: "ORD-2024-001", refundAmount: 99.99, reason: "מוצר פגום")
// Order fulfilled (shipped)
ecommerce.orderFulfilled(orderId = "ORD-2024-001", trackingNumber = "1Z999AA10123456784", carrier = "DHL")
// Order delivered
ecommerce.orderDelivered(orderId = "ORD-2024-001")
// Order cancelled
ecommerce.orderCancelled(orderId = "ORD-2024-001", reason = "לקוח ביקש ביטול")
// Order refunded
ecommerce.orderRefunded(orderId = "ORD-2024-001", refundAmount = 99.99, reason = "מוצר פגום")
// Order fulfilled (shipped)
Joryio.track('Order Fulfilled', {
order_id: 'ORD-2024-001',
tracking_number: '1Z999AA10123456784',
carrier: 'DHL',
});
// Order delivered
Joryio.track('Order Delivered', { order_id: 'ORD-2024-001' });
// Order cancelled
Joryio.track('Order Cancelled', {
order_id: 'ORD-2024-001',
reason: 'לקוח ביקש ביטול',
});
// Order refunded
Joryio.track('Order Refunded', {
order_id: 'ORD-2024-001',
refund_amount: 99.99,
reason: 'מוצר פגום',
});
מעקב רשימת משאלות ושיתוף
- Web (JS)
- iOS (Swift)
- Android (Kotlin)
- React Native
// Wishlist
ecommerce.addToWishlist({ productId: 'SKU-12345', name: 'חולצה', price: 99.99 });
ecommerce.removeFromWishlist({ productId: 'SKU-12345', name: 'חולצה', price: 99.99 });
// Share product
ecommerce.shareProduct({ productId: 'SKU-12345', name: 'חולצה', price: 99.99 }, 'whatsapp');
// Wishlist
ecommerce.addToWishlist(product: product)
ecommerce.removeFromWishlist(product: product)
// Share product
ecommerce.shareProduct(product: product, shareMethod: "whatsapp")
// Wishlist
ecommerce.addToWishlist(product)
ecommerce.removeFromWishlist(product)
// Share product
ecommerce.shareProduct(product, shareMethod = "whatsapp")
// Wishlist
Joryio.track('Product Added to Wishlist', {
product_id: 'SKU-12345',
name: 'חולצה',
price: 99.99,
currency: 'ILS',
});
Joryio.track('Product Removed from Wishlist', {
product_id: 'SKU-12345',
name: 'חולצה',
});
// Share product
Joryio.track('Product Shared', {
product_id: 'SKU-12345',
name: 'חולצה',
share_method: 'whatsapp',
});
מעקב קופונים
- Web (JS)
- iOS (Swift)
- Android (Kotlin)
- React Native
// Coupon
ecommerce.applyCoupon('SAVE20', 20.00, 'percentage');
ecommerce.removeCoupon('SAVE20');
// Coupon
ecommerce.applyCoupon(couponCode: "SAVE20", discountAmount: 20.00, discountType: "percentage")
ecommerce.removeCoupon(couponCode: "SAVE20")
// Coupon
ecommerce.applyCoupon(couponCode = "SAVE20", discountAmount = 20.00, discountType = "percentage")
ecommerce.removeCoupon(couponCode = "SAVE20")
// Coupon
Joryio.track('Coupon Applied', {
coupon_code: 'SAVE20',
discount_amount: 20.00,
discount_type: 'percentage',
});
Joryio.track('Coupon Removed', { coupon_code: 'SAVE20' });
מעקב ביקורות
- Web (JS)
- iOS (Swift)
- Android (Kotlin)
- React Native
// Review
ecommerce.submitReview('SKU-12345', 5, 'מוצר מעולה!');
// Review
ecommerce.submitReview(productId: "SKU-12345", rating: 5, reviewText: "מוצר מעולה!")
// Review
ecommerce.submitReview(productId = "SKU-12345", rating = 5, reviewText = "מוצר מעולה!")
// Review
Joryio.track('Product Reviewed', {
product_id: 'SKU-12345',
rating: 5,
review_text: 'מוצר מעולה!',
});
אירועי מסחר אלקטרוני סטנדרטיים
כלי המעקב אחר מסחר אלקטרוני שולח את אותם אירועים סטנדרטיים בכל הפלטפורמות:
| שם האירוע | תיאור |
|---|---|
Product Viewed | משתמש צופה בעמוד מוצר |
Product List Viewed | משתמש צופה בעמוד קטגוריה |
Products Searched | משתמש מחפש מוצרים |
Product Added | פריט נוסף לעגלה |
Product Removed | פריט הוסר מהעגלה |
Cart Updated | תוכן העגלה השתנה |
Checkout Started | משתמש מתחיל תשלום |
Payment Info Entered | משתמש מוסיף אמצעי תשלום |
Order Completed | הזמנה הושלמה |
Order Fulfilled | ההזמנה נשלחה |
Order Delivered | ההזמנה נמסרה |
Order Cancelled | ההזמנה בוטלה |
Order Refunded | ההזמנה זוכתה |
Product Added to Wishlist | מוצר נוסף לרשימת המשאלות |
Product Removed from Wishlist | מוצר הוסר מרשימת המשאלות |
Product Shared | מוצר שותף |
Coupon Applied | קוד קופון הוחל |
Coupon Removed | קוד קופון הוסר |
Product Reviewed | ביקורת מוצר נשלחה |
React Native
ה-React Native SDK לא כולל כלי ייעודי למעקב אחר מסחר אלקטרוני. אפליקציות React Native שולחות בדיוק את אותם אירועים סטנדרטיים עם Joryio.track(), עם אותם שמות אירועים ואותם שמות מאפיינים שכלי המעקב ב-SDKs האחרים שולחים (כלי המעקב ממירים את שדות ה-camelCase שהם מקבלים למאפייני אירוע ב-snake_case). הלשונית React Native בכל סעיף למעלה מציגה את קריאת ה-Joryio.track() המקבילה לכל מתודה של כלי המעקב.
צעדים הבאים
- Web SDK - התקנה, תצורה ותיעוד API מלא
- iOS SDK - שילוב SDK ל-iOS
- Android SDK - שילוב Android SDK
- React Native SDK - שילוב React Native SDK
- אירועים מותאמים - מעקב אחרי אירועים מותאמים
- E-Commerce API - שילוב מסחר אלקטרוני בצד השרת