Таблицы для запросов sql
Команда sql`…` — часть Server SDK: она читает данные напрямую из базы Qubix и
доступна в скриптах, автоправилах Britva и
обработчиках сайта. Это справочник по тому, к каким таблицам и
колонкам можно обращаться и по каким правилам.
Как работает доступ
- Только чтение. Разрешены запросы, которые начинаются с
SELECT,WITH,SHOW,DESCRIBEилиEXPLAIN. Любые изменения данных (INSERT,UPDATE,DELETE) и обращения к внешним источникам внутри запроса заблокированы. - Безопасные параметры. Значения, переданные через
${…}, всегда уходят как параметры запроса, а не подставляются в текст. Экранировать вручную ничего не нужно, подмена запроса невозможна. - Видно только своё. Запрос выполняется в рамках прав вашей роли: вы получаете ровно те строки, которые вам разрешено видеть в отчётах. Чужие данные из запроса недоступны.
- Ограничение на размер. Один запрос возвращает не больше нескольких тысяч строк
(точный потолок задаёт администратор в настройках). Для больших выборок агрегируйте
прямо в запросе —
count(),sum(),GROUP BY.
Имя таблицы указывается без префикса базы — просто qubix_events.
qubix_events — поток событий
Главная таблица: одна строка на каждое событие посетителя и на каждое действие по конверсии. Через неё видно всё, что происходит с трафиком, — от первого захода до депозита и доставки пуша.
Событие и идентификация
| Колонка | Что это |
|---|---|
event | Тип события (значения — в таблице ниже) |
event_time | Время события |
piuid | Идентификатор посетителя (сквозной между заходами) |
pwa_id | PWA-приложение, к которому относится событие |
domain | Домен, на котором произошло событие |
url | Адрес страницы |
Гео и устройство
| Колонка | Что это |
|---|---|
geo, country | Страна посетителя (по GeoIP) |
city | Город |
language | Язык браузера |
ua | User-Agent |
ip | IP-адрес |
device | Данные об устройстве (JSON) |
Трекинг и атрибуция
| Колонка | Что это |
|---|---|
click_id | Идентификатор клика в трекере |
campaign_id | Кампания трекера |
ad_id | Объявление |
sub_id_1 … sub_id_16 | Пользовательские метки трекера |
fbc, fbp, fbclid | Параметры атрибуции Facebook |
gclid, ttclid | Атрибуция Google / TikTok |
source_clid | Исходный click id |
pixel | Идентификатор пикселя |
params | Все параметры адреса (словарь «ключ → значение») |
Оффер
| Колонка | Что это |
|---|---|
offer_id | Оффер |
offer_url | Ссылка оффера |
Пуши
| Колонка | Что это |
|---|---|
push_campaign_id | Пуш-кампания |
subscription_id | Пуш-подписка посетителя |
message_id | Идентификатор отправленного сообщения |
push_title, push_body | Текст пуша |
Конверсия
| Колонка | Что это |
|---|---|
status | Статус конверсии |
revenue | Доход по событию |
currency | Валюта |
response_code | Код ответа (для серверных событий) |
error_message | Текст ошибки, если была |
external_id | Внешний идентификатор |
extra | Дополнительные данные события (JSON) |
Значения event
Основные типы событий, которые встречаются в потоке:
| Группа | Значения |
|---|---|
| Заходы и показы | campaign_visit, render, white_page |
| Установка PWA | install_accepted, install_rejected, install_blocked, installed, launch_pwa, install_fallback_redirect |
| Пуши | push_prompt_shown, push_allow, push_deny, push_ignored, push_subscribe, push_sent, push_shown, push_click, push_dismiss, push_expired |
| Конверсии | reg (регистрация), dep (депозит) |
Значения событий подписок и установок совпадают с событиями
Browser SDK — то, что отправляет window.sdk из
браузера, попадает именно сюда.
Пример
Сколько посетителей из каждой страны разрешили пуши за последние сутки:
const rows = sql`
SELECT geo, count() AS allowed
FROM qubix_events
WHERE event = 'push_allow'
AND event_time >= now() - INTERVAL 1 DAY
GROUP BY geo
ORDER BY allowed DESC`
for (const row of rows) console.log(row.geo, row.allowed)
Другие таблицы
| Таблица | Что внутри |
|---|---|
pwa_apps | Настройки PWA-приложений: pwa_id, name, status, country, category, rating, downloads, push_placement и другие поля конструктора |
push_subscriptions | Пуш-подписки: subscription_id, pwa_id, geo_country, active, subscribed_at |
push_campaigns | Пуш-кампании: push_campaign_id, name, status, target_geo |
Готовые метрики отчётов (расход, доход, ROAS, конверсии по объявлениям) удобнее брать не
из сырого потока, а из полей объекта ad — их полный список в
Метриках и колонках.
Служебные секреты недоступны из запросов — например, приватные ключи для пушей прочитать нельзя. Запрос всегда работает только на чтение и только в рамках прав вашей роли.