vgl.
📋 Monatsreport (Auto-generiert)
Am 1. jeden Monats um 09:00 automatisch für den Vormonat erstellt · Vergleich zum Vorvormonat mit auto-erkannten Wins, Issues + Empfehlungen
In neuem Tab öffnen ↗
📊
Monat wählen und Aktualisieren klicken
🌐
Noch keine Daten
💰
Noch keine Daten
📱
Noch keine Daten
📅 Gebuchte Calls (Cal.com)
📅
Cal.com API Key fehlt — in .env eintragen
📬 Kontaktanfragen (Gmail)
✉️
Gmail noch nicht eingerichtet — siehe Setup
📧 Newsletter Performance (Brevo)
📧
Noch keine Daten
📞 Voicebot Marina (Retell AI)
📞
Noch keine Voicebot-Daten
💬 Textchat Bots (Chatbase)
💬
Noch keine Chatbot-Daten
📈
Noch keine CRM-Daten
📊 Lead-Quellen-Mix
📋 Lead-Performance pro Kanal — Plan vs. Wirklichkeit
🔄 Lead-Funnel — Leads → CRM → Won-Deals
⭐ Lead-Qualität (Sentiment, Konversionsraten, Speed-to-Lead)
💰 Akquise-Effizienz pro Kanal
🛍️
Crew-Shop: keine Bestellungen im Zeitraum oder API nicht verbunden
💳
Noch keine Stripe-Daten — Aktualisieren klicken, dann werden Charges/Refunds/Payouts geladen
🔭
GEO Monitoring wird nicht automatisch geladen
🤖

AI-Analyse & Handlungsempfehlungen

Claude Opus 4.6

Tiefe Analyse aller KPI-Daten mit konkreten Handlungsempfehlungen.
Erst Daten laden (Aktualisieren), dann hier starten.

⛵ SailWithUs KPI Dashboard

Zentrales Marketing-Cockpit für sailwithus.de — alle wichtigen KPIs aus über 12 Plattformen auf einen Blick, mit KI-Analyse und GEO-Monitoring für KI-Sichtbarkeit.

Was kann das Dashboard?
📊

Übersicht

Alle wichtigsten KPIs auf einen Blick: Sessions, Umsatz, Klicks, Conversions. Inklusive Conversion-Funnel vom Websitebesucher bis zum gewonnenen Deal.

🌐

Traffic & SEO

Google Analytics 4 mit Kanal-Aufschlüsselung (Organic, Direct, Paid, Social…) und Google Search Console mit Top-Suchanfragen, Klicks und Impressionen.

💰

Paid Media

Google Ads und Meta Ads — Kosten, Klicks, ROAS, Käufe. Vergleich zum Vorjahr oder Vormonat auf Knopfdruck.

📱

Social Media

Meta Business Suite: Instagram- und Facebook-Insights mit Views, Reach, Interactions, Follows — letzte 28 Tage.

📧

E-Mail & Kontakt

Brevo E-Mail-Kampagnen (Open Rate, Click Rate) und Gmail-Kontaktanfragen mit Antwortzeit-Analyse.

🤖

Bots & Calls

Chatbase (Chatbot-Gespräche & Leads), Retell AI (Voicebot Marina — Calls, Erfolgsrate, Leads) und Cal.com (gebuchte Beratungs-Calls).

📈

Sales CRM

Pipedrive: Won Deals, Umsatz, Win Rate, Pipeline-Übersicht. Lead Attribution zeigt welche Bots & Calls zu gewonnenen Deals geführt haben.

🔭

GEO Monitoring

Testet wie oft sailwithus.de in Antworten von ChatGPT, Gemini, Claude und Llama auf relevante Segelurlaub-Anfragen erwähnt wird. Inklusive technischer GEO-Faktoren.

AI-Analyse

Claude Opus analysiert alle geladenen KPIs und liefert priorisierte, umsetzbare Handlungsempfehlungen auf Deutsch — inkl. Executive Summary und Risiko/Chancen-Einschätzung.

🚀 Installation & erster Start

1

Node.js installieren

Das Dashboard läuft auf Node.js. Falls noch nicht installiert: nodejs.org/de/download → Version 18 oder neuer herunterladen und installieren.

2

START.bat doppelklicken

Die Datei START.bat im Dashboard-Ordner starten. Beim ersten Start werden alle benötigten Pakete automatisch installiert (einmalig, ca. 1 Minute).

3

API-Keys eintragen (nur beim ersten Start)

Die Datei .env im Dashboard-Ordner mit einem Texteditor öffnen und die gewünschten API-Keys eintragen. Dann START.bat erneut starten.

4

Dashboard im Browser öffnen

Der Browser öffnet sich automatisch auf http://localhost:3000. Monat auswählen → Aktualisieren klicken → alle Daten werden geladen.

5

