מדריך מלא לשילוב 1C-Bitrix ו-Roistat

אתם משקיעים בפרסום אבל לא רואים אילו ערוצים מביאים הכנסה אמיתית ואילו שורפים את התקציב. אנחנו מגדירים את האינטגרציה של 1C-Bitrix עם Roistat כדי לקשר כל הזמנה למקור התנועה שלה ולקבל אנליטיקה מדויקת מקצה לקצה. הצוות שלנו מספק את הפרויקט במפתח מלא—מביקורת ועד יישום ותמיכה שוטפת—ומבטיח העברת נתונים אמינה ותמונה ברורה של ROMI.
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
מדריך מלא לשילוב 1C-Bitrix ו-Roistat
בינוני
~1-2 שבועות

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

שאלות נפוצות

שילוב 1C-Bitrix עם Roistat

תארו לעצמכם שאתם מוציאים 10,000 דולר בחודש על פרסום קונטקסטואלי, אבל Roistat מציג רק לידים בלי לראות הכנסות לפי ערוץ. אנו מגדירים את השילוב של 1C-Bitrix עם Roistat כדי לקשר הזמנות לביקורים ולחשב ROMI לפי מקור. בפרויקט חנות מקוונת אחת, 40% מההזמנות איבדו את ייחוס הביקור שלהן בגלל אתחול שגוי של הסקריפט בדפים דינמיים. תקציב משמעותי התבזבז. עם ערך הזמנה טיפוסי של 50 דולר, אנליטיקה מדויקת משתלמת במהירות. לאחר השילוב, ROMI לפרסום קונטקסטואלי עלה ב-30%, ולפרסום ממוקד — ב-15%, מה שאיפשר הקצאת תקציב מחדש מערוצים לא רווחיים. החיסכון הסתכם ב-3,000 דולר בחודש על כל 10,000 דולר הוצאות פרסום.

לפי התיעוד של Roistat, מזהה הביקור roistat_visit נשמר בקוקי למשך 7 ימים ומאפשר לקשר הזמנה למקור. שילוב זה מדויק פי 2 מאנליטיקה סטנדרטית מבוססת לידים, ומספק שיפור פי 3 בדיוק הייחוס.

בניגוד לאנליטיקה סטנדרטית, שבה רואים רק לידים, אנליטיקה מקצה-לקצה עם Roistat נותנת תמונת ROMI מדויקת פי 2 מהר יותר. השילוב משתמש בקריאות API אידמפוטנטיות, בטיפול באירועי webhook, ובעיבוד אסינכרוני כדי להבטיח שלמות נתונים.

כיצד Roistat מקשר ביקור להזמנה?

Roistat משתמש במונה JavaScript שמקצה מזהה ייחודי roistat_visit (מספר) לכל ביקור. הוא נשמר בקוקי עם TTL של 7 ימים (ניתן להגדרה). כאשר משתמש מבצע הזמנה, שדה נסתר בטופס מעביר ערך זה להזמנת Bitrix. בלעדיו, Roistat לא יודע איזה ערוץ פרסום הביא את הלקוח.

מה מונע העברה נכונה של roistat_visit?

בעיה נפוצה היא טפסים דינמיים (React, Vue). ייתכן שסקריפט Roistat לא כתב את הקוקי לפני שהטופס ניסה לקרוא אותו. הפתרון הוא להירשם לאירוע roistat:inited ורק אז לאתחל את השדה הנסתר. בעיה נוספת היא עדכוני AJAX לטופס לאחר ולידציה. יש לאכלס את השדה מחדש בכל רינדור.

בצד השרת, אנו שומרים roistat_visit במאפיין הזמנה מותאם אישית UF_ROISTAT_VISIT. ה-handler לאירוע OnSaleOrderBeforeSaved ברכיב sale.order.ajax:

\Bitrix\Main\EventManager::getInstance()->addEventHandler(
    'sale',
    'OnSaleOrderBeforeSaved',
    function (\Bitrix\Main\Event $event) {
        $order = $event->getParameter('ENTITY');
        $rsVisit = $_REQUEST['roistat_visit'] ?? $_COOKIE['roistat_visit'] ?? '';
        if ($rsVisit) {
            $order->setField('UF_ROISTAT_VISIT', $rsVisit);
        }
    }
);

כיצד להעביר נתוני הזמנה ל-Roistat?

Roistat מקבל מידע דרך REST API של Roistat. דוגמת בקשה:

POST https://cloud.roistat.com/api/v1/project/orders
X-ApiKey: project_api_key
Content-Type: application/json

{
  "orders": [
    {
      "id": "BITRIX_ORDER_123",
      "visit": "4521890",
      "creation_date": "2026-03-13 10:00:00",
      "cost": 4990.00,
      "revenue": 4990.00,
      "currency": "USD"
    }
  ]
}

\Bitrix\Main\EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleOrderBeforeSaved', function (\Bitrix\Main\Event $event) { $order = $event->getParameter('ENTITY'); $rsVisit = $_REQUEST['roistat_visit'] ?? $_COOKIE['roistat_visit'] ?? ''; if ($rsVisit) { $order->setField('UF_ROISTAT_VISIT', $rsVisit); } } ); הוא המזהה מהקוקי. POST https://cloud.roistat.com/api/v1/project/orders X-ApiKey: project_api_key Content-Type: application/json { "orders": [{ "id": "BITRIX_ORDER_123", "visit": "4521890", "creation_date": "2026-03-13 10:00:00", "cost": 4990.00, "revenue": 4990.00, "currency": "USD" }] } הוא סכום ההזמנה. בהתבסס על נתונים אלה, Roistat בונה דוחות מקור. אנו בונים את השילוב על אירוע visit — כאשר הסטטוס משתנה ל"שולם" (או "הושלם" מותאם אישית), אנו שולחים את הבקשה. עבור ביטולים, בקשה נפרדת עם cost ו-OnSaleStatusOrderChange.

