מדריך: הגדרת טריגר ירידת מחיר למוצרים שנצפו בביטריקס

משתמש צפה במוצר שלוש פעמים ביומיים — סימן ברור לעניין. אבל לא ביצע רכישה. תזכורות אימייל סטנדרטיות מניבות המרה של 2-3%. ירידת מחיר אוטומטית 24-48 שעות לאחר הצפייה או שליחת קופון אישי ממירה עד 15% ממשתמשים כאלה. ב-1C-Bitrix, זה מיושם באמצעות th
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
מדריך: הגדרת טריגר ירידת מחיר למוצרים שנצפו בביטריקס
פשוט
~1 יום

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • image_website-b2b-advance_0.webp
    פיתוח אתר חברה B2B ADVANCE
    1458
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    פיתוח אתר לחברת FIXPER
    1019
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    761
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    882
  • image_crm_dolbimby_434_0.webp
    פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    805
  • image_crm_technotorgcomplex_453_0.webp
    פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    1163

משתמש צפה במוצר שלוש פעמים ביומיים — סימן ברור לעניין. אבל ללא רכישה. תזכורות דוא"ל סטנדרטיות מניבות המרה של 2-3%. ירידת מחיר אוטומטית 24-48 שעות לאחר הצפייה או שליחת קופון אישי ממירה עד 15% מהמשתמשים הללו. ב-1C-Bitrix, זה מיושם באמצעות מודול השיווק ומטפל אירועים. אנו מגדירים טריגר זה במפתח מלא תוך 3-5 ימי עבודה.

עם ניסיון של 10 שנים, יישמנו עשרות פתרונות דומים. עלות היישום מתחילה מ-$500 עבור הגדרות בסיסיות, ועם עליית המרה של 15%, חנות מקוונת עם הכנסה חודשית של $50k מרוויחה תוספת של $7.5k בחודש. אנו משתמשים בתבניות מוכחות עם בלוקי HL ב-Bitrix וסוכני Bitrix.

בניסיון שלנו, אחד הלקוחות שלנו, קמעונאי אלקטרוניקה מקוון, השיג עליית המרה של 15% ו-ROI ממוצע של 300% בתוך החודש הראשון לאחר יישום טריגר זה. דוגמה זו מדגימה את כוחם של הנחות אישיות ואוטומציית הנחות.

הגדרת סוכן הטריגר ותזמון

מעקב אחר צפיות

צפיות במוצר נכתבות לטבלת בלוק HL. מודול הסטטיסטיקה הסטנדרטי (b_stat_page_event) אינו מתאים — אנו זקוקים לקשר בין משתמש ספציפי למוצר ספציפי. שאילתת upsert מעדכנת את המונה והתאריך, ומונעת כפילויות:

קוד מעקב צפיות
// /local/lib/Tracking/ProductViewTracker.php namespace Local\Tracking; class ProductViewTracker { public static function track(int $userId, int $productId): void { if ($userId <= 0) return; // только авторизованных $conn = \Bitrix\Main\Application::getConnection(); // Upsert: обновляем счётчик и дату последнего просмотра $conn->queryExecute(" INSERT INTO b_uts_product_view (UF_USER_ID, UF_PRODUCT_ID, UF_VIEW_COUNT, UF_LAST_VIEW, UF_TRIGGER_SENT) VALUES ({$userId}, {$productId}, 1, NOW(), 'N') ON DUPLICATE KEY UPDATE UF_VIEW_COUNT = UF_VIEW_COUNT + 1, UF_LAST_VIEW = NOW() "); } } 

קרא לזה ברכיב כרטיס המוצר, ב-// /local/lib/Tracking/ProductViewTracker.php namespace Local\Tracking; class ProductViewTracker { public static function track(int $userId, int $productId): void { if ($userId <= 0) return; // только авторизованных $conn = \Bitrix\Main\Application::getConnection(); // Upsert: обновляем счётчик и дату последнего просмотра $conn->queryExecute(" INSERT INTO b_uts_product_view (UF_USER_ID, UF_PRODUCT_ID, UF_VIEW_COUNT, UF_LAST_VIEW, UF_TRIGGER_SENT) VALUES ({$userId}, {$productId}, 1, NOW(), 'N') ON DUPLICATE KEY UPDATE UF_VIEW_COUNT = UF_VIEW_COUNT + 1, UF_LAST_VIEW = NOW() "); } } :

// /local/templates/.default/components/bitrix/catalog.element/main/result_modifier.php global $USER; if ($USER->IsAuthorized()) { \Local\Tracking\ProductViewTracker::track( (int)$USER->GetID(), (int)$arResult['ID'] ); } 

כיצד פועל סוכן הטריגר

הסוכן רץ פעם בשעה, מחפש משתמשים התואמים לתנאים ומחיל הנחה. גישת אוטומציית הנחות זו מגבירה משמעותית את המרת הצפיות. המרווח אינו אקראי: מרווח של פחות מ-30 דקות יוצר עומס מופרז על מסד הנתונים כאשר יש צפיות רבות. פעם בשעה מאזנת בין עדכניות לביצועים. עבור פרויקטים בעלי עומס גבוה, ניתן לשנות את משימת ה-cron ל-15 דקות אם יש צורך.