Gmail-Authentifizierung (einmalig, optional)

Für den Gmail-Kontaktanfragen-Tab: node setup-gmail.js im Terminal ausführen. Ein Browser-Fenster öffnet sich zur Google-Anmeldung. Das Token wird lokal gespeichert.

💡 Das Dashboard merkt sich die zuletzt geladenen Daten. Beim nächsten Öffnen sind die letzten Ergebnisse sofort sichtbar, ohne neu laden zu müssen.

🖥️ Bedienung

ElementFunktion
Monat-Auswahl (oben links)Wähle den gewünschten Auswertungszeitraum — einzelne Monate oder "Letzte 7/28 Tage" für Rolling Windows
📅 vs. Vorjahr / VormonatWechselt den Vergleichszeitraum für alle Metriken: entweder selber Monat im Vorjahr oder der unmittelbare Vormonat
▶ AktualisierenLädt alle Plattformen parallel neu. Ein Ladebalken und Status-Pills zeigen den Fortschritt in Echtzeit
🌙 / ☀️ ThemeWechselt zwischen Dark und Light Mode
Tabs (oben)Wechseln zwischen den Bereichen: Übersicht, Traffic, Paid, Social, E-Mail, Bots, CRM, GEO, AI-Analyse
✨ AI-Analyse startenStartet die Claude-Analyse aller geladenen KPIs. Streamt die Antwort live. Erst Daten laden, dann analysieren.
Status-Pills (unter dem Header)Grün = Daten geladen ✓ · Gelb = Kein API Key · Rot = Fehler · Blau blinkend = Lädt gerade

🔑 API-Keys — Wo bekomme ich sie?

Du brauchst nicht alle Keys. Das Dashboard zeigt nur Plattformen an, für die ein Key vorhanden ist.

PlattformKey holen unterTyp
📊 Google Analytics + 🔍 Search Console console.cloud.google.com → OAuth 2.0 Client IDs → Desktop App → GOOGLE_CLIENT_ID + GOOGLE_CLIENT_SECRET Empfohlen
✉️ Gmail (Kontaktanfragen) Gleiche Google Cloud Console — separaten OAuth Client für Gmail anlegen → GMAIL_CLIENT_ID + GMAIL_CLIENT_SECRET Optional
📘 Meta Ads + 📱 Instagram/Facebook developers.facebook.com/apps → App anlegen → Long-lived User Token → META_APP_ID, META_APP_SECRET, META_ACCESS_TOKEN Optional
👁️ SISTRIX app.sistrix.com → Einstellungen → API → SISTRIX_API_KEY Optional
🎯 Google Ads Google Ads API → Developer Token + Customer ID → GOOGLE_ADS_DEVELOPER_TOKEN Optional
📧 Brevo app.brevo.com → Einstellungen → API-Schlüssel → BREVO_API_KEY Optional
📅 Cal.com app.cal.com → Settings → API Keys → CALCOM_API_KEY Optional
💬 Chatbase chatbase.co → Settings → API Keys → CHATBASE_API_KEY Optional
📞 Retell AI app.retellai.com → Settings → API Keys → RETELL_API_KEY Optional
📈 Pipedrive CRM app.pipedrive.com → Einstellungen → Personal Preferences → API → PIPEDRIVE_API_KEY Optional
✨ Claude AI (KI-Analyse) console.anthropic.com → API Keys → ANTHROPIC_API_KEY Empfohlen
🤖 ChatGPT (GEO) platform.openai.com/api-keys → Create new key → OPENAI_API_KEY Optional
🔵 Gemini (GEO + Web-Suche) aistudio.google.com/apikey → Create API Key → GEMINI_API_KEY Optional
⚡ Groq / Llama (GEO, kostenlos) console.groq.com/keys → Create API Key → GROQ_API_KEY Kostenlos
ℹ️ Alle Keys werden nur lokal in der .env-Datei auf deinem Computer gespeichert. Sie werden nicht übertragen oder geteilt.

🔭 GEO Monitoring — Was wird hier gemessen?

GEO = Generative Engine Optimization. Das Dashboard misst, wie sichtbar sailwithus.de in KI-Antworten ist.

ModellBesonderheitBenötigt
Claude HaikuAntwortet aus Trainingsdaten — zeigt langfristige MarkenbekanntheitANTHROPIC_API_KEY
ChatGPT GPT-4o miniAntwortet aus Trainingsdaten — weltweit meistgenutztes KI-ModellOPENAI_API_KEY
Gemini 1.5 FlashMit Google Search Grounding — sucht aktiv im Web, sehr aktuellGEMINI_API_KEY
Llama 3.3 70B (Groq)Open-Source-Modell, kostenlos, aus TrainingsdatenGROQ_API_KEY

