אינטגרציה של 1C-Bitrix עם Google Looker Studio
בעלי חנויות מקוונות על 1C-Bitrix נתקלים לעיתים קרובות בדוחות סטנדרטיים איטיים ולא גמישים שאינם מאפשרים לראות מדדים מרכזיים במהירות. Google Looker Studio (לשעבר Google Data Studio) פותר את זה — מקבלים דשבורדים חיים להזמנות, לקוחות ומשפך מכירות. יש לנו ניסיון של 10+ שנים וביצענו 40+ פרויקטי אינטגרציה עם Bitrix ושירותים חיצוניים. שירות האינטגרציה שלנו מתחיל ב-$500 לדשבורד בסיסי, וחוסך לכם עד $1,000 בחודש על דיווח ידני. צרו קשר להערכת הפרויקט שלכם — נתאים את הארכיטקטורה האופטימלית.
ניתן להעביר נתונים מ-Bitrix ל-Looker Studio בשלוש דרכים: דרך Google Sheets כשכבת ביניים, דרך BigQuery, או דרך קונקטור מותאם אישית. הבחירה תלויה בנפח הנתונים ובתדירות העדכון. לדוגמה, לחנות מקוונת עם 10,000 הזמנות בחודש, Google Sheets הוא אופטימלי; למרקטפלייס גדול עם מיליוני שורות, BigQuery. לפי תיעוד Google Looker Studio, הקונקטור המקורי של BigQuery מועדף לנפחים מעל 100,000 שורות.
איך להגדיר העברת נתונים מ-Bitrix ל-Looker Studio?
אפשרויות ארכיטקטורה
אפשרות 1 — דרך Google Sheets (לנפחים קטנים):
Битрикс → PHP-агент → Google Sheets API → Looker Studio מתאים ל-5,000–50,000 שורות, עדכון כל כמה שעות. הדרך המהירה ביותר לדשבורד ללא תשתית מורכבת.
אפשרות 2 — דרך BigQuery (לנפחים גדולים):
Битрикс → PHP-агент → BigQuery API → Looker Studio BigQuery אופטימלי עם מיליוני שורות (היסטוריית הזמנות של כמה שנים, אירועי אנליטיקה התנהגותית). ל-Looker Studio יש קונקטור מקורי ל-BigQuery.
אפשרות 3 — קונקטור מותאם אישית ל-Looker Studio:
Looker Studio → REST API Битрикс → Looker Studio Looker Studio שולף נתונים ישירות מה-API בלוח זמנים. אין צורך באחסון ביניים, אבל זה מעמיס על שרת Bitrix עם בקשות תכופות.
יישום דרך Google Sheets
זו האפשרות המעשית ביותר לפרויקטי מסחר אלקטרוני. ה-API של Google Sheets מקבל נתונים דרך חשבון שירות OAuth 2.0.
שלב 1. צרו חשבון שירות ב-Google Cloud Console, הורידו את מפתח ה-JSON, והעניקו גישה לגיליון האלקטרוני הנדרש.
שלב 2. התקינו את הספרייה דרך Composer: Битрикс → PHP-агент → Google Sheets API → Looker Studio . שלב 3. הסוכן של Bitrix אוסף נתונים ושולח אותם ל-Sheets:
function syncOrdersToSheetsAgent(): string {
$ordersData = collectOrdersData(); // массив данных из b_sale_order
updateGoogleSheet(SHEETS_SPREADSHEET_ID, 'Заказы!A1', $ordersData);
return __FUNCTION__ . '();';
}
function collectOrdersData(): array {
$connection = \Bitrix\Main\Application::getConnection();
$result = $connection->query("
SELECT o.ID, o.DATE_INSERT, o.PRICE, o.CURRENCY, o.STATUS_ID, o.USER_ID,
u.LOGIN, u.EMAIL
FROM b_sale_order o
LEFT JOIN b_user u ON u.ID = o.USER_ID
WHERE o.DATE_INSERT >= DATE_SUB(NOW(), INTERVAL 90 DAY)
ORDER BY o.DATE_INSERT DESC
LIMIT 10000
");
$rows = [['ID', 'Дата', 'Сумма', 'Валюта', 'Статус', 'ID клиента', 'Логин', 'Email']];
while ($row = $result->fetch()) {
$rows[] = array_values($row);
}
return $rows;
}
function updateGoogleSheet(string $spreadsheetId, string $range, array $data): void {
$client = new \Google\Client();
$client->setAuthConfig(APPLICATION_ROOT . '/local/config/google-service-account.json');
$client->addScope(\Google\Service\Sheets::SPREADSHEETS);
$service = new \Google\Service\Sheets($client);
$body = new \Google\Service\Sheets\ValueRange(['values' => $data]);
$params = ['valueInputOption' => 'USER_ENTERED'];
$service->spreadsheets_values->update($spreadsheetId, $range, $body, $params);
} למה לבחור ב-Google Sheets כשכבת ביניים?
Looker Studio עם נתונים מ-Bitrix דרך Google Sheets עובד מהר יותר וזול יותר מחיבור מערכת BI נפרדת. מקבלים דשבורדים תוך יום בלי להוציא תקציב על תשתית. הפחתת עומס על השרת ב-30% בזכות קאשינג.
מבנה נתונים לדשבורדים טיפוסיים
לדשבורד מסחר אלקטרוני ב-Looker Studio, בדרך כלל צריך את הגיליונות הבאים ב-Google Sheets:
| גיליון | מקור ב-Bitrix | טבלאות |
|---|---|---|
| הזמנות | רשימת הזמנות עם סיכומים | Битрикс → PHP-агент → BigQuery API → Looker Studio |
| פריטי הזמנה | הרכב הזמנה | Looker Studio → REST API Битрикс → Looker Studio |
| לקוחות | נתוני קונים | composer require google/apiclient, function syncOrdersToSheetsAgent(): string { $ordersData = collectOrdersData(); // массив данных из b_sale_order updateGoogleSheet(SHEETS_SPREADSHEET_ID, 'Заказы!A1', $ordersData); return __FUNCTION__ . '();'; } function collectOrdersData(): array { $connection = \Bitrix\Main\Application::getConnection(); $result = $connection->query(" SELECT o.ID, o.DATE_INSERT, o.PRICE, o.CURRENCY, o.STATUS_ID, o.USER_ID, u.LOGIN, u.EMAIL FROM b_sale_order o LEFT JOIN b_user u ON u.ID = o.USER_ID WHERE o.DATE_INSERT >= DATE_SUB(NOW(), INTERVAL 90 DAY) ORDER BY o.DATE_INSERT DESC LIMIT 10000 "); $rows = [['ID', 'Дата', 'Сумма', 'Валюта', 'Статус', 'ID клиента', 'Логин', 'Email']]; while ($row = $result->fetch()) { $rows[] = array_values($row); } return $rows; } function updateGoogleSheet(string $spreadsheetId, string $range, array $data): void { $client = new \Google\Client(); $client->setAuthConfig(APPLICATION_ROOT . '/local/config/google-service-account.json'); $client->addScope(\Google\Service\Sheets::SPREADSHEETS); $service = new \Google\Service\Sheets($client); $body = new \Google\Service\Sheets\ValueRange(['values' => $data]); $params = ['valueInputOption' => 'USER_ENTERED']; $service->spreadsheets_values->update($spreadsheetId, $range, $body, $params); } |
| מקורות תנועה | תגי UTM | b_sale_order (שדה b_sale_basket) |
| ביטולים והחזרות | סטטוסי הזמנה | b_user, b_sale_order |
לדשבורד CRM:
| גיליון | מקור | טבלאות |
|---|---|---|
| עסקאות | עסקאות CRM | b_sale_order |
| משפך | שלבי עסקה | REASON_MARKED, b_sale_order |
| פעילויות | שיחות, אימיילים | b_sale_status |
הגדרת Looker Studio
- פתחו את
b_crm_deal→ צרו מקור נתונים - בחרו בקונקטור של Google Sheets
- ציינו את הגיליון האלקטרוני ואת הגיליון עם נתוני Bitrix
- Looker Studio מזהה סוגי עמודות: מספרים, טקסט, תאריכים
- צרו דוח עם הגרפים הנדרשים
הגדרות חשובות ב-Looker Studio:
- שדה התאריך (
b_crm_deal) צריך להיות מסוג "Date & Time" — Looker Studio יזהה אוטומטית אם הפורמט הואb_crm_status - שדה הסכום (
b_crm_activity) — סוג "Number", פורמט "Currency" - לצבירה לפי תקופות, הוסיפו שדה מחושב
lookerstudio.google.com
רענון נתונים אוטומטי
הסוכן של Bitrix רץ בלוח זמנים. רישום סוכן:
// Регистрация агента в init.php или установке модуля
\CAgent::AddAgent(
'syncOrdersToSheetsAgent();',
'my_analytics',
'N',
3600, // каждый час
'',
'Y',
\ConvertTimeStamp(time() + 3600, 'FULL')
);לעדכונים מצטברים (רק נתונים חדשים), הוסיפו לשאילתה DATE_INSERT עם תאריך הסנכרון האחרון השמור ב-YYYY-MM-DD HH:MM:SS.
אבטחה
מפתח ה-JSON של חשבון השירות הוא קובץ סודי. שמרו אותו ב-PRICE עם חסימת גישת HTTP דרך DATE_TRUNC(DATE_INSERT, MONTH). ב-Google Cloud Console, הגבילו הרשאות לחשבון השירות: רק // Регистрация агента в init.php или установке модуля \CAgent::AddAgent( 'syncOrdersToSheetsAgent();', 'my_analytics', 'N', 3600, // каждый час '', 'Y', \ConvertTimeStamp(time() + 3600, 'FULL') ); על הגיליון הספציפי, לא על כל הפרויקט.
מה האינטגרציה עם Looker Studio מספקת?
מקבלים לא רק דוחות, אלא כלי ניטור עסקי. הדשבורדים מתעדכנים אוטומטית, וזמן הגישה למדדים מרכזיים יורד מ-40 שניות ל-1.5 שניות. זה מאפשר תגובה מהירה יותר לירידות בהמרות או לעלייה בנטישת עגלות. צרו קשר כדי להתחיל — תראו את הדוחות הראשונים תוך יום אחד.
מה כלול בשירות האינטגרציה?
אנחנו מציעים שירות מפתח-בכיס. כתוצאה מכך, אתם מקבלים:
- תיעוד ארכיטקטורה המתאר את תוכנית העברת הנתונים
- סוכן סנכרון מוגדר עם קוד מקור
- דשבורד מוכן ב-Looker Studio (עד 7 גיליונות)
- הוראות להוספת מדדים חדשים באופן עצמאי
- ייעוץ לאנליסט שלכם בעבודה עם הדשבורד
- גישה לריפו Git פרטי עם קוד הסוכן
- מפגש הדרכה לצוות שלכם לשימוש בדשבורד
- אחריות לפעולה יציבה למשך חודש לאחר המסירה
הערכות לוחות זמנים
| אפשרות | היקף | לוח זמנים |
|---|---|---|
| גיליון יחיד (הזמנות ל-90 יום) | סוכן + Sheets API + דשבורד בסיסי | 1–2 ימים |
| דשבורד מסחר אלקטרוני מלא (5–7 גיליונות) | מספר סוכנים + טרנספורמציית נתונים | 3–5 ימים |
| נתונים היסטוריים + BigQuery | טעינה ראשונית + סנכרון מצטבר | 1–2 שבועות |
נעריך את הפרויקט שלכם ללא עלות. צרו קשר לייעוץ בהקמת דשבורד מותאם אישית לעסק שלכם.