קוד סוכן
namespace Local\Marketing; class PriceDropTriggerAgent { public static function run(): string { $conn = \Bitrix\Main\Application::getConnection(); // Товары, просмотренные 2+ раз, без покупки, 24+ часов назад $candidates = $conn->query(" SELECT pv.UF_USER_ID, pv.UF_PRODUCT_ID, pv.UF_VIEW_COUNT FROM b_uts_product_view pv LEFT JOIN b_sale_basket sb ON sb.USER_ID = pv.UF_USER_ID AND sb.PRODUCT_ID = pv.UF_PRODUCT_ID AND sb.ORDER_ID IS NOT NULL WHERE pv.UF_VIEW_COUNT >= 2 AND pv.UF_LAST_VIEW < DATE_SUB(NOW(), INTERVAL 24 HOUR) AND pv.UF_TRIGGER_SENT = 'N' AND sb.ID IS NULL LIMIT 50 "); while ($row = $candidates->fetch()) { self::applyDiscount($row['UF_USER_ID'], $row['UF_PRODUCT_ID']); // Помечаем, чтобы не применять повторно $conn->queryExecute(" UPDATE b_uts_product_view SET UF_TRIGGER_SENT = 'Y' WHERE UF_USER_ID = {$row['UF_USER_ID']} AND UF_PRODUCT_ID = {$row['UF_PRODUCT_ID']} "); } return '\Local\Marketing\PriceDropTriggerAgent::run();'; } private static function applyDiscount(int $userId, int $productId): void { // Создаём персональный купон через модуль маркетинга $couponCode = 'VIEW_' . strtoupper(substr(md5($userId . $productId . time()), 0, 8)); \CCatalogDiscountCoupon::Add([ 'DISCOUNT_ID' => VIEWED_PRODUCT_DISCOUNT_ID, // ID заранее созданной скидки 10% 'CODE' => $couponCode, 'ONE_TIME' => 'Y', // одноразовый 'ACTIVE' => 'Y', 'ACTIVE_FROM' => new \Bitrix\Main\Type\DateTime(), 'ACTIVE_TO' => \Bitrix\Main\Type\DateTime::createFromTimestamp(time() + 86400 * 3), 'MAX_USE' => 1, ]); // Привязываем купон к пользователю через HL-блок PersonalCouponRepository::save($userId, $productId, $couponCode); // Email пользователю self::sendEmail($userId, $productId, $couponCode); } } 

הגדרת הנחה ומניעת יישום חוזר

ההנחה הבסיסית נוצרת פעם אחת דרך ממשק הניהול (שיווק → הנחות) או דרך API. תיעוד 1C-Bitrix מספק פרטים נוספים.

\CCatalogDiscount::Add([ 'NAME' => 'Персональная скидка на просмотренный товар', 'LID' => SITE_ID, 'ACTIVE' => 'Y', 'VALUE' => 10, // скидка 10% 'VALUE_TYPE' => 'P', 'COUPON_TYPE' => 'U', // только с купоном 'SORT' => 300, 'PRIORITY' => 1, ]); 

המזהה של הנחה זו מוגדר בקבוע result_modifier.php. כדי למנוע יישום חוזר של ההנחה, השדה // /local/templates/.default/components/bitrix/catalog.element/main/result_modifier.php global $USER; if ($USER->IsAuthorized()) { \Local\Tracking\ProductViewTracker::track( (int)$USER->GetID(), (int)$arResult['ID'] ); } בבלוק ה-HL חוסם עיבוד מחדש. לאחר הנפקת קופון, הסוכן אינו מעבד עוד את אותו צמד משתמש-מוצר. בנוסף, אנו בודקים קיום הזמנה קיימת — אם המשתמש כבר רכש את המוצר, הטריגר לא מופעל. כמו כן, חשוב לנקות רשומות ישנות: מחק מדי שבוע רשומות ישנות מ-30 יום עם הטריגר שכבר נשלח. זה מאיץ שאילתות ומפחית עומס על מסד הנתונים.

פרטי יישום

תהליך העבודה

  1. אנליטיקה: קביעת תנאי הטריגר (מספר צפיות, סף זמן, גודל הנחה).
  2. אב-טיפוס: יצירת בלוק HL, הגדרת סוכן, בדיקת תרחיש.
  3. פיתוח: כתיבת קוד מעקב, סוכן, הפקת קופונים.
  4. בדיקות: בדיקה על מוצר לדוגמה, רישום לוג, התאמות.
  5. השקה וניטור: השקה, מעקב אחר המרות.

מה כלול

  • פיתוח ואינטגרציה של מעקב הצפיות
  • יצירת סוכן גמיש עם תנאים
  • הגדרת קופונים אישיים
  • התראות דוא"ל (אופציונלי)
  • תיעוד והעברת גישה
  • אחריות ל-30 יום על פעולה תקינה

לוחות זמנים משוערים

שלב זמן
אנליטיקה ואב-טיפוס מיום אחד
פיתוח מיומיים
בדיקות והשקה מיום אחד
סה"כ מ-3 עד 5 ימים

העלות מחושבת באופן אישי. נבחן את הפרויקט שלך בחינם — פשוט צור קשר.

שיטות עבודה מומלצות וטיפים מתקדמים

אינטגרציה עם התראות דוא"ל

התראת דוא"ל על ההנחה היא חלק קריטי במשפך. ללא הדוא"ל, הקופון יושב במסד הנתונים, והמשתמש לא יודע עליו. התבנית נוצרת באירועי דוא"ל של 1C-Bitrix (namespace Local\Marketing; class PriceDropTriggerAgent { public static function run(): string { $conn = \Bitrix\Main\Application::getConnection(); // Товары, просмотренные 2+ раз, без покупки, 24+ часов назад $candidates = $conn->query(" SELECT pv.UF_USER_ID, pv.UF_PRODUCT_ID, pv.UF_VIEW_COUNT FROM b_uts_product_view pv LEFT JOIN b_sale_basket sb ON sb.USER_ID = pv.UF_USER_ID AND sb.PRODUCT_ID = pv.UF_PRODUCT_ID AND sb.ORDER_ID IS NOT NULL WHERE pv.UF_VIEW_COUNT >= 2 AND pv.UF_LAST_VIEW < DATE_SUB(NOW(), INTERVAL 24 HOUR) AND pv.UF_TRIGGER_SENT = 'N' AND sb.ID IS NULL LIMIT 50 "); while ($row = $candidates->fetch()) { self::applyDiscount($row['UF_USER_ID'], $row['UF_PRODUCT_ID']); // Помечаем, чтобы не применять повторно $conn->queryExecute(" UPDATE b_uts_product_view SET UF_TRIGGER_SENT = 'Y' WHERE UF_USER_ID = {$row['UF_USER_ID']} AND UF_PRODUCT_ID = {$row['UF_PRODUCT_ID']} "); } return '\Local\Marketing\PriceDropTriggerAgent::run();'; } private static function applyDiscount(int $userId, int $productId): void { // Создаём персональный купон через модуль маркетинга $couponCode = 'VIEW_' . strtoupper(substr(md5($userId . $productId . time()), 0, 8)); \CCatalogDiscountCoupon::Add([ 'DISCOUNT_ID' => VIEWED_PRODUCT_DISCOUNT_ID, // ID заранее созданной скидки 10% 'CODE' => $couponCode, 'ONE_TIME' => 'Y', // одноразовый 'ACTIVE' => 'Y', 'ACTIVE_FROM' => new \Bitrix\Main\Type\DateTime(), 'ACTIVE_TO' => \Bitrix\Main\Type\DateTime::createFromTimestamp(time() + 86400 * 3), 'MAX_USE' => 1, ]); // Привязываем купон к пользователю через HL-блок PersonalCouponRepository::save($userId, $productId, $couponCode); // Email пользователю self::sendEmail($userId, $productId, $couponCode); } } ). התבנית כוללת: שם מוצר, תמונה, סכום מוזל חדש, קוד קופון, וקישור ישיר לדף המוצר.

שרשרת אופטימלית: הדוא"ל הראשון מיד לאחר הנפקת הקופון, השני לאחר 24 שעות עם תזכורת "הקופון expires בעוד 48 שעות." שרשרת כזו מגדילה את ההמרה הסופית מ-10-15% ל-18-22%. קופונים אישיים טובים פי 5 מתזכורות דוא"ל פשוטות (15% לעומת 3%).

טעויות נפוצות בהגדרת הטריגר

  • סף צפיות נמוך מדי (1 במקום 2-3): מבקרים אקראיים ללא כוונת רכישה אמיתית מקבלים קופונים.
  • ללא בדיקת הזמנה קיימת: המשתמש כבר רכש את המוצר אך עדיין מקבל קופון — הנחה מיותרת.
  • ללא הגבלה על הנפקה חוזרת: משתמש אחד יכול לקבל קופון לאותו מוצר מספר פעמים.
  • רשומות ישנות לא מנוקות: טבלת הצפיות גדלה, שאילתות מואטות.

השוואת מנגנוני המרה

מנגנון המרה קושי יישום
תזכורת דוא"ל 2-3% נמוך
קופון אישי 10-15% בינוני
הנחה אוטומטית לעגלה 8-12% גבוה

קופונים אישיים נותנים המרה גבוהה פי 5 מתזכורות פשוטות. בחר באפשרות המתאימה לתקציב ולמטרות שלך. אנו מבטיחים שקיפות בכל השלבים. קבל ייעוץ — נעזור לך לבחור את התרחיש הטוב ביותר.

מדריך זה מכסה אינטגרציה של 1C-Bitrix, הנחות אישיות, אוטומציית הנחות, שימוש בבלוקי HL, סוכני Bitrix, טריגרים שיווקיים, קופוני Bitrix, ומנגנוני הנחת מוצרים — כל אלה חיוניים ליישום מוצלח של טריגר ירידת מחיר.