תארו לעצמכם: לקוח מבצע הזמנה, מגיע לדף "תודה", ועוזב בלי שום הצעות נוספות. באחד הפרויקטים שלנו, חנות אלקטרוניקה מקוונת הגדילה את ערך ההזמנה הממוצע ב-25% לאחר שילוב Flocktory, הודות למכירה נוספת לאחר הרכישה. הפלטפורמה מנתחת את הרכב ההזמנה ומציגה הצעת שותף רלוונטית — הלקוח מקבל הנחה על אביזרים, ואתם מקבלים עמלה. Flocktory עובד פי 3 ביעילות רבה יותר מאשר חלונות קופצים סטנדרטיים בזכות הגעה ויראלית והתאמה אישית המבוססת על נתוני רכישה אמיתיים. לפי Flocktory, לקוחות חוסכים עד 40% מתקציב הפרסום שלהם.
השילוב הבסיסי כולל חיבור הטראקר בכל הדפים, העברת נתוני הזמנה (מזהה, סכום, הרכב, דוא"ל לקוח), והגדרת push-user למשתמשים מורשים. בנוסף, ניתן להטמיע את תוכנית ההפניה Shaker עם קודי קופון.
שלבי שילוב Flocktory עם 1C-Bitrix
- בדיקת היישום הנוכחי והגישה — אנו בודקים תבניות, מטפלי אירועים ושיטות פלט נתונים.
- חיבור טראקר Flocktory בכל הדפים — הכנסת הקוד לתוך
?flocktory_debug=1או דרךfooter.php. - הגדרת בלוק נתוני ההזמנה בדף האישור — JSON תקין עם הרכב ההזמנה.
- שילוב push-user למשתמשים מורשים — העברת הדוא"ל בכל דף.
- הטמעת תוכנית ההפניה (קודי קופון) — קבלה וטיפול בקודי הפניה בעגלת הקניות.
- בדיקות וניפוי שגיאות (כולל ניפוי דרך
addExternalJs) — בדיקת הזמנות אמיתיות. - תיעוד השילוב והדרכה למנהלים שלכם.
- אחריות לפעולה תקינה לאחר העלייה לאוויר: אנו מתקנים תקלות על חשבוננו.
איך מחברים את טראקר Flocktory ב-1C-Bitrix?
הטראקר מחובר פעם אחת בכל דפי האתר. בתבנית Bitrix — ב-<!-- Flocktory трекер --> <div class="i-flocktory" data-fl-action="track" data-fl-site-id="YOUR_SITE_ID"></div> <script type="text/javascript"> (function(w,d,n,s,t) { w[n] = w[n] || []; w[n].push(function() { t = d.createElement(s); t.type = 'text/javascript'; t.async = true; t.src = '//api.flocktory.com/v2/loader.js?site_id=<?= FLOCKTORY_SITE_ID ?>'; var sn = d.getElementsByTagName(s)[0]; sn.parentNode.insertBefore(t, sn); }); w.addEventListener('load', w[n][0]); })(window, document, '_flocktory_callbacks', 'script'); </script> או דרך FLOCKTORY_SITE_ID:
<!-- Flocktory трекер -->
<div class="i-flocktory" data-fl-action="track" data-fl-site-id="YOUR_SITE_ID"></div>
<script type="text/javascript">
(function(w,d,n,s,t) {
w[n] = w[n] || [];
w[n].push(function() {
t = d.createElement(s);
t.type = 'text/javascript';
t.async = true;
t.src = '//api.flocktory.com/v2/loader.js?site_id=<?= FLOCKTORY_SITE_ID ?>';
var sn = d.getElementsByTagName(s)[0];
sn.parentNode.insertBefore(t, sn);
});
w.addEventListener('load', w[n][0]);
})(window, document, '_flocktory_callbacks', 'script');
</script>define הוא מזהה מספרי מלוח הבקרה של Flocktory. אנו ממליצים להגדיר אותו כקבוע דרך bitrix/php_interface/dbconn.php ב-<?php // В шаблоне страницы подтверждения заказа // Данные берём из компонента sale.order.checkout или напрямую из ORDER_ID $orderId = (int)$_GET['ORDER_ID']; $order = \Bitrix\Sale\Order::load($orderId); if ($order && $order->getUserId() === $USER->GetID()) { $user = CUser::GetByID($order->getUserId())->Fetch(); $items = []; foreach ($order->getBasket()->getOrderableItems() as $item) { $items[] = [ 'id' => (string)$item->getProductId(), 'title' => $item->getField('NAME'), 'price' => (float)$item->getPrice(), 'count' => (float)$item->getQuantity(), ]; } $flData = [ 'order' => [ 'id' => (string)$orderId, 'price' => (float)$order->getPrice(), 'currency' => $order->getCurrency(), ], 'customer' => [ 'name' => trim($user['NAME'] . ' ' . $user['LAST_NAME']), 'email' => $user['EMAIL'], ], 'items' => $items, ]; ?> <div class="i-flocktory" data-fl-action="purchase" data-fl-site-id="<?= FLOCKTORY_SITE_ID ?>" data-fl-user-name="<?= htmlspecialchars($flData['customer']['name']) ?>" data-fl-user-email="<?= htmlspecialchars($flData['customer']['email']) ?>" data-fl-transaction-id="<?= $flData['order']['id'] ?>" data-fl-total-price="<?= $flData['order']['price'] ?>" data-fl-items='<?= json_encode($flData['items'], JSON_UNESCAPED_UNICODE) ?>'> </div> <?php } ?> או במודול הגדרות.
מה דרוש להעברת נתוני הזמנה תקינים?
נקודת השילוב המרכזית היא דף "תודה על ההזמנה". Flocktory מציג את החלון הקופץ לאחר הרכישה רק אם הוא מקבל נתוני הזמנה תקינים. הכניסו בלוק עם נתונים בדף הצלחת ההזמנה:
<?php
// В шаблоне страницы подтверждения заказа
// Данные берём из компонента sale.order.checkout или напрямую из ORDER_ID
$orderId = (int)$_GET['ORDER_ID'];
$order = \Bitrix\Sale\Order::load($orderId);
if ($order && $order->getUserId() === $USER->GetID()) {
$user = CUser::GetByID($order->getUserId())->Fetch();
$items = [];
foreach ($order->getBasket()->getOrderableItems() as $item) {
$items[] = [
'id' => (string)$item->getProductId(),
'title' => $item->getField('NAME'),
'price' => (float)$item->getPrice(),
'count' => (float)$item->getQuantity(),
];
}
$flData = [
'order' => [
'id' => (string)$orderId,
'price' => (float)$order->getPrice(),
'currency' => $order->getCurrency(),
],
'customer' => [
'name' => trim($user['NAME'] . ' ' . $user['LAST_NAME']),
'email' => $user['EMAIL'],
],
'items' => $items,
];
?>
<div class="i-flocktory"
data-fl-action="purchase"
data-fl-site-id="<?= FLOCKTORY_SITE_ID ?>"
data-fl-user-name="<?= htmlspecialchars($flData['customer']['name']) ?>"
data-fl-user-email="<?= htmlspecialchars($flData['customer']['email']) ?>"
data-fl-transaction-id="<?= $flData['order']['id'] ?>"
data-fl-total-price="<?= $flData['order']['price'] ?>"
data-fl-items='<?= json_encode($flData['items'], JSON_UNESCAPED_UNICODE) ?>'>
</div>
<?php
}
?>התכונה data-fl-items חייבת להכיל JSON תקין. Flocktory משתמש בנתונים אלה כדי למקד את ההצעה שלאחר הרכישה: לדוגמה, אם לקוח קנה פריט מקטגוריית "אלקטרוניקה", שותף יכול להציג הצעה לאחריות או אביזרים.
נתוני משתמש מורשה בכל הדפים
לצורך התאמה אישית, Flocktory צריך לדעת את הדוא"ל של המשתמש המורשה בכל דף:
<?php // В footer.php, после подключения основного трекера
if ($USER->IsAuthorized()) {
$currentUser = CUser::GetByID($USER->GetID())->Fetch();
?>
<div class="i-flocktory" data-fl-action="push-user" data-fl-site-id="<?= FLOCKTORY_SITE_ID ?>" data-fl-user-email="<?= htmlspecialchars($currentUser['EMAIL']) ?>" data-fl-user-name="<?= htmlspecialchars($currentUser['NAME']) ?>">
</div>
<?php
}
?> שילוב דרך אירועי Bitrix (גישה חלופית)
במקום בלוקי HTML, ניתן להעביר נתונים דרך אובייקט JavaScript לאחר קבלת אישור מהשרת. מטפל האירועים <?php // В footer.php, после подключения основного трекера if ($USER->IsAuthorized()) { $currentUser = CUser::GetByID($USER->GetID())->Fetch(); ?> <div class="i-flocktory" data-fl-action="push-user" data-fl-site-id="<?= FLOCKTORY_SITE_ID ?>" data-fl-user-email="<?= htmlspecialchars($currentUser['EMAIL']) ?>" data-fl-user-name="<?= htmlspecialchars($currentUser['NAME']) ?>"> </div> <?php } ?> שומר נתונים לסשן, שנקרא לאחר מכן בדף "תודה":
AddEventHandler('sale', 'OnSaleOrderSaved', function(\Bitrix\Main\Event $event) {
$order = $event->getParameter('ENTITY');
$isNew = $event->getParameter('IS_NEW');
if (!$isNew) return;
$_SESSION['FLOCKTORY_ORDER'] = [
'id' => $order->getId(),
'price' => $order->getPrice(),
];
});שיטה זו נוחה אם צריך להימנע משינויים בתבניות. מידע נוסף על האירוע OnSaleOrderSaved — תיעוד 1C-Bitrix.
למה Flocktory עשוי לא להציג את החלון הקופץ?
| בעיה | סיבה | פתרון |
|---|---|---|
| החלון הקופץ לא מוצג | דוא"ל ריק או לא תקין | בדקו שדוא"ל הלקוח תקין ומועבר ב-AddEventHandler('sale', 'OnSaleOrderSaved', function(\Bitrix\Main\Event $event) { $order = $event->getParameter('ENTITY'); $isNew = $event->getParameter('IS_NEW'); if (!$isNew) return; $_SESSION['FLOCKTORY_ORDER'] = [ 'id' => $order->getId(), 'price' => $order->getPrice(), ]; }); |
| החלון הקופץ לא מוצג | JSON לא תקין ב-OnSaleOrderSaved |
השתמשו ב-json_encode() וברוחו מרכאות |
| הטראקר לא נטען | site_id שגוי | וודאו את site_id בלוח הבקרה של Flocktory ובקבוע |
| push-user לא עובד | המשתמש לא מורשה | וודאו שבלוק push-user מוצג למשתמשים מורשים |
| קישור הפניה לא עובד | קוד הקופון לא הוחל | בדקו את לוגיקת הטיפול בקוד הקופון בעגלת הקניות |
חיסכון בתקציב רכישת לקוחות עם Flocktory יכול להגיע ל-40%. השילוב מחזיר את עצמו בממוצע תוך 3 חודשים.
מה כלול בעבודה
- בדיקה מלאה של היישום הנוכחי וגישת האתר.
- חיבור טראקר Flocktory בכל הדפים.
- הגדרת העברת נתוני הזמנה בדף האישור.
- שילוב push-user למשתמשים מורשים.
- הטמעת תוכנית הפניה עם קודי קופון (אופציונלי).
- בדיקות וניפוי שגיאות של כל המנגנונים.
- תיעוד השילוב והדרכה למנהלים שלכם.
- אחריות לפעולה תקינה לאחר העלייה לאוויר.
לוחות זמנים ליישום
| היקף | הרכב | זמן |
|---|---|---|
| בסיסי (טראקר + חלון קופץ לאחר רכישה) | בלוק נתונים בדף ההזמנה + טראקר | 0.5–1 יום |
| עם push-user בכל הדפים | + הרשאה בכל דף | +0.5 יום |
| תוכנית הפניה (קודי קופון) | + טיפול בקישורי הפניה + הנחות | 2–3 ימים |
קבלו ייעוץ ממהנדס — צרו קשר כדי לברר פרטים על הפרויקט שלכם ולהעריך את עלות השילוב במפתח מלא. הזמינו התקנה באתר או סיוע מרחוק.







