מעקב שיחות ו-UTM ב-CRM: שילוב Callibri עם Bitrix24

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

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

שאלות נפוצות

בעיית הנתונים המבודדים

Callibri מקליט כל שיחה, אך ללא אינטגרציה עם Bitrix, הנתונים נשארים מבודדים. המנהל רואה שהתבצעה שיחה אך אינו יכול לקבוע איזו פרסומת הביאה את הלקוח. מהניסיון שלנו, עד 35% מתקציב הפרסום מתבזבז על ערוצים עם המרה נמוכה—פשוט כי חסר ייחוס. כתוצאה מכך, לא ניתן לבדוק השערות שיווקיות.

האינטגרציה סוגרת את המעגל: קליק → שיחה או טופס → ליד עם תגי UTM. לפי התיעוד הרשמי של Callibri, השירות מזהה את מקור השיחה ב-95% מהמקרים—מדויק ב-30–50% יותר מאשר מעקב שיחות סטנדרטי ב-Yandex.Metrica. לאחר ההתקנה, אתה רואה לא רק שיחה, אלא את הייחוס שלה: מקור, קמפיין, מילת מפתח. החיסכון בתקציב מהשבתת ערוצים לא יעילים מגיע ל-30–40% בחודש הראשון.

יישמנו למעלה מ-50 אינטגרציות כאלה עבור לקוחות במסחר אלקטרוני ובשירותים. בעיות אופייניות: אובדן תגי UTM במעבר ממכשירים ניידים ולידים כפולים. שתיהן נפתרות בשלב התכנון.

איך לחבר את Callibri ל-1C-Bitrix?

Callibri מספקת שני מנגנונים: JavaScript API לצד הלקוח ו-REST API לאינטראקציה עם השרת. אינטגרציה מלאה עם Bitrix דורשת את שניהם.

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

Посетитель → Callibri JS подменяет номер → Звонок фиксируется в Callibri → Webhook от Callibri (POST на ваш endpoint) → Битрикс-обработчик → Создание лида/сделки в CRM Битрикс → Привязка UTM-меток к сделке 

עבור טפסים, הסכימה דומה אך יזומה על ידי שליחת הטופס: JavaScript קורא את Посетитель → Callibri JS подменяет номер → Звонок фиксируется в Callibri → Webhook от Callibri (POST на ваш endpoint) → Битрикс-обработчик → Создание лида/сделки в CRM Битрикс → Привязка UTM-меток к сделке מקוקי, שולח אותו יחד עם נתוני הטופס לשרת, שם בקשה ל-Callibri REST API מקבלת פרטי ביקור.

למה חשוב להעביר תגי UTM ל-CRM?

Google Analytics סטנדרטי מציג רק סטטיסטיקות כלליות. ללא חיבור, אינך יכול לדעת איזה ערוץ הוביל לשיחת מטרה. Callibri מזהה את המקור ב-95% מהמקרים—מדויק ב-30–50% יותר מאשר חלופות, למשל הגדרות מעקב שיחות ב-Yandex.Metrica. החיסכון בתקציב הפרסום מגיע ל-30–40% על ידי ביטול ערוצים לא יעילים. השוואה: שיטת webhook מעבירה נתונים באופן מיידי, בעוד של-REST API יש עיכוב של 1–5 שניות, קריטי לדוחות בזמן אמת.

ארכיטקטורת אינטגרציה

הגדרת Webhook מ-Callibri

בפאנל הניהול של Callibri: הגדרות → אינטגרציות → Webhook. ציין את כתובת ה-handler שלך. Callibri שולחת POST עם מטען JSON עבור כל שיחה, צ'אט או בקשה.

מבנה המטען (שדות מרכזיים):

{
  "call_id": "98765432",
  "call_type": "call",
  "caller_number": "+79161234567",
  "call_date": "2024-03-15 14:23:11",
  "utm_source": "yandex",
  "utm_medium": "cpc",
  "utm_campaign": "brand_kw",
  "duration": 145,
  "is_target": true,
  "visitor_id": "callibri_abc123"
}

ה-handler ב-Bitrix—רכיב נפרד או callibri_visitor_uid. הוא מקבל נתונים, מאמת באמצעות token סודי, ויוצר ליד. דוגמת קוד (בשילוב עם יצירת ליד):

<?php
require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php');

$rawInput = file_get_contents('php://input');
$data = json_decode($rawInput, true);

if (empty($data) || empty($data['caller_number'])) {
    http_response_code(400);
    exit;
}