Jedes Modell beantwortet 6 Anfragen rund um Segelurlaub, Mitsegeln und Yachtcharter. Die Citation Rate zeigt, wie oft sailwithus.de in den Antworten erwähnt wird (0–100%). Zusätzlich werden technische Faktoren geprüft: llms.txt, Robots.txt-Freigaben für KI-Bots und Schema.org-Markup.

🔄 Dashboard weiterbearbeiten — Session mit Claude Code neu aufsetzen

Wenn deine lokale Claude-Code-Session verloren geht (Laptop-Neustart, Terminal zu, etc.), so kannst du eine neue Session mit vollem Zugriff auf alle Connectoren und Funktionen wieder aufbauen.

📁 Lokales Projektverzeichnis

Der Code liegt lokal hier:

cd "/Users/lucas/Downloads/wetransfer_sailwithus-dashboard_2026-04-02_0550/SailWithUs-Dashboard 2"

Falls dieses Verzeichnis nicht mehr existiert, kann der gesamte Stand aus dem Server zurückgeholt werden (siehe unten).

🔑 Zugriff auf den Server

Server-IP, SSH-Key und PM2-Prozessname:

Hostroot@91.98.74.113 (Hetzner)
SSH-Key~/.ssh/sailwithus_deploy
Working dir/var/www/dashboard/
PM2 Prozessdashboard (Port 3000, hinter nginx mit Basic-Auth auf dashboard.sailwithus.de)
Cache/var/www/dashboard/data/cache.json (Multi-Period-Cache, täglicher Cron um 8:30 Berlin-Zeit)
.env/var/www/dashboard/.env (alle API-Keys, Credentials)

🚀 Neue Claude-Code Session starten — Schritt-für-Schritt

  1. Terminal öffnen und ins Projektverzeichnis wechseln:
    cd "/Users/lucas/Downloads/wetransfer_sailwithus-dashboard_2026-04-02_0550/SailWithUs-Dashboard 2"
  2. Claude Code starten:
    claude
  3. Kontext geben — gleich am Anfang die folgende Nachricht senden, damit Claude weiß was los ist:
    Ich arbeite am sailwithus Marketing-Dashboard.
    Code liegt hier lokal, Server ist root@91.98.74.113 (SSH-Key ~/.ssh/sailwithus_deploy),
    auf dem Server unter /var/www/dashboard/ läuft der PM2-Prozess "dashboard".
    Frontend dashboard.sailwithus.de hinter Basic-Auth.
    Bitte einen kurzen Status-Check machen: was läuft, was nicht, gibt es offene PRs/Bugs.
  4. Verbindung testen — Claude wird typischerweise diesen Test durchführen:
    ssh -i ~/.ssh/sailwithus_deploy root@91.98.74.113 "pm2 status dashboard"

🧩 Integrierte Connectoren (vollständige Liste)

ConnectorDateiAPI-Key in .env
Google Analytics 4apis/ga4.jsGOOGLE_CLIENT_ID/SECRET (OAuth + tokens/google-token.json)
Google Search Consoleapis/gsc.jsderselbe OAuth-Token
Google Adsapis/google-ads.jsGOOGLE_ADS_DEVELOPER_TOKEN + GOOGLE_ADS_CUSTOMER_ID
Meta Adsapis/meta-ads.jsFACEBOOK_ACCESS_TOKEN + FACEBOOK_AD_ACCOUNT_ID
Meta Business (IG+FB)apis/meta-business.jsderselbe Token + FACEBOOK_PAGE_ID
Pinterest Adsapis/pinterest.jsPINTEREST_ACCESS_TOKEN (Trial-Token 24h-Rotation) oder Standard via OAuth
SISTRIXapis/sistrix.jsSISTRIX_API_KEY
Brevo (Newsletter)apis/brevo.jsBREVO_API_KEY
Gmail (Kontaktanfragen)apis/gmail.jsderselbe Google-OAuth-Token
Cal.comapis/calcom.jsCALCOM_API_KEY
Chatbase (Sailbot, Headskipper)apis/chatbase.jsCHATBASE_API_KEY + Bot-IDs
Retell AI (Voicebot Marina)apis/retell.jsRETELL_API_KEY (v3-API)
Pipedrive CRMapis/pipedrive.jsPIPEDRIVE_API_KEY + Pipeline-ID + Person-Lookup-Cache
Twilioapis/twilio.jsTWILIO_ACCOUNT_SID + TWILIO_AUTH_TOKEN
Outbrainapis/outbrain.jsOUTBRAIN_TOKEN (läuft regelmäßig ab — manueller Refresh)
Google Reviewsapis/google-reviews.jsGOOGLE_PLACES_API_KEY + GOOGLE_PLACE_ID
Shopify (Crew-Shop)apis/shopify.jsSHOPIFY_SHOP + SHOPIFY_ACCESS_TOKEN + SHOPIFY_API_VERSION
Gelato (Print-on-Demand)apis/gelato.jsGELATO_API_KEY
Stripeapis/stripe.jsSTRIPE_API_KEY (Restricted Key, Live-Mode)
Anthropic Claude (AI-Analyse + GEO)direkt in server.jsANTHROPIC_API_KEY