מדוע חשוב לעדכן סטטוסים עבור ביטולים והחזרות?

הזמנה יכולה לשנות סטטוס מספר פעמים. Roistat תומך בעדכונים: שליחה חוזרת עם אותו status: "canceled" מעדכנת את הרשומה (אידמפוטנטית). אנו מגדירים מיפוי של סטטוסי Bitrix ל-Roistat:

סטטוס Bitrix סטטוס Roistat revenue
N (חדש) new 0
P (שולם) confirmed amount
F (הושלם) confirmed amount
C (בוטל) canceled 0

אנו שולחים את הסטטוס בכל שינוי, תוך שימוש במזהה ההזמנה כמפתח. זה מבטל כפילויות.

כיצד להגדיר העברת הזמנות שלב אחר שלב?

  1. התקינו את סקריפט Roistat וחכו לאירוע revenue: 0.
  2. הוסיפו שדה נסתר id לטופס התשלום.
  3. ב-handler של roistat:inited, שמרו את הערך בשדה ההזמנה המותאם אישית.
  4. הגדירו מיפוי סטטוסים ואת ה-handler של roistat_visit לשליחת API.
  5. בדקו העברה על הזמנת בדיקה: צרו הזמנה, בדקו ב-Roistat.

שיחות טלפון וצ'אטים

אם נעשה שימוש במעקב שיחות מ-Roistat באתר, שיחות מקושרות אוטומטית לביקורים. בעת שילוב עם Bitrix24 דרך REST API, ניתן ליצור עסקה כאשר מתרחשת שיחה ולהעביר אותה מיד ל-Roistat. אנו מגדירים handler ליצירת עסקה ב-Bitrix24 ושולחים נתונים (סכום, OnSaleOrderBeforeSaved) ל-API של Roistat.

דוגמה מפורטת ל-handler השליחה
// Отправка заказа при оплате
$eventManager->addEventHandler('sale', 'OnSaleStatusOrderChange', function($orderId, $status) {
    $order = \Bitrix\Sale\Order::load($orderId);
    $rsVisit = $order->getField('UF_ROISTAT_VISIT');
    if ($rsVisit) {
        $api = new RoistatApi(API_KEY);
        $api->sendOrder([
            'id' => $orderId,
            'visit' => $rsVisit,
            'cost' => $order->getPrice(),
            'status' => mapStatus($status),
        ]);
    }
});

תוצרים

  • תיעוד: תיעוד טכני מפורט של השילוב, כולל handlers לאירועים ושימוש ב-API.
  • גישה: גישת אדמין לפאנלים של Roistat ו-Bitrix לניטור.
  • הדרכה: מפגש הדרכה של שעה לצוות השיווק שלכם על קריאת דוחות Roistat.
  • תמיכה: 30 ימי תמיכה לאחר ההשקה ותיקוני באגים.

מה כלול בעבודה?

  • ביקורת על מעקב נוכחי: תגי UTM, קוקיז, מונה Roistat.
  • הוספת שדה נסתר OnSaleStatusOrderChange לטופס התשלום עם אתחול נכון.
  • הגדרת אירוע roistat_visit לשמירת הביקור בהזמנה.
  • פיתוח handler של // Отправка заказа при оплате $eventManager->addEventHandler('sale', 'OnSaleStatusOrderChange', function($orderId, $status) { $order = \Bitrix\Sale\Order::load($orderId); $rsVisit = $order->getField('UF_ROISTAT_VISIT'); if ($rsVisit) { $api = new RoistatApi(API_KEY); $api->sendOrder([ 'id' => $orderId, 'visit' => $rsVisit, 'cost' => $order->getPrice(), 'status' => mapStatus($status), ]); } }); לשליחת הזמנות ל-API של Roistat.
  • יישום מיפוי סטטוסים ושליחה אידמפוטנטית.
  • בדיקות בסביבות בדיקה וייצור.
  • תיעוד השינויים וההגדרות.

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

שלב זמן
העברת הזמנות בסיסית (אירועי תשלום) 3 עד 5 ימים
הוספת עדכוני סטטוס (ביטולים/החזרות) +2-3 ימים
שילוב עם Bitrix24 (עסקאות משיחות) +3-5 ימים

העלות מחושבת באופן אישי לאחר ביקורת על הסכימה הנוכחית. אנו מעריכים את הפרויקט ביום אחד.

ניסיון ואחריות

לצוות שלנו יש ניסיון של 10+ שנים בפיתוח על 1C-Bitrix ו-Bitrix24, מעל 50 שילובים שהושלמו עם Roistat. אנו משתמשים בתבניות מוכחות: מטמון מתויג, סוכנים לשליחה דחויה, מנגנוני ניסיון חוזר לשגיאות API. אנו מספקים אחריות להעברת נתונים נכונה למשך 30 יום לאחר ההשקה.

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