Интеграция 1С-Битрикс с Google Looker Studio

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Интеграция 1С-Битрикс с Google Looker Studio
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Интеграция 1С-Битрикс с Google Looker Studio

Google Looker Studio (бывший Google Data Studio) — инструмент визуализации данных, который строит дашборды из различных источников. Данные из Битрикс можно передать в Looker Studio тремя способами: через Google Sheets как промежуточный слой, через BigQuery или через кастомный коннектор. Выбор зависит от объёма данных и частоты обновления.

Архитектура передачи данных

Схема 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. Не требует промежуточных хранилищ, но нагружает сервер Битрикс при частых запросах.

Реализация через Google Sheets

Наиболее практичный вариант для e-commerce проектов. Google Sheets API принимает данные через OAuth 2.0 сервисный аккаунт.

Шаг 1. Создаём сервисный аккаунт в Google Cloud Console, скачиваем JSON с ключами, выдаём доступ к нужной таблице.

Шаг 2. Устанавливаем библиотеку через Composer или подключаем вручную:

composer require google/apiclient

Шаг 3. Агент Битрикс собирает данные и отправляет в 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);
}

Структура данных для типичных дашбордов

Для e-commerce дашборда в Looker Studio обычно нужны следующие листы в Google Sheets:

Лист Источник в Битрикс Таблицы
Заказы Список заказов с суммами b_sale_order
Товары в заказах Состав заказов b_sale_basket
Клиенты Данные покупателей b_user, b_sale_order
Источники трафика UTM-метки b_sale_order (поле REASON_MARKED)
Отмены и возвраты Статусы заказов b_sale_order, b_sale_status

Для CRM-дашборда:

Лист Источник Таблицы
Сделки CRM сделки b_crm_deal
Воронка Стадии сделок b_crm_deal, b_crm_status
Активности Звонки, письма b_crm_activity

Настройка Looker Studio

  1. Откройте lookerstudio.google.com → создайте источник данных
  2. Выберите коннектор Google Sheets
  3. Укажите таблицу и лист с данными Битрикс
  4. Looker Studio определит типы столбцов: числа, текст, даты
  5. Создайте отчёт с нужными диаграммами

Важные настройки в Looker Studio:

  • Поле даты (DATE_INSERT) должно иметь тип «Дата и время» — Looker Studio автоматически определит, если формат YYYY-MM-DD HH:MM:SS
  • Поле суммы (PRICE) — тип «Число», формат «Валюта»
  • Для агрегации по периодам добавьте вычисляемое поле DATE_TRUNC(DATE_INSERT, MONTH)

Автоматическое обновление данных

Агент Битрикс запускается по расписанию:

// Регистрация агента в init.php или установке модуля
\CAgent::AddAgent(
    'syncOrdersToSheetsAgent();',
    'my_analytics',
    'N',
    3600,            // каждый час
    '',
    'Y',
    \ConvertTimeStamp(time() + 3600, 'FULL')
);

При обновлении инкрементально (только новые данные) добавьте в запрос WHERE o.DATE_INSERT >= ? с датой последней синхронизации, сохраняемой в b_option.

Безопасность

JSON-ключ сервисного аккаунта — конфиденциальный файл. Хранить в /local/config/ с запретом на HTTP-доступ через .htaccess:

<Files "google-service-account.json">
    Deny from all
</Files>

В Google Cloud Console ограничьте права сервисного аккаунта: только roles/sheets.editor на конкретную таблицу, не на весь проект.

Сроки реализации

Вариант Состав Срок
Один лист (заказы за 90 дней) Агент + Sheets API + базовый дашборд 1–2 дня
Полный e-commerce дашборд (5–7 листов) Несколько агентов + трансформация данных 3–5 дней
Исторические данные + BigQuery Первоначальная загрузка + инкрементальный sync 1–2 недели