sql クエリ用テーブル
sql`…` コマンドは Server SDK の一部です。Qubix データベースから直接データを読み取り、スクリプト、Britva 自動ルール、サイトハンドラ で使用できます。アクセスできるテーブルと列、およびそのルールについてのリファレンスです。
アクセスの仕組み
- 読み取り専用。
SELECT、WITH、SHOW、DESCRIBE、またはEXPLAINで始まるクエリのみが許可されます。データの変更(INSERT、UPDATE、DELETE)やクエリ内から外部ソースへのアクセスはブロックされます。 - 安全なパラメーター。
${…}を通じて渡された値は、テキストに直接埋め込まれるのではなく、常にクエリパラメーターとして渡されます。手動でのエスケープは不要で、クエリのインジェクションは不可能です。 - 自分のデータのみ閲覧可能。 クエリはご自身のロールの権限内で実行されます。レポートで閲覧が許可されているデータのみが取得されます。他者のデータにはアクセスできません。
- サイズ制限。 1 回のクエリで返される行数は最大数千行です(正確な上限は管理者が設定します)。大量データを取得する場合は、クエリ内で集計してください —
count()、sum()、GROUP BY。
テーブル名はデータベースのプレフィックスなしで記述します — qubix_events のみでかまいません。
qubix_events — イベントストリーム
メインテーブルです。訪問者のイベントとコンバージョンアクション 1 件につき 1 行が記録されます。これを通じて、最初の訪問からデポジット、プッシュ配信まで、トラフィックで起きるすべてを確認できます。
イベントと識別情報
| 列 | 内容 |
|---|---|
event | イベントの種類(下記の表に値一覧) |
event_time | イベントの発生時刻 |
piuid | 訪問者 ID(訪問をまたいで持続) |
pwa_id | イベントが属する PWA |
domain | イベントが発生したドメイン |
url | ページアドレス |
地域とデバイス
| 列 | 内容 |
|---|---|
geo、country | 訪問者の国(GeoIP による) |
city | 市区町村 |
language | ブラウザの言語 |
ua | User-Agent |
ip | IP アドレス |
device | デバイスデータ(JSON) |
トラッキングとアトリビューション
| 列 | 内容 |
|---|---|
click_id | トラッカーのクリック ID |
campaign_id | トラッカーのキャンペーン |
ad_id | 広告 |
sub_id_1 … sub_id_16 | カスタムトラッカータグ |
fbc、fbp、fbclid | Facebook アトリビューションパラメーター |
gclid、ttclid | Google / TikTok アトリビューション |
source_clid | 元のクリック ID |
pixel | ピクセル ID |
params | すべてのアドレスパラメーター(「キー → 値」のマップ) |
オファー
| 列 | 内容 |
|---|---|
offer_id | オファー |
offer_url | オファーのリンク |
プッシュ
| 列 | 内容 |
|---|---|
push_campaign_id | プッシュキャンペーン |
subscription_id | 訪問者のプッシュサブスクリプション |
message_id | 送信済みメッセージ 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 がブラウザから送信するものがここに直接記録されます。
例
過去 1 日にプッシュを許可した国別の訪問者数:
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)
その他のテーブル
| テーブル | 内容 |
|---|---|
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 |
既製のレポートメトリクス(spend、revenue、ROAS、広告ごとのコンバージョン)は、生のストリームからではなく ad オブジェクトのフィールドから取得する方が簡単です — 完全なリストは メトリクスと列 にあります。
注意
クエリからサービスのシークレットにはアクセスできません — たとえば、プッシュ用の秘密鍵は読み取れません。クエリは常に読み取り専用で、ご自身のロールの権限内でのみ動作します。