$token = $_SERVER['HTTP_X_CALLIBRI_TOKEN'] ?? '';
if ($token !== \Bitrix\Main\Config\Option::get('local.callibri', 'webhook_secret')) {
    http_response_code(403);
    exit;
}

// Создание лида
$fields = [
    'TITLE' => 'Звонок Callibri: ' . $data['caller_number'],
    'PHONE' => [['VALUE' => $data['caller_number'], 'VALUE_TYPE' => 'WORK']],
    'SOURCE_ID' => 'CALL',
    'STATUS_ID' => 'NEW',
    'ASSIGNED_BY_ID' => 1, // упрощённо; в реальном проекте — распределение
    'UF_CALLIBRI_ID' => $data['call_id'],
    'UF_UTM_SOURCE' => $data['utm_source'] ?? '',
    'UF_UTM_MEDIUM' => $data['utm_medium'] ?? '',
    'UF_UTM_CAMPAIGN'=> $data['utm_campaign'] ?? '',
    'UF_CALL_DURATION' => (int)($data['duration'] ?? 0),
];

$lead = new \CCrmLead(false);
$leadId = $lead->Add($fields, true, ['DISABLE_USER_FIELD_CHECK' => false]);

if (!$leadId) {
    \CEventLog::Add([
        'SEVERITY' => 'ERROR',
        'AUDIT_TYPE_ID' => 'CALLIBRI_LEAD_FAIL',
        'MODULE_ID' => 'local.callibri',
        'DESCRIPTION' => $lead->LAST_ERROR,
    ]);
}

http_response_code(200);
echo json_encode(['status' => 'ok', 'lead_id' => $leadId]);

חיבור ביקור לטופס Bitrix

Callibri מגדירה את הקוקי { "call_id": "98765432", "call_type": "call", "caller_number": "+79161234567", "call_date": "2024-03-15 14:23:11", "utm_source": "yandex", "utm_medium": "cpc", "utm_campaign": "brand_kw", "duration": 145, "is_target": true, "visitor_id": "callibri_abc123" } בצד הלקוח. עליך ליירט את שליחת הטופס ולהוסיף את ה-uid כשדה נסתר.

JavaScript בדף עם הטופס:

document.addEventListener('DOMContentLoaded', function () {
  const forms = document.querySelectorAll('form.bx-form, form[data-bitrix-form]');
  forms.forEach(function (form) {
    const uid = getCookie('callibri_visitor_uid');
    if (uid) {
      const input = document.createElement('input');
      input.type = 'hidden';
      input.name = 'callibri_uid';
      input.value = uid;
      form.appendChild(input);
    }
  });
});

function getCookie(name) {
  const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
  return match ? match[2] : null;
}

בשרת ב-handler של הטופס (/local/api/callibri-webhook.php או handler מותאם):

$callibriUid = htmlspecialchars($_POST['callibri_uid'] ?? '');
if ($callibriUid) {
    $leadFields['UF_CALLIBRI_UID'] = $callibriUid;
    $visitData = (new \Local\Callibri\ApiClient())->getVisitByUid($callibriUid);
    if ($visitData) {
        $leadFields['UF_UTM_SOURCE'] = $visitData['utm_source'] ?? '';
        $leadFields['UF_UTM_CAMPAIGN'] = $visitData['utm_campaign'] ?? '';
    }
}

מה מביאה הסרת כפילויות לידים?

בעיה אופיינית: לקוח מתקשר ואז ממלא טופס. שני לידים נפרדים עבור איש קשר אחד. אנו פותרים זאת על ידי בדיקת מספר הטלפון: אם קיים ליד עם סטטוס NEW ואותו מספר טלפון ב-24 השעות האחרונות, אנו מעדכנים את שדות ה-UTM שלו במקום ליצור חדש. גישה זו מפחיתה כפילויות ב-90%. ללא הסרת כפילויות, צוות המכירות מבזבז זמן על מיזוג ידני, ודוחות הפרסום מעריכים יתר על המידה את העלות לליד פי 2.

