Query Studio Schema Referenz
Komplettes Referenzmaterial für alle abfragbaren Tabellen in Zenovay Query Studio. Verwenden Sie diese Anleitung, um das Datenbankschema zu erkunden, Spaltentypen zu verstehen und genaue SQL-Abfragen zu schreiben.
Alle Abfragen müssen WHERE website_id = 'your-website-id' enthalten, um Ergebnisse auf Ihre Website zu begrenzen. Abfragen ohne diesen Filter werden abgelehnt.
Query Studio erzwingt maximal 1.000 Zeilen pro Abfrage und ein 10-Sekunden-Timeout. Nur SELECT-Anweisungen sind erlaubt — alle Schreibvorgänge (INSERT, UPDATE, DELETE, DROP usw.) sind blockiert.
Kern-Analytics
visitors
Einzelne Besucherdatensätze mit Geolokalisierung, Geräteinformationen, UTM-Tracking-Parametern und Verhaltensengagement-Scores. Dies ist die primäre Tabelle für granulare Besucheranalysen auf Datensatzebene.
| Spalte | Typ | Beschreibung |
|---|---|---|
id | uuid | Eindeutiger Besucherdatensatz-Identifier |
website_id | uuid | Website, zu der dieser Besucher gehört |
visitor_id | text | Anonymisierter Besucheridentifizierer (gehashed) |
page_url | text | Vollständige URL der besuchten Seite |
landing_page | text | Erste Seite, auf der der Besucher gelandet ist |
referrer | text | Referer-URL, die den Besucher gebracht hat |
country_code | varchar | ISO 3166-1 alpha-2 Ländercode (z. B. US, GB) |
country_name | varchar | Vollständiger Länder name (z. B. United States) |
city | varchar | Stadtname aus IP-Geolokalisierung |
device_type | text | Gerätekategorie: desktop, mobile oder tablet |
browser | varchar | Browsername (z. B. Chrome, Firefox, Safari) |
os | varchar | Betriebssystem (z. B. Windows, macOS, iOS) |
utm_source | varchar | UTM-Source-Parameter (z. B. google, newsletter) |
utm_medium | varchar | UTM-Medium-Parameter (z. B. cpc, email, organic) |
utm_campaign | varchar | UTM-Kampagnenname |
channel | varchar | Zugewiesener Marketing-Kanal (z. B. Organic Search, Direct, Social) |
had_interaction | boolean | Ob der Besucher mit der Seite interagiert hat (Klicks, Scrolls usw.) |
is_returning_visitor | boolean | true, wenn der Besucher bereits gesehen wurde |
time_on_page | integer | Auf der Seite verbrachte Zeit in Sekunden |
scroll_depth_percentage | integer | Erreichte maximale Scrolltiefe (0-100) |
value_score | integer | Berechneter Engagement-Score (0-100) basierend auf Verhalten |
conversion_event | varchar | Name des ausgelösten Konversionsereignisses (falls vorhanden) |
conversion_value | numeric | Mit der Konversion verbundener Geldwert |
visited_at | timestamptz | Zeitstempel, wann der Besuch stattfand |
analytics_daily
Vorberechnete tägliche Statistiken für schnelle Dashboard-Abfragen. Verwenden Sie diese Tabelle statt visitors, wenn Sie tägliche Zusammenfassungen benötigen — sie ist deutlich schneller für Datumsbereichsberichte.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
date | date | Das Kalenderdatum für dieses Aggregat |
visitors | integer | Gesamtbesucherzahl für den Tag |
page_views | integer | Gesamtanzahl der Seitenaufrufe für den Tag |
unique_visitors | integer | Anzahl der eindeutigen Besucher |
sessions | integer | Anzahl der unterschiedlichen Sitzungen |
avg_session_duration | integer | Durchschnittliche Sitzungsdauer in Sekunden |
bounce_rate | numeric | Absprungrate als Dezimal (z. B. 0.45 = 45%) |
top_countries | jsonb | Top-Länder nach Besucherzahl |
top_devices | jsonb | Gerättyp-Aufschlüsselung |
top_browsers | jsonb | Browser-Nutzungsaufschlüsselung |
top_referrers | jsonb | Top-Verweisquellen |
top_pages | jsonb | Am meisten besuchte Seiten |
JSONB-Spalten wie top_countries können mit den Operatoren -> (gibt JSON zurück) und ->> (gibt Text zurück) abgefragt werden. Beispiel: top_countries->0->>'country' gibt den Namen des Top-Landes zurück.
page_views
Einzelne Seitenaufrufereignisse mit Leistungs- und Engagement-Metriken. Jede Zeile stellt einen einzelnen Seitenladevorgang durch einen Besucher innerhalb einer Sitzung dar.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
visitor_id | uuid | Verweis auf den Besucher |
session_id | uuid | Sitzung, zu der dieser Seitenaufruf gehört |
page_url | text | Vollständige URL der Seite |
page_title | text | HTML-Titel der Seite |
page_path | text | URL-Pfad ohne Domain (z. B. /pricing) |
load_time_ms | integer | Seitenladezeit in Millisekunden |
time_on_page_seconds | integer | Auf dieser Seite verbrachte Zeit in Sekunden |
scroll_depth_percentage | integer | Erreichte maximale Scrolltiefe (0-100) |
clicks_count | integer | Anzahl der Klicks auf dieser Seite |
had_interaction | boolean | Ob eine sinnvolle Interaktion stattgefunden hat |
timestamp | timestamptz | Wenn der Seitenaufruf stattfand |
live_visitors
Derzeit aktive Besucher auf Ihrer Website. Diese Tabelle wird in Echtzeit aktualisiert und spiegelt Besucher wider, die in den letzten Minuten aktiv waren.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
visitor_id | uuid | Besucher-Identifier |
current_page_url | text | Seite, die der Besucher gerade ansieht |
landing_page | text | Erste Seite der aktuellen Sitzung |
pages_viewed | integer | Anzahl der in dieser Sitzung angezeigten Seiten |
device_type | varchar | Gerätekategorie |
browser | varchar | Browsername |
country_name | varchar | Land des Besuchers |
channel | varchar | Attribution des Verkehrskanals |
is_active | boolean | Ob der Besucher noch aktiv browst |
is_new_visitor | boolean | true, wenn dies die erste Sitzung des Besuchers ist |
Umsatz & Zahlungen
payments
Zahlungstransaktionen, die mit verbundenen Zahlungsanbietern synchronisiert sind (Stripe, LemonSqueezy, Polar). Jede Zeile stellt eine einzelne Transaktion dar.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
amount | numeric | Transaktionsbetrag in der angegebenen Währung |
currency | varchar | ISO 4217 Währungscode (z. B. USD, EUR) |
status | varchar | Zahlungsstatus: succeeded, pending, failed, refunded |
provider | varchar | Zahlungsanbieter: stripe, lemonsqueezy, polar |
marketing_channel | varchar | Dem Zahlungskanal zugeordneter Marketing-Kanal |
utm_source | varchar | UTM-Source, die mit dieser Transaktion verbunden ist |
customer_email | varchar | Kundenmail-Adresse |
customer_name | varchar | Anzeigename des Kunden |
created_at | timestamptz | Zeitstempel der Zahlungserstellung |
revenue_attribution
Umsatz, der Marketing-Kanälen über definierte Zeiträume zugeordnet ist. Verwenden Sie diese Tabelle für Kanal-ROI-Analysen und Marketing-Performance-Berichte.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
period_start | date | Startdatum der Attributionszeitraum |
period_end | date | Enddatum der Attributionszeitraum |
marketing_channel | varchar | Marketing-Kanalname |
utm_source | varchar | UTM-Source für diese Attribution |
total_revenue | numeric | Gesamtmzatz, der diesem Kanal zugeordnet ist |
transaction_count | integer | Anzahl der Transaktionen |
unique_customers | integer | Anzahl der eindeutigen zahlenden Kunden |
conversion_rate | numeric | Konversionsrate als Dezimal |
identified_users
Bekannte Benutzer, die über die Besucher-Identifikations-API identifiziert wurden. Einschließlich Abonnementstatus und Lifetime-Revenue-Daten.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
email | varchar | Benutzer-Email-Adresse |
name | varchar | Benutzer-Anzeigename |
total_revenue | numeric | Lebenslange Einnahmen von diesem Benutzer |
subscription_status | varchar | Aktueller Status: active, canceled, past_due, trialing |
subscription_plan | varchar | Planname (z. B. Pro, Enterprise) |
total_sessions | integer | Gesamtanzahl der Sitzungen |
first_seen_at | timestamptz | Zeitpunkt der ersten Identifikation des Benutzers |
last_seen_at | timestamptz | Zeitstempel der letzten Aktivität |
Ziele & Funnels
custom_goals
Im Dashboard konfigurierte Zieldefinitionen. Jedes Ziel verfolgt eine spezifische Benutzeraktion wie das Besuchen einer URL oder das Auslösen eines benutzerdefinierten Ereignisses.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
name | varchar | Für Menschen lesbarer Zielname |
goal_type | varchar | Zieltyp: url, event, pageview |
url_pattern | text | URL-Muster zum Abgleichen (für URL-Ziele) |
event_name | varchar | Ereignisname zum Abgleichen (für Ereignis-Ziele) |
is_active | boolean | Ob das Ziel derzeit aktiv ist |
default_value | numeric | Standardgeldwert pro Fertigstellung |
goal_completions
Einzelne Zielkonversionsereignisse. Jede Zeile stellt eine einzelne Instanz dar, in der ein Besucher ein definiertes Ziel erfüllt.
| Spalte | Typ | Beschreibung |
|---|---|---|
goal_id | uuid | Verweis auf die Zieldefinition |
website_id | uuid | Website-Identifier |
visitor_id | text | Besucher, der das Ziel erfüllt hat |
completion_value | numeric | Wert dieser spezifischen Fertigstellung |
page_url | text | Seite, auf der die Fertigstellung auftrat |
utm_source | varchar | UTM-Source zum Zeitpunkt der Fertigstellung |
device_type | varchar | Verwendetes Gerät |
country_name | varchar | Land des Besuchers |
completed_at | timestamptz | Zeitstempel der Zielerfüllung |
funnels
Funnel-Definitionen für Multi-Step-Konversionsverfolgung.
| Spalte | Typ | Beschreibung |
|---|---|---|
id | uuid | Eindeutiger Funnel-Identifier |
website_id | uuid | Website-Identifier |
name | varchar | Funnel-Name |
funnel_steps
Einzelne Schritte innerhalb eines Funnels, sequenziell angeordnet. Verbinden Sie mit funnels über funnel_id, um die vollständige Funnel-Konfiguration zu erhalten.
| Spalte | Typ | Beschreibung |
|---|---|---|
funnel_id | uuid | Verweis auf den übergeordneten Funnel |
step_order | integer | Position in der Funnel-Sequenz (1-basiert) |
step_name | varchar | Anzeigename für diesen Schritt |
step_type | varchar | Schritttyp: url, event |
url_pattern | text | URL-Muster zum Abgleichen (für URL-Schritte) |
event_name | varchar | Ereignisname zum Abgleichen (für Ereignis-Schritte) |
Fehler & Leistung
error_groups
Gruppierte Fehlertypen mit Vorkommen-Zählungen und Schweregrad. Fehler werden automatisch dedupliziert und nach Typ und Meldung gruppiert.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
error_type | varchar | Fehlerkategorie: javascript, network, unhandled_rejection |
error_message | text | Die Fehlermeldungs-Zeichenkette |
occurrence_count | integer | Gesamtzahl der Vorkommen dieses Fehlers |
user_count | integer | Anzahl der betroffenen eindeutigen Benutzer |
severity | varchar | Schweregrad: low, medium, high, critical |
status | varchar | Triage-Status: open, resolved, ignored |
first_seen | timestamptz | Zeitstempel der ersten Aufzeichnung dieses Fehlers |
last_seen | timestamptz | Zeitstempel des jüngsten Vorkommens |
error_occurrences
Einzelne Fehlerereignisse mit vollständigem Kontext einschließlich Stack-Traces und Umgebungsdetails.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
error_type | varchar | Fehlerkategorie |
error_message | text | Die Fehlermeldung |
stacktrace | jsonb | Vollständiger Stack-Trace als strukturiertes JSON |
page_url | text | Seite, auf der der Fehler aufgetreten ist |
browser | varchar | Browsername und -version |
os | varchar | Betriebssystem |
severity | varchar | Schweregrad |
timestamp | timestamptz | Zeitstempel des Fehlers |
performance_metrics
Core Web Vitals Messungen (LCP, CLS, INP) aus Real-User-Überwachung. Jede Zeile ist eine einzelne Messung aus einem Seitenladevorgang.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
page_url | text | Seite, auf der Metriken erfasst wurden |
lcp_value | numeric | Largest Contentful Paint in Millisekunden |
lcp_rating | varchar | LCP-Bewertung: good, needs-improvement, poor |
cls_value | numeric | Cumulative Layout Shift Score |
cls_rating | varchar | CLS-Bewertung: good, needs-improvement, poor |
inp_value | integer | Interaction to Next Paint in Millisekunden |
inp_rating | varchar | INP-Bewertung: good, needs-improvement, poor |
device_type | varchar | Gerättyp verwendet für diese Messung |
browser | varchar | Browsername |
recorded_at | timestamptz | Zeitstempel der Messung |
Verfügbarkeitskontrolle
uptime_checks
Einzelne Verfügbarkeitsprüf-Ergebnisse aus dem Überwachungssystem. Jede Zeile stellt einen einzelnen Health-Check-Ping zu Ihrer Website dar.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
checked_at | timestamptz | Zeitstempel der Durchführung der Prüfung |
is_up | boolean | Ob die Website erfolgreich antwortet |
status_code | integer | HTTP-Antwortstatus-Code |
response_time_ms | integer | Antwortzeit in Millisekunden |
error_message | text | Fehlermeldung, wenn die Prüfung fehlschlag |
region | varchar | Überwachungsregion (z. B. us-east, eu-west, ap-south) |
uptime_daily
Tägliche Verfügbarkeitszusammenfassungen. Verwenden Sie diese für SLA-Berichte und Trendanalysen statt einzelne Prüfungen abzufragen.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
date | date | Kalenderdatum |
uptime_percentage | numeric | Verfügbarkeit in Prozent (z. B. 99.95) |
avg_response_time_ms | integer | Durchschnittliche Antwortzeit in Millisekunden |
incidents_count | integer | Anzahl der Ausfallzwischenfälle |
checks_total | integer | Gesamtzahl der durchgeführten Prüfungen |
Benutzerverhalten
heatmap_data
Aggregierte Click- und Scroll-Heatmap-Daten auf einem Gitter-Overlay. Jede Zeile stellt eine Gitterzelle mit kumulativen Interaktionszählungen dar.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
page_path | varchar | Seitenpfad für diese Heatmap |
heatmap_type | varchar | Typ: click, scroll, move |
grid_x | smallint | Horizontale Gitterkoordinate |
grid_y | smallint | Vertikale Gitterkoordinate |
hit_count | integer | Anzahl der Interaktionen in dieser Gitterzelle |
intensity | numeric | Normalisierter Intensitätswert (0.0 bis 1.0) |
heatmap_sessions
Session-Level-Zusammenfassungen von Heatmap-Interaktionsdaten pro Seite.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
page_url | text | Vollständige URL der Seite |
total_clicks | integer | Gesamtzahl aufgezeichneter Klicks |
total_movements | integer | Gesamtzahl aufgezeichneter Mausbewegungen |
total_scroll_events | integer | Gesamtzahl aufgezeichneter Scroll-Ereignisse |
replay_sessions
Metadaten von Session-Replay-Aufzeichnungen. Jede Zeile stellt eine aufgezeichnete Browsersitzung dar, die im Dashboard wiedergegeben werden kann.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
visitor_id | varchar | Besucher, der aufgezeichnet wurde |
duration_ms | integer | Gesamte Aufzeichnungsdauer in Millisekunden |
total_events | integer | Anzahl erfasster DOM-Ereignisse |
total_size | integer | Aufzeichnungsdatengröße in Bytes |
started_at | timestamptz | Zeitstempel des Aufzeichnungsstarts |
frustration_events
Erkannte Frustrationsignale des Benutzers, einschließlich Rage Clicks, Dead Clicks und Error Clicks.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
frustration_type | varchar | Typ: rage_click, dead_click, error_click, thrashed_cursor |
page_url | text | Seite, auf der Frustration erkannt wurde |
timestamp | timestamptz | Zeitstempel des Ereignisses |
scroll_depth_stats
Aggregierte Scroll-Tiefen-Statistiken nach Seite, die zeigen, wie weit Besucher auf jeder Seite scrollen.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
page_path | varchar | Seitenpfad |
depth_percentage | smallint | Scroll-Tiefen-Bucket (z. B. 25, 50, 75, 100) |
reach_count | integer | Anzahl der Besucher, die diese Tiefe erreicht haben |
session_history
Abgeschlossene Sitzungszusammenfassungen mit Engagement- und Konversionsmetriken.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
visitor_id | uuid | Besucher-Identifier |
total_duration_seconds | integer | Gesamte Sitzungsdauer in Sekunden |
pages_viewed | integer | Anzahl der in der Sitzung angezeigten Seiten |
bounce | boolean | true, wenn der Besucher nach einer Seite ging |
converted | boolean | true, wenn ein Konversionsereignis ausgelöst wurde |
conversion_value | numeric | Gesamtkonversionswert für die Sitzung |
B2B & Unternehmen
b2b_companies
Identifizierte Unternehmen, die Ihre Website besuchen, mit Firmographiedaten aus IP-zu-Unternehmen-Auflösung angereichert.
| Spalte | Typ | Beschreibung |
|---|---|---|
id | text | Eindeutiger Unternehmensidentifier |
name | text | Unternehmensname |
domain | text | Unternehmenswebsite-Domain |
industry | text | Branchenklassifizierung |
employee_count | integer | Geschätzte Anzahl der Mitarbeiter |
revenue_range | text | Geschätzte jährliche Umsatzspanne (z. B. $10M-$50M) |
b2b_company_visits
Unternehmen-Level-Besuchszusammenfassungen. Verbinden Sie mit b2b_companies über company_id = id für vollständige Unternehmensdetails.
| Spalte | Typ | Beschreibung |
|---|---|---|
company_id | text | Verweis auf das Unternehmen |
website_id | uuid | Website-Identifier |
total_visits | integer | Gesamtzahl der Besuche aus diesem Unternehmen |
total_page_views | integer | Gesamtzahl der Seitenaufrufe aus diesem Unternehmen |
engagement_score | numeric | Berechneter Engagement-Score (0-100) |
last_visit | timestamptz | Zeitstempel des letzten Besuchs |
Marketing & Kampagnen
campaign_performance
UTM-Kampagnen-Performance-Metriken aggregiert nach Datum. Verwenden Sie diese für Marketing-ROI-Analysen und Kampagnenvergleiche.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
utm_source | varchar | UTM-Source-Parameter |
utm_campaign | varchar | UTM-Kampagnenname |
visitors | integer | Anzahl der Besucher aus dieser Kampagne |
conversions | integer | Anzahl der zugeordneten Konversionen |
revenue | numeric | Gesamtumsatz, der zugeordnet ist |
bounce_rate | numeric | Absprungrate als Dezimal |
date | date | Datum der Metriken |
gsc_keyword_data
Google Search Console Stichwort-Performance-Daten, die via GSC-Integration synchronisiert sind. Zeigt die Performance Ihrer Seiten in Google-Suchergebnissen.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
query | text | Suchabfrage (Stichwort) |
clicks | integer | Anzahl der Klicks aus Suchergebnissen |
impressions | integer | Anzahl der Mal in Suchergebnissen angezeigt |
ctr | numeric | Click-Through-Rate als Dezimal (z. B. 0.034 = 3,4%) |
position | numeric | Durchschnittliche Position in Suchergebnissen |
date | date | Datum der Suchdaten |
Benutzerdefinierte Ereignisse
custom_events
Benutzer-definierte Tracking-Ereignisse, die über die API für benutzerdefinierte Ereignisse gesendet wurden. Jede Zeile stellt ein einzelnes Ereignisvorkommen mit optionalen Eigenschaften und Umsatzdaten dar.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
event_name | varchar | Name des benutzerdefinierten Ereignisses (z. B. signup, add_to_cart) |
event_category | varchar | Ereigniskategorie zum Gruppieren |
visitor_id | uuid | Besucher, der das Ereignis ausgelöst hat |
properties | jsonb | Benutzerdefinierte Schlüssel-Wert-Eigenschaften, die an das Ereignis angehängt sind |
revenue | numeric | Mit diesem Ereignis verbundener Umsatzwert |
page_url | text | Seite, auf der das Ereignis ausgelöst wurde |
Die properties-Spalte ist JSONB. Abfrage spezifische Eigenschaften mit properties->>'key_name'. Beispiel: WHERE properties->>'plan' = 'pro'.
events
Systemebenen-Ereignisse, die automatisch vom Zenovay-Tracker verfolgt werden. Einschließlich Seitenaufrufen, Klicks, Formularübermittlungen und anderen integrierten Ereignistypen.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
visitor_id | uuid | Besucher-Identifier |
event_type | text | Ereignistyp: pageview, click, form_submit, video_progress, file_upload, scroll, custom |
event_name | text | Spezifischer Ereignisname |
event_value | text | Mit dem Ereignis verbundener Zeichenkettenwert |
event_data | jsonb | Zusätzliche strukturierte Ereignisdaten |
timestamp | timestamptz | Zeitstempel des Ereignisses |
Sonstiges
chart_notes
Dashboard-Anmerkungen angehängt an spezifische Daten. Diese werden als Marker auf Zeitreih-Charts angezeigt, um Kontext für Datentrends zu bieten.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
note_date | date | Datum, an das die Anmerkung angehängt ist |
content | text | Anmerkungstextinhalt |
show_on_chart | boolean | Ob diese Anmerkung auf Dashboard-Charts angezeigt werden soll |
alerts
Konfigurierte Warnregeln, die Benachrichtigungen auslösen, wenn angegebene Bedingungen erfüllt sind.
| Spalte | Typ | Beschreibung |
|---|---|---|
website_id | uuid | Website-Identifier |
alert_type | text | Warnkategorie: traffic_spike, traffic_drop, error_rate, uptime, goal |
name | text | Für Menschen lesbarer Warnname |
conditions | jsonb | Warn-Triggerbedingungen als strukturiertes JSON |
status | text | Warnstatus: active, paused, triggered |
websites
Website-Konfigurationsdatensätze. Jede verfolgte Website hat einen Eintrag hier mit ihren Einstellungen und dem Tracking-Code.
| Spalte | Typ | Beschreibung |
|---|---|---|
id | uuid | Eindeutiger Website-Identifier (überall als website_id verwendet) |
domain | varchar | Website-Domain (z. B. example.com) |
name | varchar | Anzeigename für die Website |
is_active | boolean | Ob das Tracking derzeit aktiv ist |
tracking_code | varchar | Eindeutiger Tracking-Code für das Einbettungsskript |
timezone | varchar | Zeitzone für Datumszusammenfassungen (z. B. America/New_York) |
Beispiele-Abfragen
Kern-Analytics
SELECT page_url, COUNT(*) as visits, AVG(time_on_page) as avg_time
FROM visitors
WHERE website_id = 'YOUR_WEBSITE_ID'
AND visited_at >= date_trunc('month', now())
GROUP BY page_url
ORDER BY visits DESC
LIMIT 10;SELECT date, visitors, page_views, bounce_rate
FROM analytics_daily
WHERE website_id = 'YOUR_WEBSITE_ID'
AND date >= now() - interval '30 days'
ORDER BY date ASC;Umsatz & Zahlungen
SELECT marketing_channel, SUM(amount) as total_revenue, COUNT(*) as transactions
FROM payments
WHERE website_id = 'YOUR_WEBSITE_ID'
AND status = 'succeeded'
AND created_at >= date_trunc('month', now())
GROUP BY marketing_channel
ORDER BY total_revenue DESC;SELECT email, name, total_revenue, subscription_status, subscription_plan
FROM identified_users
WHERE website_id = 'YOUR_WEBSITE_ID'
ORDER BY total_revenue DESC
LIMIT 20;Ziele & Funnels
SELECT utm_source, COUNT(*) as completions, SUM(completion_value) as total_value
FROM goal_completions
WHERE website_id = 'YOUR_WEBSITE_ID'
AND completed_at >= date_trunc('week', now())
GROUP BY utm_source
ORDER BY completions DESC;Fehler & Leistung
SELECT error_type, error_message, occurrence_count, user_count, severity, last_seen
FROM error_groups
WHERE website_id = 'YOUR_WEBSITE_ID'
AND status = 'open'
ORDER BY occurrence_count DESC
LIMIT 10;SELECT page_url,
ROUND(AVG(lcp_value), 0) as avg_lcp_ms,
ROUND(AVG(cls_value), 3) as avg_cls,
ROUND(AVG(inp_value), 0) as avg_inp_ms
FROM performance_metrics
WHERE website_id = 'YOUR_WEBSITE_ID'
AND recorded_at >= now() - interval '7 days'
GROUP BY page_url
ORDER BY avg_lcp_ms DESC
LIMIT 10;Verfügbarkeitskontrolle
SELECT date, uptime_percentage, avg_response_time_ms, incidents_count
FROM uptime_daily
WHERE website_id = 'YOUR_WEBSITE_ID'
AND date >= now() - interval '30 days'
ORDER BY date ASC;Benutzerverhalten
SELECT page_url, frustration_type, COUNT(*) as occurrences
FROM frustration_events
WHERE website_id = 'YOUR_WEBSITE_ID'
AND timestamp >= now() - interval '7 days'
GROUP BY page_url, frustration_type
ORDER BY occurrences DESC
LIMIT 10;SELECT visitor_id, duration_ms / 1000 as duration_seconds, total_events, started_at
FROM replay_sessions
WHERE website_id = 'YOUR_WEBSITE_ID'
AND duration_ms > 120000
ORDER BY started_at DESC
LIMIT 20;B2B & Unternehmen
SELECT c.name, c.industry, c.employee_count, v.total_visits, v.engagement_score, v.last_visit
FROM b2b_company_visits v
JOIN b2b_companies c ON c.id = v.company_id
WHERE v.website_id = 'YOUR_WEBSITE_ID'
ORDER BY v.engagement_score DESC
LIMIT 15;Marketing & Kampagnen
SELECT utm_source, utm_campaign, SUM(visitors) as total_visitors,
SUM(conversions) as total_conversions, SUM(revenue) as total_revenue,
ROUND(AVG(bounce_rate), 3) as avg_bounce_rate
FROM campaign_performance
WHERE website_id = 'YOUR_WEBSITE_ID'
AND date >= now() - interval '30 days'
GROUP BY utm_source, utm_campaign
ORDER BY total_revenue DESC;SELECT query, SUM(clicks) as total_clicks, SUM(impressions) as total_impressions,
ROUND(AVG(ctr), 4) as avg_ctr, ROUND(AVG(position), 1) as avg_position
FROM gsc_keyword_data
WHERE website_id = 'YOUR_WEBSITE_ID'
AND date >= now() - interval '28 days'
GROUP BY query
ORDER BY total_clicks DESC
LIMIT 20;Benutzerdefinierte Ereignisse
SELECT event_name, event_category, COUNT(*) as occurrences, SUM(revenue) as total_revenue
FROM custom_events
WHERE website_id = 'YOUR_WEBSITE_ID'
AND properties->>'source' IS NOT NULL
GROUP BY event_name, event_category
ORDER BY occurrences DESC
LIMIT 20;Sonstiges
SELECT note_date, content
FROM chart_notes
WHERE website_id = 'YOUR_WEBSITE_ID'
AND note_date >= date_trunc('month', now())
AND show_on_chart = true
ORDER BY note_date ASC;SELECT name, alert_type, status, conditions
FROM alerts
WHERE website_id = 'YOUR_WEBSITE_ID'
AND status = 'active'
ORDER BY name;