🔄 Standard-Deployment-Workflow

Code lokal ändern → auf Server kopieren → PM2 neu starten:

scp -i ~/.ssh/sailwithus_deploy server.js root@91.98.74.113:/var/www/dashboard/
ssh -i ~/.ssh/sailwithus_deploy root@91.98.74.113 "pm2 restart dashboard"

📥 Falls die lokalen Dateien verloren sind

Der komplette Code-Stand lebt auf dem Server. Hol ihn zurück:

mkdir -p ~/Downloads/dashboard-restore && cd ~/Downloads/dashboard-restore
scp -i ~/.ssh/sailwithus_deploy -r root@91.98.74.113:/var/www/dashboard/{server.js,apis,public,config.js,data,package.json,.env} .

⚠️ .env enthält alle API-Keys — sicher aufbewahren, niemals committen.

🛠️ Wichtige Debug-Befehle

PM2-Logs livessh -i ~/.ssh/sailwithus_deploy root@91.98.74.113 "pm2 logs dashboard --lines 100"
Cache-Statuscurl -s http://localhost:3000/api/cache | jq . (auf dem Server)
Refresh erzwingencurl 'http://localhost:3000/api/refresh?month=6&year=2026'
nginx-Config/etc/nginx/sites-enabled/dashboard
SSL-ZertifikatLetsencrypt via Certbot, Auto-Renewal aktiv

🌐 Browser-Connector (für UI-Aktionen via Claude)

Wenn Claude direkt in deinem Chrome navigieren soll (z. B. Stripe-/Shopify-/Pinterest-Setup):

  1. Chrome-Extension „Claude in Chrome" installieren (claude.ai/chrome)
  2. Einloggen mit demselben Anthropic-Account wie Claude Code
  3. Claude erkennt den Browser dann automatisch über mcp__Claude_in_Chrome__*-Tools
  4. Tab freigeben, Claude kann lesen, klicken, JS ausführen — Finanz-Seiten (Stripe, Bank-Portal) sind aus Sicherheitsgründen geblockt

💡 Tipp: In jeder neuen Session zuerst git status oder ls apis/ ausführen lassen, damit Claude den aktuellen Stand erfasst. Bei kritischen Änderungen (Token regenerieren, Cache leeren) immer erst Backup ziehen.

❓ Häufige Fragen

Das Dashboard lädt, aber eine Plattform zeigt „Kein API Key" Den entsprechenden Key in die .env-Datei eintragen, speichern und den Server neu starten (START.bat schließen und erneut öffnen).
Google Analytics zeigt keine Daten Google-OAuth ist nötig. Beim ersten Start öffnet sich automatisch ein Browser-Fenster zur Anmeldung. Danach werden Token lokal im tokens/-Ordner gespeichert.
Wie starte ich das Dashboard neu? Einfach START.bat erneut doppelklicken. Falls der Server schon läuft, öffnet sich nur der Browser. Für einen kompletten Neustart: das schwarze Server-Fenster schließen, dann START.bat.
Kann ich einen anderen Port als 3000 nutzen? Ja — in der Datei server.js die Zeile const PORT = 3000 auf den gewünschten Port ändern.
Die KI-Analyse läuft nicht Erst Daten mit „Aktualisieren" laden, dann AI-Analyse starten. Ein gültiger ANTHROPIC_API_KEY in der .env muss vorhanden sein.
Wie aktuell sind die GEO-Daten? GEO wird bei jedem Klick auf „Aktualisieren" live abgefragt. Gemini nutzt Google Search Grounding und liefert tagesaktuell Ergebnisse. Die anderen Modelle basieren auf ihren Trainingsdaten.
🧭
Monat wählen und Aktualisieren klicken
🔑 Passwort ändern
Min. 8 Zeichen — wähle ein sicheres Passwort
👥 User & Teams verwalten
Teams definieren welche Tabs sichtbar sind. User können einem oder mehreren Teams zugeordnet werden.

🏷️ Teams & Tab-Berechtigungen

👤 User

➕ Neuen User anlegen

🧭
Daten-Assistent
🧭
Frag mich alles zu deinen Zahlen — Umsatz, Ads, CRM, Social, Bots, SEO, Skipper & Monatsverlauf.
Ich sehe alle Connectoren live.
Wie viele Leads bringen Voicebot & Chatbot?
Welcher Werbekanal hat den besten ROAS?
Wie war der Umsatz die letzten 3 Monate?
Wo verliere ich gerade Geld?
Wie voll ist der Skipper-Backlog?