טעויות אינטגרציה נפוצות

  • חסר token סודי ב-webhook—מחזיר 403.
  • הקוקי <?php require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php'); $rawInput = file_get_contents('php://input'); $data = json_decode($rawInput, true); if (empty($data) || empty($data['caller_number'])) { http_response_code(400); exit; } $token = $_SERVER['HTTP_X_CALLIBRI_TOKEN'] ?? ''; if ($token !== \Bitrix\Main\Config\Option::get('local.callibri', 'webhook_secret')) { http_response_code(403); exit; } // Создание лида $fields = [ 'TITLE' => 'Звонок Callibri: ' . $data['caller_number'], 'PHONE' => [['VALUE' => $data['caller_number'], 'VALUE_TYPE' => 'WORK']], 'SOURCE_ID' => 'CALL', 'STATUS_ID' => 'NEW', 'ASSIGNED_BY_ID' => 1, // упрощённо; в реальном проекте — распределение 'UF_CALLIBRI_ID' => $data['call_id'], 'UF_UTM_SOURCE' => $data['utm_source'] ?? '', 'UF_UTM_MEDIUM' => $data['utm_medium'] ?? '', 'UF_UTM_CAMPAIGN'=> $data['utm_campaign'] ?? '', 'UF_CALL_DURATION' => (int)($data['duration'] ?? 0), ]; $lead = new \CCrmLead(false); $leadId = $lead->Add($fields, true, ['DISABLE_USER_FIELD_CHECK' => false]); if (!$leadId) { \CEventLog::Add([ 'SEVERITY' => 'ERROR', 'AUDIT_TYPE_ID' => 'CALLIBRI_LEAD_FAIL', 'MODULE_ID' => 'local.callibri', 'DESCRIPTION' => $lead->LAST_ERROR, ]); } http_response_code(200); echo json_encode(['status' => 'ok', 'lead_id' => $leadId]); לא מוגדר מיד—יש צורך בעיכוב לפני עיבוד הטופס.
  • שדות מותאמים אישית לא נוצרו—הליד נוצר ללא UTM.

שדות מותאמים אישית ל-UTM ב-CRM

ניתן ליצור שדות דרך callibri_visitor_uid או דרך ממשק הניהול של ה-CRM. סט מומלץ:

קוד שדה סוג מטרה
UF_CALLIBRI_ID מחרוזת מזהה שיחה/צ'אט ב-Callibri
UF_CALLIBRI_UID מחרוזת מזהה מבקר לחיבור טופס
UF_UTM_SOURCE מחרוזת utm_source
UF_UTM_MEDIUM מחרוזת utm_medium
UF_UTM_CAMPAIGN מחרוזת utm_campaign
UF_UTM_TERM מחרוזת utm_term
UF_CALL_DURATION מספר שלם משך שיחה, שניות
UF_IS_TARGET_CALL בוליאני שיחת מטרה

השוואת שיטות אינטגרציה

קריטריון Webhook (שיחות) REST API (טפסים)
סוג נתונים שיחות, צ'אטים ביקורים, היסטוריה
יזום Callibri → השרת שלך השרת שלך → Callibri
השהיה מיידי 1–5 שניות
דורש JS לא כן (עבור uid)

התקנת אינטגרציה שלב אחר שלב

  1. רשום webhook בפאנל הניהול של Callibri.
  2. הצב את ה-handler של ה-endpoint על שרת Bitrix.
  3. צור את השדות המותאמים אישית הנדרשים דרך ממשק הניהול או API.
  4. הגדר JavaScript בדפים עם טפסים כדי להעביר document.addEventListener('DOMContentLoaded', function () { const forms = document.querySelectorAll('form.bx-form, form[data-bitrix-form]'); forms.forEach(function (form) { const uid = getCookie('callibri_visitor_uid'); if (uid) { const input = document.createElement('input'); input.type = 'hidden'; input.name = 'callibri_uid'; input.value = uid; form.appendChild(input); } }); }); function getCookie(name) { const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)')); return match ? match[2] : null; } .
  5. יישם לוגיקת הסרת כפילויות המבוססת על מספר טלפון.
  6. בצע בדיקות מקצה לקצה: שיחה → ליד עם UTM.

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

  • תיעוד אינטגרציה וסכימת נתונים.
  • גישה למאגר Git עם קוד ה-handler.
  • הדרכה למנהלים על עבודה עם שדות UTM ב-CRM.
  • תמיכה טכנית למשך שבועיים לאחר ההשקה.

לצוות שלנו ניסיון של 7+ שנים באינטגרציות Bitrix ו-Callibri, עם למעלה מ-50 פרויקטים שהושלמו. זמן אינטגרציה בסיסי ממוצע הוא שבועיים, חיבור מלא עם טפסים, הסרת כפילויות ולוח UTM הוא 3–4 שבועות. פנה למהנדסים שלנו לייעוץ—הם יעזרו לך להגדיר אנליטיקה מקצה לקצה לעסק שלך. בקש הדגמה של אינטגרציה פעילה כדי להעריך את הפונקציונליות לפני חתימת חוזה.

לעיון מפורט ב-API: Callibri REST API.