Przejdź do głównej zawartości

Tabele dla zapytań sql

Polecenie sql`…` jest częścią Server SDK: odczytuje dane bezpośrednio z bazy Qubix i jest dostępne w skryptach, regułach automatycznych Britva oraz procedurach obsługi witryny. To dokumentacja tego, które tabele i kolumny są dostępne oraz na jakich zasadach.

Jak działa dostęp

  • Tylko do odczytu. Dozwolone są wyłącznie zapytania zaczynające się od SELECT, WITH, SHOW, DESCRIBE lub EXPLAIN. Wszelkie zmiany danych (INSERT, UPDATE, DELETE) oraz odwołania do zewnętrznych źródeł z wnętrza zapytania są zablokowane.
  • Bezpieczne parametry. Wartości przekazywane przez ${…} trafiają zawsze jako parametry zapytania, a nie jako tekst wklejony do treści. Nie trzeba niczego ręcznie escapować, a podstawianie w zapytaniu jest niemożliwe.
  • Widoczne są tylko własne dane. Zapytanie działa w granicach uprawnień Pańskiej/Pani roli: otrzymuje się dokładnie te wiersze, które są widoczne w raportach. Dane innych osób są niedostępne.
  • Limit rozmiaru. Pojedyncze zapytanie zwraca co najwyżej kilka tysięcy wierszy (dokładną granicę ustawia administrator). W przypadku dużych zbiorów należy agregować bezpośrednio w zapytaniu — count(), sum(), GROUP BY.

Nazwę tabeli podaje się bez prefiksu bazy danych — po prostu qubix_events.

qubix_events — strumień zdarzeń

Główna tabela: jeden wiersz na każde zdarzenie odwiedzającego i każdą akcję konwersyjną. Pozwala zobaczyć wszystko, co dzieje się z ruchem — od pierwszej wizyty po depozyt i dostarczenie push.

Zdarzenie i tożsamość

KolumnaCo to jest
eventTyp zdarzenia (wartości w tabeli poniżej)
event_timeCzas zdarzenia
piuidIdentyfikator odwiedzającego (trwały między wizytami)
pwa_idPWA, do którego należy zdarzenie
domainDomena, na której zdarzenie nastąpiło
urlAdres strony

Geo i urządzenie

KolumnaCo to jest
geo, countryKraj odwiedzającego (według GeoIP)
cityMiasto
languageJęzyk przeglądarki
uaUser-Agent
ipAdres IP
deviceDane urządzenia (JSON)

Tracking i atrybucja

KolumnaCo to jest
click_idIdentyfikator kliknięcia trackera
campaign_idKampania trackera
ad_idReklama
sub_id_1sub_id_16Niestandardowe tagi trackera
fbc, fbp, fbclidParametry atrybucji Facebook
gclid, ttclidAtrybucja Google / TikTok
source_clidOryginalny identyfikator kliknięcia
pixelIdentyfikator piksela
paramsWszystkie parametry adresu (mapa klucz → wartość)

Oferta

KolumnaCo to jest
offer_idOferta
offer_urlLink do oferty

Push

KolumnaCo to jest
push_campaign_idKampania push
subscription_idSubskrypcja push odwiedzającego
message_idIdentyfikator wysłanej wiadomości
push_title, push_bodyTekst push

Konwersja

KolumnaCo to jest
statusStatus konwersji
revenuePrzychód za zdarzenie
currencyWaluta
response_codeKod odpowiedzi (dla zdarzeń po stronie serwera)
error_messageTekst błędu, jeśli wystąpił
external_idIdentyfikator zewnętrzny
extraDodatkowe dane zdarzenia (JSON)

Wartości event

Główne typy zdarzeń widoczne w strumieniu:

GrupaWartości
Wizyty i wyświetleniacampaign_visit, render, white_page
Instalacja PWAinstall_accepted, install_rejected, install_blocked, installed, launch_pwa, install_fallback_redirect
Pushpush_prompt_shown, push_allow, push_deny, push_ignored, push_subscribe, push_sent, push_shown, push_click, push_dismiss, push_expired
Konwersjereg (rejestracja), dep (depozyt)

Wartości zdarzeń subskrypcji i instalacji odpowiadają zdarzeniom Browser SDK — to, co window.sdk wysyła z przeglądarki, trafia dokładnie tutaj.

Przykład

Ilu odwiedzających z każdego kraju zezwoliło na push w ciągu ostatniej doby:

JavaScript
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)

Inne tabele

TabelaCo zawiera
pwa_appsUstawienia aplikacji PWA: pwa_id, name, status, country, category, rating, downloads, push_placement i inne pola kreatora
push_subscriptionsSubskrypcje push: subscription_id, pwa_id, geo_country, active, subscribed_at
push_campaignsKampanie push: push_campaign_id, name, status, target_geo

Gotowe metryki raportowe (wydatki, przychód, ROAS, konwersje per reklama) łatwiej pobierać nie z surowego strumienia, lecz z pól obiektu ad — pełna lista w artykule Metryki i kolumny.

Uwaga

Tajemnice serwisowe są niedostępne z poziomu zapytań — na przykład nie można odczytać kluczy prywatnych dla push. Zapytanie zawsze działa w trybie tylko do odczytu i wyłącznie w granicach uprawnień Pańskiej/Pani roli.

Co dalej