Zum Hauptinhalt springen

Tabellen für sql-Abfragen

Der Befehl sql`…` ist Teil des Server SDK: Er liest Daten direkt aus der Qubix-Datenbank und steht in Skripten, Britva-Automationsregeln und Website-Handlern zur Verfügung. Dies ist eine Referenz dafür, welche Tabellen und Spalten Sie erreichen können und nach welchen Regeln.

Wie der Zugriff funktioniert

  • Nur Lesen. Es sind ausschließlich Abfragen erlaubt, die mit SELECT, WITH, SHOW, DESCRIBE oder EXPLAIN beginnen. Datenänderungen (INSERT, UPDATE, DELETE) sowie der Zugriff auf externe Quellen innerhalb einer Abfrage sind gesperrt.
  • Sichere Parameter. Werte, die über ${…} übergeben werden, werden stets als Abfrageparameter übergeben und nicht in den Text eingefügt. Sie müssen nichts manuell escapen, und Query-Injection ist nicht möglich.
  • Sie sehen nur Ihre eigenen Daten. Die Abfrage wird innerhalb der Berechtigungen Ihrer Rolle ausgeführt: Sie erhalten genau die Zeilen, die Sie auch in den Berichten sehen dürfen. Daten anderer Personen sind nicht zugänglich.
  • Ein Größenlimit. Eine einzelne Abfrage gibt höchstens einige Tausend Zeilen zurück (der Administrator legt die genaue Obergrenze fest). Aggregieren Sie bei großen Datensätzen direkt in der Abfrage — count(), sum(), GROUP BY.

Der Tabellenname wird ohne Datenbankpräfix angegeben — also einfach qubix_events.

qubix_events — der Ereignisstrom

Die Haupttabelle: eine Zeile pro Besucherereignis und pro Konversionsaktion. Damit können Sie alles sehen, was mit dem Traffic passiert — vom ersten Besuch bis zur Einzahlung und zur Push-Zustellung.

Ereignis und Identität

SpalteBedeutung
eventDer Ereignistyp (Werte in der Tabelle unten)
event_timeDer Ereigniszeitpunkt
piuidDie Besucher-ID (beständig über Besuche hinweg)
pwa_idDie PWA, zu der das Ereignis gehört
domainDie Domain, auf der das Ereignis aufgetreten ist
urlDie Seitenadresse

Geo und Gerät

SpalteBedeutung
geo, countryDas Land des Besuchers (per GeoIP)
cityDie Stadt
languageDie Browsersprache
uaDer User-Agent
ipDie IP-Adresse
deviceGerätedaten (JSON)

Tracking und Attribution

SpalteBedeutung
click_idDie Tracker-Click-ID
campaign_idDie Tracker-Kampagne
ad_idDie Anzeige
sub_id_1sub_id_16Benutzerdefinierte Tracker-Tags
fbc, fbp, fbclidFacebook-Attributionsparameter
gclid, ttclidGoogle / TikTok Attribution
source_clidDie ursprüngliche Click-ID
pixelDie Pixel-ID
paramsAlle Adressparameter (eine „Schlüssel → Wert"-Zuordnung)

Angebot

SpalteBedeutung
offer_idDas Angebot
offer_urlDer Angebotslink

Push

SpalteBedeutung
push_campaign_idDie Push-Kampagne
subscription_idDas Push-Abonnement des Besuchers
message_idDie ID der gesendeten Nachricht
push_title, push_bodyDer Push-Text

Konversion

SpalteBedeutung
statusDer Konversionsstatus
revenueDer Umsatz für das Ereignis
currencyDie Währung
response_codeDer Antwortcode (für serverseitige Ereignisse)
error_messageDer Fehlertext, falls vorhanden
external_idEine externe Kennung
extraZusätzliche Ereignisdaten (JSON)

event-Werte

Die wichtigsten Ereignistypen, die im Strom vorkommen:

GruppeWerte
Besuche und Ansichtencampaign_visit, render, white_page
PWA-Installationinstall_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
Konversionenreg (Registrierung), dep (Einzahlung)

Die Ereigniswerte für Abonnements und Installationen entsprechen den Browser SDK-Ereignissen — was window.sdk im Browser sendet, landet direkt hier.

Beispiel

Wie viele Besucher aus jedem Land haben im letzten Tag Push erlaubt:

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)

Weitere Tabellen

TabelleInhalt
pwa_appsPWA-App-Einstellungen: pwa_id, name, status, country, category, rating, downloads, push_placement und weitere Konstruktorfelder
push_subscriptionsPush-Abonnements: subscription_id, pwa_id, geo_country, active, subscribed_at
push_campaignsPush-Kampagnen: push_campaign_id, name, status, target_geo

Vorgefertigte Berichtsmetriken (Ausgaben, Umsatz, ROAS, Konversionen pro Anzeige) lassen sich einfacher nicht aus dem Rohdatenstrom, sondern aus den Feldern des ad-Objekts entnehmen — die vollständige Liste finden Sie unter Metriken und Spalten.

Achtung

Dienstgeheimnisse sind aus Abfragen nicht zugänglich — beispielsweise können die privaten Schlüssel für Push nicht ausgelesen werden. Eine Abfrage arbeitet stets nur lesend und ausschließlich innerhalb der Berechtigungen Ihrer Rolle.

Was als Nächstes