הזמנות
דף ההזמנות עונה על השאלה שרק Joryio יכול לענות עליה: איזו הודעה יצרה כל הזמנה. זהו דף תפעולי, לא אנליטי - מוצאים הזמנה, בודקים את הסטטוס שלה ורואים את הייחוס שלה. ניתוח ההכנסות נמצא בסקירת המסחר האלקטרוני; הטיפול בהזמנה (משלוח, החזרים) מנוהל בחנות שלכם.
כל נתון הוא בניכוי החזרים.
הדף
- כותרת - הכותרת, בורר טווח תאריכים (אותם ערכים מוגדרים מראש שמשמשים בכל האנליטיקה), וייצוא CSV.
- לשוניות סטטוס - כל ההזמנות / שולמו / ממתינות / הוחזרו, לצד מספרים.
- סרגל כלים - חיפוש (מספר הזמנה, שם לקוח או אימייל), מקור, לקוח, ייחוס ומיון.
- טבלה - שורה אחת לכל הזמנה; לחיצה על שורה פותחת את מגירת הפרטים.
- עימוד - בצד השרת; הדף טוען עמוד אחד בכל פעם.
לשוניות סטטוס
הדף משתמש בתצוגת סטטוס ממוקדת-תשלום - החנות אחראית על הטיפול בהזמנה, ולכן הזמנה שנשלחה או נמסרה מופיעה כאן כשולמו ברגע שהחנות מדווחת שהיא שולמה (ראו שולמה או ממתינה לתשלום):
| לשונית | כולל |
|---|---|
| שולמו | התשלום התקבל (בעיבוד, נשלח, נמסר) |
| ממתינות | טרם שולמו: הזמנות ממתינות, והזמנות ממתין לתשלום (בעיבוד, נשלחו או נמסרו, אבל החנות עוד לא קיבלה תשלום - למשל תשלום במזומן בעת המסירה) |
| הוחזרו | הוחזרו במלואן או בחלקן |
שולמה או ממתינה לתשלום
הסטטוס של הזמנה אומר איפה היא נמצאת (בעיבוד, נשלחה, נמסרה); האם היא שולמה הוא נתון נפרד, שנקרא ממה שכל חנות רושמת. הזמנה בעיבוד, שנשלחה או שנמסרה, שהחנות עוד לא קיבלה עליה תשלום, מקבלת תג כתום ממתין לתשלום ונספרת תחת ממתינות, אף פעם לא תחת שולמו:
| חנות | שולמה כאשר |
|---|---|
| WooCommerce | ההזמנה הושלמה (Completed), או ששולמה דרך שער תשלום. הזמנת תשלום במזומן בעת המסירה (Cash on delivery), או הזמנה שנוצרה בממשק הניהול בלי אמצעי תשלום, ממתינה לתשלום עד שמסמנים אותה כהושלמה - WooCommerce רושם תאריך תשלום לכל הזמנה שמגיעה ל-Processing, ולכן התאריך הזה לבדו לא נקרא כתשלום. הזמנות בהעברה בנקאית ובצ'ק ממתינות ב-On hold (ממתינות) עד שמעבירים אותן ל-Processing, מה שמסמן אותן כשולמו |
| Shopify | סטטוס התשלום של ההזמנה הוא Paid (או Refunded / Partially refunded). Pending, Authorized, Partially paid, Voided ו-Expired אינם שולמו |
| Magento | החשבוניות של ההזמנה שולמו (הסכום ששולם מגיע לסכום ההזמנה), או שההזמנה Complete או Closed. הזמנה ש-Magento העביר ל-Processing כי נשלחה לפני שהופקה לה חשבונית ממתינה לתשלום |
| PrestaShop | המצב הנוכחי של ההזמנה מסומן "Set the order as paid" |
| ה-API של ההזמנות | שולחים paymentStatus: unpaid (או paid). בלעדיו, הזמנה בעיבוד, שנשלחה או שנמסרה נחשבת שולמה |
ההכנסות לא מושפעות: ההכנסות והייחוס סופרים כל הזמנה שלא בוטלה ולא הוחזרה, שולמה או לא, כמו קודם.
הזמנות שהתקבלו לפני השינוי הזה מציגות את מה שהסטטוס שלהן אמר, עד שהחנות שולחת את ההזמנה שוב (כל עדכון, התאמת החנות, או סנכרן עכשיו באינטגרציה). הזמנות Shopify כבר נושאות את סטטוס התשלום שלהן ומציגות אותו מיד. ב-WooCommerce נדרש תוסף 1.6.20 ומעלה כדי שהאירועים החיים יישאו אותו (הסנכרון ב-REST וה-webhooks נושאים אותו בכל גרסה); ב-Magento נדרש תוסף 1.4.20 ומעלה (סנכרון ההזמנות נושא אותו בכל גרסה).
מסנני סרגל הכלים
| מסנן | אפשרויות |
|---|---|
| חיפוש | מספר הזמנה, שם לקוח או אימייל |
| מיוחס ל | הכול / קמפיינים בלבד / מסעות בלבד / ללא ייחוס |
| לקוח | הכול / לקוח חדש / לקוח חוזר |
| ייחוס דרך | הכול / קוד קופון / לחיצה ישירה בלבד / לחיצה מסייעת / פתיחה בלבד |
| חנות | כל החנויות, או חנות אחת (ראו חנות וערוץ מכירה) |
| ערוץ | כל הערוצים / אונליין / קופה בחנות / אפליקציה / טלפון והזמנה ידנית / מרקטפלייס / אחר |
| מיון | החדשות ביותר / הערך הגבוה ביותר / הערך הנמוך ביותר |
עמודות הטבלה
| עמודה | תיאור |
|---|---|
| הזמנה | מספר ההזמנה שלכם |
| תאריך | מתי בוצעה |
| לקוח | שם + תג FIRST/REPEAT + אימייל |
| פריטים | הפריט הראשון + "עוד N - N יחידות" |
| סכום | סכום ההזמנה, עם "הוחזר x$-" מתחתיו (מחוק בקו כאשר הוחזר במלואו) |
| מיוחס ל | קמפיין/מסע + ערוץ + כיצד הייחוס נזקף |
| חנות וערוץ | החנות שאליה שייכת ההזמנה, ואיפה היא נמכרה |
| סטטוס | שולמה / ממתין לתשלום / ממתינה / הוחזרה חלקית / הוחזרה |
ייחוס
עבור כל הזמנה, Joryio מתעד איזה קמפיין או מסע יצר אותה, כיצד נזקף הקרדיט, ומתי:
| כיצד | משמעות | עוצמה |
|---|---|---|
| לחיצה ישירה (direct) | הלקוח לחץ על הקישור של הקמפיין הזה וביצע רכישה (דטרמיניסטי, אותו סשן) | חזקה |
| לחיצה מסייעת | הלקוח לחץ על הודעה בתוך החלון לפני הרכישה | חזקה |
| פתיחה בלבד | הלקוח פתח אך לא לחץ (מוצג בכתום) | חלשה |
| ללא ייחוס | אין מעורבות בתוך החלון - עדיין נספר בהכנסה הכוללת | - |
התא "מיוחס ל" מציג את שם הקמפיין/המסע, שבב ערוץ (email/SMS/push/in-app/WhatsApp), ושורה כמו "לחץ - 3 שעות לפני" או "פתיחה בלבד - 41 שעות לפני".
לחיצה ישירה בלבד
יש צוותים שסומכים רק על רכישות שבהן הלקוח לחץ על קישור וביצע רכישה (דטרמיניסטי), ורוצים להחריג את האפקט החלוני/המסייע. השתמשו במסנן ייחוס ← לחיצה ישירה בלבד כדי לרשום בדיוק את ההזמנות האלה. אותה תצוגה זמינה כמתג בסקירת המסחר האלקטרוני, וכנתון Direct באנליטיקה של קמפיין.
מגירת הפרטים
פתיחת הזמנה מציגה תחילה את הייחוס (מדוע היא זוכה - או לא זוכה - בקרדיט), לאחר מכן את הלקוח, ואז את שורות הפריטים עם סכום ביניים, סכום שהוחזר, והכנסה נטו. החזרים והטיפול בהזמנה מנוהלים בחנות שלכם, והמגירה מציינת זאת. הזמנה שבוטלה מציגה הכנסה נטו 0 ואת ההודעה בוטלה - לא נספרת בהכנסות, כמו כל נתון הכנסה שאינו כולל אותה.
עגלה משוחזרת
הזמנה שבוצעה מעגלה נטושה - מאותה עגלה או מקישור שחזור אליה; הזמנה שאיש הקשר מבצע מעגלה חדשה אינה שחזור (ראו עגלות) - מסומנת עגלה משוחזרת מתחת ל"מיוחס ל", והחלונית שלה נפתחת עם העגלה ששוחזרה: של מי הייתה (איש קשר אחר, כשהקונה השלים את הרכישה מקישור שחזור עם מייל אחר), הערך שלה, מתי ננטשה, וקישור הצג עגלה לעגלות.
שחזור וייחוס הם שני דברים נפרדים. שחזור מציין מאיזו עגלה הגיעה ההזמנה; "מיוחס ל" מציין איזו הודעה מקבלת את הקרדיט - בשחזור, ההודעה שבה הוקלק קישור השחזור, גם כשהקונה השלים את הרכישה עם מייל אחר (ראו עגלות). הזמנה משוחזרת מופיעה כ"ללא ייחוס" רק כשלא תועדה הקלקה על הודעה.
קופונים
המגירה מציגה כל קוד קופון שבו השתמשו בהזמנה, עם ההנחה שכל קוד נתן, ואת סך ההנחה של ההזמנה. כל הקודים נשמרים, לא רק הראשון:
| חנות | קודים | הנחה לכל קוד |
|---|---|---|
| WooCommerce | כל שורת קופון | כן (ללא מס). הזמנות מהתוסף כוללות אותה החל מתוסף 1.3.1; תוספים ישנים יותר שולחים את הקודים בלבד |
| Shopify | כל קוד הנחה | כן, עם הסוג (סכום קבוע, אחוז, משלוח) |
| Magento | קוד הקופון של ההזמנה | לא - Magento מדווחת על הנחה אחת לכל כללי העגלה של ההזמנה, ולכן המגירה מציגה "החנות לא דיווחה על הסכום" ואת סך ההנחה של ההזמנה |
| Orders API | כל רשומה ב-coupons | כאשר שולחים amount |
ההתאמה של קודים אינה תלויה באותיות גדולות או קטנות - SUMMER10 ו-summer10 הם אותו קוד. בנו קהל עם מסנני הקופונים, או הפעילו מסע על Order Completed כאשר coupon_codes מכיל את הקוד (ראו קודי קופון באירוע הרכישה).
חנות וערוץ מכירה
כל הזמנה מציגה איפה היא נמכרה - ערוץ המכירה שלה - ואת החנות שאליה היא שייכת, כך שעסק עם חנות פיזית ואתר, או עם שתי חנויות, יכול להבחין בין ההזמנות. סננו את הרשימה לפי חנות וערוץ; סקירת המסחר האלקטרוני מפצלת את ההכנסות באותה דרך, ומסנני החנות והערוץ בונים מהם קהלים.
| ערוץ | משמעות |
|---|---|
אונליין (online) | האתר או הקופה המקוונת שלכם - ברירת המחדל |
קופה בחנות (pos) | קופה בחנות פיזית |
אפליקציה (app) | האפליקציה שלכם |
טלפון והזמנה ידנית (phone) | הוזנה על ידי צוות: טלפון, מייל, הזמנה ידנית או טיוטה |
מרקטפלייס (marketplace) | מרקטפלייס של צד שלישי |
אחר (other) | כל דבר אחר |
חנות מחוברת היא החנות של ההזמנות שלה, והערוץ נקבע לפי מה שהפלטפורמה רושמת: מקור ההזמנה ב-Shopify (pos עבור Shopify POS, טיוטות והזמנות מאפליקציית הניהול כטלפון), השדה "created via" של WooCommerce (הזמנות מממשק הניהול כטלפון, תוסף קופה כקופה בחנות), והזמנות שנוצרו בממשק הניהול של Magento כטלפון. PrestaShop לא רושמת איפה בוצעה ההזמנה, ולכן ההזמנות שלה הן אונליין. הזמנות שנשלחות דרך ה-API נושאות את salesChannel, storeId ו-storeName ששלחתם - ראו חנות וערוץ מכירה ב-API.
ייצוא CSV
ייצוא CSV מוריד את ההזמנות שהדף מציג כעת - אותו טווח תאריכים, לשונית, מסננים, חיפוש ומיון - בכל העמודים, עד 50,000 הזמנות (צמצמו את טווח התאריכים כדי לקבל יותר). כל שורה כוללת את ההזמנה, הלקוח, הסכומים, ההנחה, הייחוס ושתי עמודות קופונים: coupon_codes (SUMMER10; VIP) ו-coupons, שמוסיפה את ההנחה של כל קוד כשהיא ידועה (SUMMER10 (10.00); VIP). הייצוא דורש את הרשאת הייצוא (users:export), כי הקובץ מכיל כתובות אימייל של לקוחות. העמודות store, store_id ו-sales_channel מציינות לאיזו חנות שייכת ההזמנה ואיפה היא נמכרה (channel הוא ערוץ הייחוס).
מודלי ייחוס וחלונות
אופן זקיפת הקרדיט להזמנה ניתן להגדרה:
- מודל - נגיעה אחרונה (לחיצה גוברת על פתיחה), לחיצה אחרונה, או נגיעה ראשונה. הגדירו את ברירת המחדל של סביבת העבודה תחת הגדרות ← ייחוס הכנסות; קמפיין או מסע יכולים לעקוף אותה בהגדרות ההמרה שלהם.
- חלון - עד כמה אחורה נגיעה יכולה להתרחש לפני ההזמנה. כל קמפיין/מסע משתמש בחלון ההמרה שלו (ברירת מחדל 7 ימים).
- ספירת פתיחות - האם פתיחות (חלשות ורועשות יותר מלחיצות) נזקפות כלל. ברמת סביבת העבודה, מופעל כברירת מחדל.
שינוי הגדרה חל על הזמנות חדשות מיד וזוקף מחדש הזמנות קיימות ברקע. כדי להשוות מודלים זה לצד זה (למשל לחיצה אחרונה מול נגיעה אחרונה), פתחו מסחר אלקטרוני ← סקירה ← השוואת מודלים.
שדות הזמנה
| שדה | תיאור |
|---|---|
externalId | מזהה ההזמנה שלכם מפלטפורמת המסחר האלקטרוני |
userId | מזהה המשתמש של הלקוח ב-Joryio |
status | סטטוס ההזמנה |
paymentStatus | paid או unpaid, כפי שהחנות דיווחה; ריק כשאף חנות לא דיווחה (ראו שולמה או ממתינה לתשלום) |
total | סכום ההזמנה הסופי |
subtotal | סכום לפני הנחות |
totalRefunded | הסכום שהוחזר עד כה (מנכה מההכנסה) |
items | מערך שורות פריטים |
coupons | כל קודי הקופון בהזמנה: code, amount (ההנחה שהקוד נתן, כשהחנות מדווחת עליה) ו-type. couponCode עדיין מכיל את הקוד הראשון |
placedAt | חותמת הזמן של ההזמנה |
campaignId / canvasId | תג ייחוס דטרמיניסטי (לחיצה ישירה) |
source, utmSource, utmMedium, utmCampaign | תגי ערוץ / UTM |
salesChannel, storeId | איפה נמכרה ההזמנה (online, pos, app, phone, marketplace, other) והחנות שאליה היא שייכת - ראו חנות וערוץ מכירה |
שורות הפריטים נושאות מזהה מוצר ושם, כמות ומחיר, מק"ט/וריאנט, וכתובת תמונה.
שימוש בהזמנות בקמפיינים
אימיילים לאישור הזמנה
<h1>Thank You for Your Order!</h1>
<p>Order #{{ order.id }}</p>
{% for item in order.items %}
<div class="item">
<img src="{{ item.imageUrl }}" />
<p>{{ item.name }} x {{ item.quantity }}</p>
<p>${{ item.price }}</p>
</div>
{% endfor %}
<p>Total: ${{ order.total }}</p>
מסעות לאחר רכישה
צרו מסעות Canvas המופעלים על ידי אירועי הזמנה - אישור הזמנה, פנייה לאחר מסירה, בקשת חוות דעת, חידוש מלאי.
אירועי הזמנה
| אירוע | תנאי הפעלה |
|---|---|
ecommerce.order.created | הזמנה חדשה בוצעה |
ecommerce.order.fulfilled | הזמנה נשלחה |
ecommerce.order.cancelled | הזמנה בוטלה |
ecommerce.order.refunded | בוצע החזר |
ecommerce.order.status_changed | כל שינוי בסטטוס |
מאפייני Order Completed
מלבד ההזמנה עצמה (orderId, total, currency, itemCount, coupon_codes, source), כל אירוע Order Completed נושא את העגלה שממנה הגיעה ההזמנה ואת הדרך שבה הקונה הגיע, כך שאפשר להשתמש בהם במסנן סגמנט או בתנאי של מסע:
| מאפיין | סוג | ערך |
|---|---|---|
cartRef | טקסט | המזהה של החנות לעגלה שממנה בוצעה ההזמנה (ב-Magento quote_33, סשן של WooCommerce, מזהה עגלה של PrestaShop, טוקן checkout של Shopify) - אותו cartRef שנשא ה-Cart Abandoned של אותה עגלה. רק כשהחנות שולחת אותו. |
recoveredCart | אמת / שקר | true כשההזמנה שחזרה עגלה נטושה - אותה החלטה כמו התג עגלה משוחזרת. הזמנה מעגלה חדשה היא false. |
recoveredVia | טקסט | רק בשחזור. recovery_link: קישור שחזור החזיר את העגלה. same_cart: העגלה הנטושה עצמה הגיעה לתשלום. contact_cart: ההזמנה לא נשאה מזהה עגלה (הזמנות מ-Orders API, מה-SDK ומ-webhook של WooCommerce), ולכן נספרה העגלה הנטושה של איש הקשר עצמו. reported: הקריאה POST /carts/recovered ציינה את ההזמנה הזו. |
utm_source, utm_medium, utm_campaign, utm_term, utm_content | טקסט | פרמטרי ה-UTM של הביקור שממנו הגיעה ההזמנה, כשהחנות מדווחת עליהם (Shopify שולחת source, medium ו-campaign). |
campaign_id, canvas_id | טקסט | הקמפיין או המסע של Joryio שהקישור שלו הביא את הקונה, כשהקישור נשא אותם. |
sales_channel, store_id | טקסט | איפה נמכרה ההזמנה, ואם יש לה חנות - החנות (ראו חנות וערוץ מכירה). sales_channel תמיד קיים. |
מאפיין שהחנות לא שלחה לא נכלל באירוע, ולעולם לא נשלח ריק. האירוע נכתב אחרי ש-Joryio קבעה איזו עגלה ההזמנה סגרה, ולכן מסע שמופעל על Order Completed כבר רואה את הערכים האלה. לכל הזמנה יש Order Completed אחד בדיוק, שנכתב בפעם הראשונה ש-Joryio מקבלת את ההזמנה, במועד שבו ההזמנה בוצעה: עדכון מאוחר של אותה הזמנה (שינוי סטטוס, ביטול, החזר) לעולם לא כותב אירוע נוסף ולעולם לא מתחיל את המסע בפעם השנייה.
לדוגמה, מסע שמופעל על Order Completed עם התנאי recoveredCart שווה true יכול להודות לקונה שחזר לעגלה שלו.
החזרים
סטטוס ההחזר והסכום שהוחזר מסתנכרנים מ-Shopify ומ-WooCommerce (וניתן לשלוח אותם על ידי אינטגרציה מותאמת אישית באמצעות totalRefunded ב-Orders API). כל נתון הכנסה בדף - וגם בייחוס - הוא בניכוי החזרים: החזר חלקי מקטין את ההכנסה נטו של ההזמנה, והזמנה שהוחזרה במלואה אינה תורמת דבר לקרדיט של הקמפיין שלה.
אירועי החזר וביטול
כל חנות מחוברת וה-API של ההזמנות הופכים החזר חדש או ביטול לאירוע שאפשר להפעיל עליו מסע או לבנות עליו סגמנט:
| אירוע | מתי | מאפיינים עיקריים |
|---|---|---|
Order Refunded | פעם אחת לכל החזר, מלא או חלקי | order_id, total (הסכום שההחזר הזה החזיר, במטבע ההזמנה), total_base (במטבע הבסיס שלכם), currency, refund_type (full או partial), refund_amount (זהה ל-total), refund_id, reason, products (פריטי השורה שהוחזרו, כשהחנות מפרטת אותם), coupon_codes, sales_channel, store_id |
Order Cancelled | פעם אחת לכל הזמנה | order_id, total, currency, reason, cancelled_at, coupon_codes, sales_channel, store_id |
פעם אחת, בכל דרך שהוא מגיע. חנות מדווחת על אותו החזר יותר מפעם אחת - שליחה חוזרת של webhook, גם התוסף וגם webhook, סנכרון שרץ שוב. Joryio משווה כל עדכון הזמנה להזמנה כפי שנשמרה: רק החזר שעוד לא נספר יוצר אירוע, ועדכון ישן מההזמנה השמורה נדחה. לכל אירוע מזהה קבוע (מזהה ההחזר של החנות, כשהיא מספקת אותו), כך שמסע נכנס פעם אחת לכל החזר.
| מקור | החזר | ביטול |
|---|---|---|
| Shopify | כל החזר, עם המזהה, התאריך, ההערה והפריטים שהוחזרו | cancelled_at, עם סיבת הביטול של Shopify |
| WooCommerce | כל מזהה החזר בהזמנה (בתאריך העדכון האחרון של ההזמנה); הסטטוס refunded מהתוסף נחשב החזר מלא | סטטוס cancelled (וגם תשלום שנכשל, או הזמנה שנמחקה ב-WooCommerce) |
| Magento | כל עלייה בסכום שהוחזר בהזמנה, שנקלטת בסנכרון ההזמנות; הסטטוס closed (נשלח בזמן אמת מההרחבה) נחשב החזר מלא | סטטוס canceled |
| ה-API של ההזמנות | refunds בהזמנה (אירוע אחד לכל id), totalRefunded, סטטוס refunded, או POST /orders/:id/refund | סטטוס cancelled, או POST /orders/:id/cancel |
הזמנות עבר. הסנכרון הראשון של חנות רושם החזרים וביטולים של הזמנות עבר בהיסטוריית האירועים בתאריך שלהם (כשהוא בשנתיים האחרונות; ישנים יותר מדולגים), בדיוק כמו שהוא רושם את ה-Order Completed שלהן. כמוהם, הם אף פעם לא מפעילים מסע: רק שינויים שמגיעים בזמן אמת מפעילים.
ההכנסות לא מוקטנות פעמיים. דוחות ההכנסות, הייחוס ו-RFM כבר מנכים החזרים מההזמנה עצמה, ומשאירים בחוץ הזמנות שבוטלו או הוחזרו במלואן. Order Refunded ו-Order Cancelled אינם הכנסה: אף דוח לא מפחית אותם.
אם אתם שולחים הזמנות גם מ-SDK, אל תקראו ל-orderRefunded / orderCancelled של ה-trackers עבור הזמנות שחנות או ה-API של ההזמנות כבר שולחים - כל החזר יירשם פעמיים.