בפרויקט אחד—חנות מסחר אלקטרוני למוצרי אלקטרוניקה עם 15,000 מוצרים, 3,000 מבקרים יומיים וכ-200 הזמנות ביום—שמנו לב ש-Carrot Quest זיהה רק 20% מהסשנים המאומתים. שאר הביקורים נותרו אנונימיים, אף על פי שהמשתמשים היו מחוברים. הסיבה: carrotquest.identify() לא נקרא לאחר התחברות. הסקריפט הסטנדרטי בתבנית לא העביר אימייל ומזהה. לאחר יישום זיהוי נכון עם אימות hash, הסשנים המזוהים קפצו ל-95%, ומחזורי טריגר החלו לפעול. כתוצאה מכך, ההמרה לשיחת צ'אט עלתה ב-40%, וסכום ההזמנה הממוצע עלה ב-12%. מסמכי Carrot Quest מאשרים שזיהוי מבוסס hash הוא חובה לאימות נתונים. בסופו של דבר, קמפיין האוטומציה השיווקית הניב הכנסה חודשית נוספת של $4.5k–6.5k.
בעיות שאנחנו פותרים
Carrot Quest הוא לא רק צ'אט—זו פלטפורמה לאנליטיקה ואוטומציה. אבל ללא אינטגרציה עם Bitrix, אתם מאבדים:
- את הקשר בין התנהגות באתר לנתוני CRM.
- את היכולת לפלח משתמשים לפי רכישות בפועל.
- הודעות טריגר המבוססות על אירועי משפך.
אנחנו פותרים בעיות אלה באמצעות אינטגרציה מלאה: מהתקנת קוד מעקב ועד אירועים בצד השרת. Carrot Quest בשילוב עם Bitrix פועל ביעילות רבה יותר מכל צ'אט עצמאי—ההמרה לשיחה גבוהה פי 2-3. הצוות שלנו מתמחה באינטגרציות Bitrix כבר למעלה מ-7 שנים והשלים יותר מ-50 פרויקטי התקנת Carrot Quest.
כיצד להגדיר מעקב אירועים מ-1C-Bitrix
התקנת קוד מעקב וזיהוי. הכנס את קוד Carrot Quest לתבנית לפני </body>. הפעולה המרכזית היא carrotquest.identify(). בלעדיה, כל האירועים נשארים אנונימיים.
(function(){ /* стандартный сниппет Carrot Quest */ })(); carrotquest.connect('YOUR_API_KEY'); <?php if ($USER->IsAuthorized()): $userId = $USER->GetID(); $userEmail = $USER->GetEmail(); $userName = $USER->GetFullName(); $hash = hash_hmac('sha256', $userId, 'YOUR_SECRET_KEY'); ?> carrotquest.identify({ '$user_id': <?= json_encode($userId) ?>, '$email': <?= json_encode($userEmail) ?>, '$name': <?= json_encode($userName) ?>, '$phone': <?= json_encode(getUserPhone($userId)) ?>, 'orders_count': <?= getUserOrdersCount($userId) ?>, 'total_spent': <?= getUserTotalSpent($userId) ?>, }, <?= json_encode($hash) ?>); <?php endif; ?> ה-hash של HMAC-SHA256 מאמת את הנתונים בצד של Carrot Quest ומונע זיוף מזהה. שלבים להגדרת זיהוי:
- קבל את מפתח ה-API ואת המפתח הסודי מלוח הבקרה של Carrot Quest שלך.
- הכנס את קטע הקוד למעקב לתבנית האתר.
- הוסף את הקריאה
(function(){ /* стандартный сниппет Carrot Quest */ })(); carrotquest.connect('YOUR_API_KEY'); <?php if ($USER->IsAuthorized()): $userId = $USER->GetID(); $userEmail = $USER->GetEmail(); $userName = $USER->GetFullName(); $hash = hash_hmac('sha256', $userId, 'YOUR_SECRET_KEY'); ?> carrotquest.identify({ '$user_id': <?= json_encode($userId) ?>, '$email': <?= json_encode($userEmail) ?>, '$name': <?= json_encode($userName) ?>, '$phone': <?= json_encode(getUserPhone($userId)) ?>, 'orders_count': <?= getUserOrdersCount($userId) ?>, 'total_spent': <?= getUserTotalSpent($userId) ?>, }, <?= json_encode($hash) ?>); <?php endif; ?>עבור משתמשים מאומתים, תוך העברת user_id, אימייל ו-hash. - ודא בקונסולת הדפדפן שהקריאה מצליחה.
שליחת אירועים מהקטלוג. Carrot Quest הופך לבעל ערך כפלטפורמת אנליטיקה כאשר הוא מקבל אירועים מכל המשפך. דוגמאות:
// Просмотр карточки товара carrotquest.track('Просмотр товара', { product_id: <?= $arResult['ID'] ?>, product_name: <?= json_encode($arResult['NAME']) ?>, price: <?= $arResult['CATALOG_PRICE_1'] ?? 0 ?>, category: <?= json_encode($sectionName) ?>, }); // Добавление в корзину carrotquest.track('Товар добавлен в корзину', { product_id: productId, product_name: productName, price: price, quantity: quantity, }); // Оформление заказа carrotquest.track('Заказ оформлен', { order_id: <?= $orderId ?>, total_price: <?= $orderTotal ?>, items_count: <?= $itemsCount ?>, payment_method: <?= json_encode($paymentMethod) ?>, }); בעת שימוש בהחלפת CommerceML, ניתן לשלוח נתוני מוצרים והזמנות גם ל-Carrot Quest לצורך סנכרון קטלוג.
מדוע זיהוי משתמשים באמצעות Hash חשוב
ללא hash, כל אחד יכול להזריק מזהה זר ולשבש את הסטטיסטיקה שלכם. אימות hash הוא נוהג אבטחה סטנדרטי להחלפת נתונים בין Bitrix ל-Carrot Quest. אנחנו מבטיחים שפרופילים שייכים למשתמשים אמיתיים. בפרויקט אחד, לאחר יישום ה-hash, פרופילים שגויים ירדו מ-15% ל-0.5%.
אילו אירועים לעקוב קודם
התמקדו באירועים המשפיעים על המרה: צפייה במוצר, הוספה לסל, תחילת תשלום, הזמנה מוצלחת. שימושיים גם אירועי "חיפוש באתר" ו"צפייה בקטגוריה". עבור חנות מסחר אלקטרוני, זהו הסט המינימלי לבניית משפך והגדרת טריגרים לסל נטוש. הוסיפו אירוע "החזרת מוצר"—הוא קריטי לפילוח.
אינטגרציה דרך Carrot Quest PHP API
מלבד מעקב JS, Carrot Quest מציע REST API לשימוש בצד השרת. זה נחוץ כאשר אירוע מתרחש מחוץ לדפדפן—לדוגמה, שינוי סטטוס הזמנה. אנו משתמשים ב-Carrot Quest REST API לשליחת אירועים.
\Bitrix\Main\EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleStatusOrder', function (\Bitrix\Main\Event $event) { $order = $event->getParameter('ENTITY'); $userId = $order->getUserId(); $userEmail = getUserEmail($userId); $statusId = $order->getField('STATUS_ID'); $payload = [ 'id' => $userEmail, 'id_type' => 1, 'event' => 'Статус заказа изменён', 'params' => [ 'order_id' => $order->getId(), 'new_status' => $statusId, ], ]; $ch = curl_init('https://api.carrotquest.io/v1/users/events'); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Token YOUR_API_KEY', 'Content-Type: application/json']); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_exec($ch); curl_close($ch); } ); השוואה בין מעקב JS למעקב בצד השרת:
| מאפיין | מעקב JS | Server API |
|---|---|---|
| יוזם האירוע | פעולת משתמש בדפדפן | טיפול בשרת (שינויי סטטוס) |
| תלות באינטרנט | דורש טעינת עמוד | מבוצע על השרת |
| מאפיינים | נתוני עמוד זמינים | כל נתון ממסד הנתונים |
| משפך אירועים | צפייה, סל, הזמנה | סטטוסים, החזרות, מנויים |
פילוח ומחזורי טריגר
לאחר הזיהוי, ניתן לעדכן מאפיינים בכל ביקור: identify(), // Просмотр карточки товара carrotquest.track('Просмотр товара', { product_id: <?= $arResult['ID'] ?>, product_name: <?= json_encode($arResult['NAME']) ?>, price: <?= $arResult['CATALOG_PRICE_1'] ?? 0 ?>, category: <?= json_encode($sectionName) ?>, }); , // Добавление в корзину carrotquest.track('Товар добавлен в корзину', { product_id: productId, product_name: productName, price: price, quantity: quantity, }); . זה מאפשר בניית פלחים להודעות טריגר. צרו מחזורים בממשק Carrot Quest ללא קוד:
- משתמש צפה במוצר → לא הוסיף לסל תוך 30 דקות → הודעת צ'אט.
- הזמנה נמסרה → לאחר 7 ימים אימייל המבקש חוות דעת.
- משתמש לא ביקר במשך 60 יום → קופון הנחה.
ניפוי באגים במעקב
בקונסולת הדפדפן, // Оформление заказа carrotquest.track('Заказ оформлен', { order_id: <?= $orderId ?>, total_price: <?= $orderTotal ?>, items_count: <?= $itemsCount ?>, payment_method: <?= json_encode($paymentMethod) ?>, }); ו-\Bitrix\Main\EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleStatusOrder', function (\Bitrix\Main\Event $event) { $order = $event->getParameter('ENTITY'); $userId = $order->getUserId(); $userEmail = getUserEmail($userId); $statusId = $order->getField('STATUS_ID'); $payload = [ 'id' => $userEmail, 'id_type' => 1, 'event' => 'Статус заказа изменён', 'params' => [ 'order_id' => $order->getId(), 'new_status' => $statusId, ], ]; $ch = curl_init('https://api.carrotquest.io/v1/users/events'); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Token YOUR_API_KEY', 'Content-Type: application/json']); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_exec($ch); curl_close($ch); } ); מציגים אישור במצב פיתוח. בלוח הניהול של Carrot Quest, עבור אל Analytics → Events כדי לראות נתונים בזמן אמת.
טעויות אינטגרציה נפוצות:
- שכחת קריאה ל-
last_visitבעמודים שבהם משתמשים מתחברים דרך AJAX. - אי העברת ה-hash—אירועים נשלחים, אך הזיהוי נחשב לא מאומת.
- שימוש במפתח API אחד למספר אתרים—הנתונים מתערבבים.
- אי בדיקת הקונסולה לשגיאות 404 בסקריפט של Carrot Quest.
שלבי אינטגרציה
| שלב | תיאור | לוח זמנים |
|---|---|---|
| אנליטיקה ועיצוב | הגדרת משפך, רשימת אירועים ומאפיינים | יום אחד |
| הצבת קוד וזיהוי | הכנסת קטע קוד, הגדרת identify() | יום אחד |
| מעקב אירועי קטלוג | חיבור צפיות, סל, הזמנות | 2-3 ימים |
| Server API | טיפול בשינויי סטטוס דרך REST | יום אחד |
| הגדרת מחזורי טריגר | יצירת מחזורים בממשק Carrot Quest | 1-2 ימים |
מה כלול
- התקנה ואימות של קוד מעקב.
- זיהוי משתמשים עם אימות hash.
- מעקב אירועים (צפייה, סל, הזמנה).
- Server API לאירועים מחוץ לדפדפן.
- פילוח לפי מאפיינים.
- תיעוד לכל האירועים שנוספו.
- בדיקות ותיקון שגיאות.
לוחות זמנים ועלות
לוחות הזמנים נעים בין 5 ל-10 ימים, בהתאם למספר האירועים. העלות מחושבת באופן אישי לאחר ניתוח מבנה האתר שלכם. צרו קשר לקבלת הערכת עלות—נתאים את חבילת העבודה.
אנחנו מבטיחים העברת נתונים נכונה ואפס שגיאות קונסולה. קבלו ייעוץ דרך הטופס באתר שלנו—נציע פתרון שמשתלם דרך הגדלת ההמרה.







