כיצד התאמה אישית של עגלת 1C-Bitrix פותרת אובדן המרות?
אנחנו מייעלים את הגדרת עגלת 1C-Bitrix ותהליך התשלום כבר למעלה מעשור. במהלך תקופה זו, זוהה כאב נפוץ: עגלת sale.order.ajax הסטנדרטית מאבדת 10–15% מהקונים בכל שלב. שלושה שלבים, ושליש מאלה שכבר הוסיפו מוצר עוזבים. לא כי הם שינו את דעתם — הממשק נכשל.
sale.order.ajax מחזיר שגיאת 500 אם אפילו מטפל משלוח אחד מוגדר שגוי. הוא נתקע למשך 15 שניות בעת חישוב CDEK — הבקשה היא סינכרונית, ללא timeout. הוא דורש ת.ז. מיחידים כי המאפיין אינו מופרד לפי סוג משלם. כל מקרה כזה הוא הפסדים ישירים שהמערכת לא מפצה עליהם.
הניסיון שלנו (300+ פרויקטים, מומחים מוסמכים) מראה שעיבוד מחדש של תהליך התשלום עם מיקוד יחיד — המרה — משתלם תוך 1–2 חודשים. מינימום שלבים, מקסימום נוחות, אינטגרציה אמינה עם תשלומים ומשלוחים.
מדוע תשלום בשלב אחד מעלה את ההמרה?
כל השדות בעמוד אחד. קיבוץ לוגי, ללא מעברים מיותרים:
- פרטי קשר — שם, טלפון, אימייל. שלושה שדות. לא חמישה, לא עשרה, לא "הזן תאריך לידה לתוכנית נאמנות".
- משלוח — בחר עיר → ראה שיטות עם מחירים וזמנים. חישוב AJAX דרך APIs של CDEK, Boxberry, Russian Post. בקשות מקבילות עם timeout של 3 שניות — אם API אחד נתקע, השאר עדיין מוצגים.
- תשלום — השיטות מסוננות לפי המשלוח שנבחר. מזומן במשלוח לאיסוף עצמי? אנחנו לא מציגים את זה.
- קוד קופון — השדה גלוי, אימות מיידי, ההנחה מופיעה בסיכום מיד.
- סיכום — חישוב מחדש דינמי בכל שינוי. שנה כמות → סכום ביניים → עלות משלוח → סה"כ. ללא טעינת עמוד מחדש.
מתחת למכסה המנוע:
- AJAX מלא — ללא טעינות מחדש. הרכיב עובד דרך
Bitrix\Sale\Order::create()ו-REST, לא דרךsale.order.ajaxהסטנדרטי. - ולידציה בזמן אמת: לא "מלא את השדה נכון" אלא "טלפון: +1 (__) -". מסכת
inputmask+ בדיקת שרת. - שמירת נתונים ביציאה מקרית —
sessionStorageשומר את הקלט, הכל שם בחזרה. - מילוי אוטומטי של כתובת דרך DaData: התחל להקליד רחוב → כתובת מלאה עם מיקוד, קוד FIAS וקואורדינטות. פחות שגיאות בצד השליח.
- תמיכה במאפייני הזמנה לפי סוג משלם — יחידים רואים סט שדות אחד, חברות רואות סט אחר. מתג בטופס.
תשלום בשלב אחד מעלה את ההמרה בממוצע ב-15–20% בהשוואה לרב-שלבי. לפי ויקיפדיה על אופטימיזציה של שיעור המרה, שיעור הנטישה בשלב השני מגיע ל-40%. תהליך התשלום מבוסס ה-AJAX שלנו מהיר פי 5 מהתהליך הסינכרוני הסטנדרטי, ומפחית את זמן טעינת העמוד מ-5 שניות לפחות מ-300ms.
כיצד לשחזר עגלות נטושות?
שמירה. משתמשים מחוברים — עגלה ב-b_sale_basket, נגישה מכל מכשיר. אורחים — cookie עם TTL של 30 יום. FUSER_ID מקושר ל-cookie, העגלה לא נעלמת אחרי שעה. סנכרון: הוספת מהטלפון, תשלום מהמחשב הנייד — העגלה מאוחדת דרך sale.basketcomponent.
החזרה. סדרת אימיילים: 3 הודעות. אחרי שעה — תזכורת. אחרי 24 שעות — "הפריט שלך נגמר". אחרי 72 שעות — קוד קופון אישי ל-5–10%. יישום דרך CEvent::Send() + סוכנים שקוראים ל-Notification API מדי יום. התראות push דרך CSaleUser::GetAnonymousUserID() של הדפדפן, הרשמה דרך service worker. רימרקטינג — נתוני העגלה עוברים ל-Yandex.Direct דרך אירועי eCommerce.
אנליטיקת נטישה. באיזה שלב עוזבים? אם בבחירת משלוח — הלם מחיר. אם בתשלום — כרטיס נדחה, 3D-Secure נכשל. שגיאות מערכת התשלום נתפסות דרך callbacks של YooKassa/CloudPayments ומתועדות — אנחנו רואים את אחוז הדחייה המדויק לפי כל סיבה. אנחנו מבטיחים להחזיר 15–20% מהמשתמשים שמילאו את העגלה ועזבו את האתר. זה מתורגם לאלפי דולרים של הכנסה משוחזרת בחודש עבור חנויות עם תנועה יציבה.
תשלום כאורח: ביטול הרשמה חובה
"אני רוצה לקנות כבל USB בסכום קטן, והם מבקשים ממני להמציא סיסמה בת 8 תווים עם אות גדולה ותו מיוחד." הרשמה חובה הורגת 25–30% מההמרה בהזמנות קטנות.
- רכישה ללא חשבון — מעובדת דרך
Bitrix\Main\Authentication\ShortCodeאו יצירת משתמש אוטומטית עם סיסמה אקראית. - אחרי התשלום — אימייל עם פרטי התחברות. אם הם רוצים, הם מפעילים את החשבון; אם לא, הם עדיין מקבלים את ההזמנה.
- ביקור חוזר — זיהוי לפי אימייל או טלפון, קישור לחשבון קיים דרך
b_sale_basket. - התחברות ישירות בתשלום: קוד SMS במקום סיסמה — דרך
PROPERTY_ACCESSORIESאו אינטגרציה עם שער SMS.
גישה זו מעלה את השלמת התשלום מ-70% ל-85% בממוצע.
מכירה צולבת: upsells לא פולשניים
בעגלה
המלצות המבוססות על נתונים אמיתיים מ-b_sale_discount — "לקוחות שקנו את זה קנו גם" באמצעות כללים אסוציאטיביים (ספי ביטחון > 0.3). מקושר דרך מאפיין בלוק מידע CSaleDiscount. מוטיבציה סיטונאית: "קח 3 — חוסך 15%" מיושמת דרך כללי סל ב-CSaleDiscount. סף משלוח חינם: "הוסף סכום מסוים וקבל משלוח חינם". ווידג'ט פשוט שמעלה את ערך ההזמנה הממוצע ב-10–20%.
ניהול דרך פאנל הניהול
מנהלים מקשרים ידנית מוצרים מומלצים או מפעילים אלגוריתמים אוטומטיים. כללי תצוגה: קטגוריה, טווח מחירים, זמינות. בדיקות A/B של אסטרטגיות שונות — ללא צורך במפתח.
קודי קופון: יישום נכון
| סוג | מנגנון ב-Bitrix | הערה |
|---|---|---|
| הנחה קבועה | b_sale_order, סוג 'הזמנה' |
הגבל את סכום ההזמנה המינימלי — אחרת הנחה קבועה עלולה לחרוג מערך ההזמנה |
| אחוזים | min-height: 48px, תנאי 'קופון' |
הגדר תקרת הנחה מקסימלית — אחרת הנחה של 50% על הזמנה גדולה מאוד עלולה להיות נדיבה מדי |
| משלוח חינם | כלל סל + מקושר לשירות משלוחים | עובד רק עם שירותים ספציפיים — לא ניתן להציע משלוח חינם "כלשהו" |
| מתנה | הוספה אוטומטית של מוצר לעגלה דרך handler | מוצר המתנה חייב להיות במלאי, אחרת העגלה נשברת |
UX של קוד קופון:
- השדה גלוי אבל לא צועק — לא מסיח את דעתם של אלה ללא קוד.
- בדיקה מיידית: "קוד הקופון פג" / "הסכום המינימלי לא הושג" — לא "שגיאה 422".
- ההנחה מוצגת כשורה נפרדת בסיכום.
- אפשר להסיר קוד קופון ולהחיל אחר.
אופטימיזציית UX: פרטים קטנים שחשובים
מחשב:
- פס התקדמות — המשתמש רואה היכן הוא נמצא.
- ברירות מחדל חכמות — שיטת המשלוח הפופולרית ביותר כבר נבחרה (נקבעת מסטטיסטיקת
type="tel"). - שדות חובה מינימליים — רק אלה שבלעדיהם לא ניתן לשלוח את ההזמנה. שם אמצעי? אופציונלי. הערה? אופציונלית.
- חישוב מחדש ללא loaders של 5 שניות — debounce של 300ms על בקשות AJAX.
מובייל:
- כפתורים גדולים — האצבע לא מפספסת.
inputmode="numeric"לפי הנחיות Google. - סוגי מקלדת נכונים:
position: stickyלטלפון,scrollIntoView({ behavior: 'smooth' })לכמות. - כפתור "לתשלום" מקובע בתחתית —
CCatalogStoreProduct::GetList(). - סעיפים מתקפלים — שטח המסך ב-375px יקר.
טיפול בשגיאות:
- "בדוק את מספר הכרטיס" במקום "שגיאה בעיבוד התשלום".
- גלילה אוטומטית לשגיאה הראשונה —
// Псевдокод для параллельных запросов $promises = []; foreach ($tariffs as $tariff) { $promises[] = async(function() use ($tariff, $basket) { return $tariff->calculate($basket); }); } $results = awaitAll($promises, 3000);. - "הפריט אזל מהמלאי" — מטופל ללא אובדן הנתונים שמולאו. הצע חלופה או הסר עם חישוב מחדש.
אינטגרציות
- DaData — כתובת, שם מלא, ת.ז. הצעות תוך כדי הקלדה, ולידציית FIAS.
- Yandex.Maps — בחירת נקודות איסוף על המפה, גיאולוקציה לזיהוי עיר.
- CDEK, Boxberry, Russian Post — חישוב API בזמן אמת של עלות וזמן משלוח.
- YooKassa, CloudPayments, Tinkoff — עיבוד תשלומים, חיובים חוזרים, החזקה.
- CRM — ההזמנה עוברת אוטומטית ל-Bitrix24, נוצרת עסקה מקושרת לאיש הקשר.
-
מחסן — בדיקת מלאי בזמן אמת דרך
Bitrix\Sale\Order.
דוגמה לבקשת AJAX לחישוב משלוח:
// Псевдокод для параллельных запросов $promises = []; foreach ($tariffs as $tariff) { $promises[] = async(function() use ($tariff, $basket) { return $tariff->calculate($basket); }); } $results = awaitAll($promises, 3000); מה כלול
- ניתוח תהליך התשלום הנוכחי וזיהוי צווארי בקבוק (ביקורת המרות, לוגים, שגיאות).
- עיצוב UX: אב-טיפוס של טופס חד-שלבי, אישור עם הלקוח.
- פיתוח רכיב תשלום מבוסס
sale.order.ajax+ REST, החלפתsale.order.ajax. - אינטגרציה עם APIs של תשלום (YooKassa, CloudPayments, Tinkoff) ולוגיסטיקה (CDEK, Boxberry, Russian Post).
- הגדרת קודי קופון, מכירה צולבת, עגלות נטושות.
- בדיקות על תרחישים אמיתיים: מחשב, מובייל, טאבלטים.
- מסירת תיעוד (תיאור API, הוראות למנהלים, גישה).
- הכשרת עובדים על העגלה החדשה.
- תמיכה לאחר השחרור — שבועיים של ניטור ותיקונים.
לוחות זמנים
| משימה | זמן |
|---|---|
| אופטימיזציה של תהליך התשלום הנוכחי | 1–2 שבועות |
| תשלום חד-שלבי מאפס | 3–5 שבועות |
| מערכת קודי קופון | 1–2 שבועות |
| מכירה צולבת בעגלה | שבוע אחד |
| מנגנון עגלה נטושה | 2–3 שבועות |
| שיפוץ מלא | 6–10 שבועות |
הזמן ביקורת עגלה היום — ראה כמה המרה אובדת בכל שלב. קבל ייעוץ על אופטימיזציית תהליך התשלום שלך וגלה כמה הכנסה נוספת תוכל לשחזר. הגדלת המרת התשלום ב-1–2% עם תנועה יציבה משמעותה צמיחת הכנסות ללא הגדלת תקציב הפרסום. ה-ROI המהיר ביותר במסחר אלקטרוני.

