Kampagnen-Tracking und Conversion-Messung
Mit Kampagnenlinks sehen Sie, über welchen Kanal ein Patient seinen Termin gebucht hat – z. B. Google-Anzeige, Google-Unternehmensprofil, Newsletter, Instagram, Flyer oder QR-Code im Wartezimmer. Die Kampagne wird direkt am Termin gespeichert und bleibt auch erhalten, wenn der Termin später abgesagt wird.
Dr.wait setzt dafür keine Cookies, keine Tracking-Pixel und keine Drittanbieter-Tags ein. Ausgewertet werden ausschließlich die Parameter im Link, den der Patient öffnet. Ein Cookie-Banner ist dafür nicht nötig.
So funktioniert es
- Sie hängen Kampagnen-Parameter (
utm_*) an Ihren Buchungslink an – am einfachsten mit dem Kampagnen-Baukasten in Dr.wait. - Ein Patient öffnet den Link und bucht einen Termin.
- Dr.wait speichert die Kampagne am Termin. Sie sehen sie im Termin und können sie über die API auswerten.
Zusätzlich wird jeder Aufruf der Buchungsseite, des Praxisprofils oder der Online-Rezeption als Seitenaufruf protokolliert. So sehen Sie auch, wie viele Patienten den Link geöffnet, aber nicht gebucht haben.
Kampagnenlink erstellen
Öffnen Sie Einstellungen › Online-Rezeption › Terminbuchung einbetten.
- Legen Sie unter Was soll angezeigt werden? bei Bedarf fest, welche Termintypen, Kalender oder Standorte angeboten werden.
- Füllen Sie den Bereich Kampagne (optional) aus:
| Feld | Parameter | Beispiel |
|---|---|---|
| Quelle | utm_source | google, google_business, instagram, newsletter, qr |
| Medium | utm_medium | cpc, organic, social, email, print |
| Kampagnenname | utm_campaign | neupatienten_herbst_2026 |
| Suchbegriff (optional) | utm_term | orthopaede_bochum |
| Variante (optional) | utm_content | flyer_a, anzeige_2 |
Quelle und Kampagnenname sind Pflicht – erst dann werden die Parameter an den Link angehängt. Für Quelle und Medium gibt es Vorschläge, Sie können aber auch eigene Werte eingeben (z. B. x oder linkedin).
Die Werte werden automatisch kleingeschrieben und Leerzeichen durch Unterstriche ersetzt, damit sich Ihre Auswertung nicht in Newsletter, newsletter und news letter aufsplittert. E-Mail-Adressen und URLs sind als Werte nicht erlaubt.
Unter So erscheint es am Termin sehen Sie sofort, wie die Kampagne später am Termin angezeigt wird.
- Verwenden Sie das Ergebnis:
- Direktlink – für Anzeigen, Google-Unternehmensprofil, Newsletter, Social-Media-Posts und Ihre Website.
- QR-Code – für Flyer, Plakate, Visitenkarten oder das Wartezimmer. Der Code enthält den Direktlink inklusive Kampagne.
- HTML-Code zum Einbetten – siehe Hinweis unten.
Erstellen Sie für jeden Kanal einen eigenen Link, z. B. einen für die Google-Anzeige, einen für den Flyer und einen für den Newsletter. Nur so lassen sich die Kanäle später unterscheiden.
Die Kampagnen-Parameter im Einbettungs-Code sind fest eingetragen. Betten Sie das Widget mit Kampagne auf Ihrer Homepage ein, wird jede Buchung über Ihre Website dieser Kampagne zugeordnet – auch von Besuchern, die gar nicht über die Anzeige kamen. Für Anzeigen und andere Kampagnen verwenden Sie daher den Direktlink. Den Einbettungs-Code auf der Homepage lassen Sie ohne Kampagne (oder markieren ihn bewusst als utm_source=website).
Links von Hand erstellen
Die Parameter funktionieren auf allen öffentlichen Praxislinks, auch wenn Sie sie selbst anhängen oder Ihr Werbekonto sie automatisch ergänzt:
| Link | Seite |
|---|---|
https://app.drwait.de/b/IHRE-PRAXIS-ID | Online-Terminbuchung |
https://app.drwait.de/r/IHRE-PRAXIS-ID | Online-Rezeption |
https://app.drwait.de/p/IHRE-PRAXIS-ID | Praxisprofil / Patienten-App |
Beispiel:
https://app.drwait.de/b/IHRE-PRAXIS-ID?utm_source=google&utm_medium=cpc&utm_campaign=neupatienten_herbst_2026
Folgende Parameter werden ausgewertet:
| Parameter | Bedeutung |
|---|---|
utm_source, utm_medium, utm_campaign, utm_term, utm_content | Standard-Kampagnenparameter |
gclid | Klick-ID von Google Ads (wird von Google automatisch angehängt, wenn die automatische Tag-Kennzeichnung aktiv ist) |
fbclid | Klick-ID von Meta (Facebook/Instagram) |
Andere Parameter werden ignoriert. Werte, die wie eine E-Mail-Adresse oder URL aussehen, werden verworfen; jeder Wert wird auf 200 Zeichen gekürzt.
Führt ein Link über die Online-Rezeption (/r/…) weiter zur Terminbuchung, werden die Kampagnen-Parameter automatisch mitgenommen. Verweist die Online-Rezeption auf ein externes Buchungssystem, werden sie an dessen Link angehängt.
Wo sehe ich die Kampagne?
Öffnen Sie den Termin und wechseln Sie auf den Reiter Erweitert. Dort steht bei Terminen, die über einen Kampagnenlink gebucht wurden, eine Zeile wie:
Kampagne: google / cpc / neupatienten_herbst_2026
Wurde über eine Google- oder Meta-Anzeige gebucht, wird zusätzlich die Klick-ID (gclid bzw. fbclid) angezeigt. Termine ohne Kampagne zeigen diese Zeile nicht.
Die Kampagne wird einmal bei der Buchung gespeichert und danach nicht mehr verändert – auch nicht, wenn der Patient den Termin bestätigt, die Praxis ihn verschiebt oder er abgesagt wird. Sie bleibt dauerhaft am Termin und ist zusätzlich über die API abrufbar.
Conversion-Tracking
Als Conversion zählt in Dr.wait ein gebuchter und vom Patienten bestätigter Termin mit Kampagne. Reservierungen, die der Patient nicht abschließt, zählen nicht.
Weil auf app.drwait.de bewusst keine Tracking-Tags von Google, Meta oder anderen Anbietern laufen, messen Sie Conversions nicht per Pixel, sondern über die Daten am Termin:
- Eigene Auswertung: Termine mit Kampagne über die API abrufen und nach
source/campaignzählen. Mit den Seitenaufrufen ergibt sich die Conversion-Rate pro Kampagne (Aufrufe → Buchungen). - Google Ads (Offline-Conversions): Ist in Ihrem Google-Ads-Konto die automatische Tag-Kennzeichnung aktiv, speichert Dr.wait die
gclidam Termin. Legen Sie in Google Ads unter Ziele › Conversions › Neue Conversion-Aktion › Importieren eine Conversion-Aktion für Klick-Importe an und laden Sie regelmäßig diegclidder bestätigten Termine hoch. Google ordnet die Buchung dann der richtigen Anzeige und dem Suchbegriff zu. - Meta: Die
fbclidwird ebenso gespeichert und kann für einen Offline-Abgleich genutzt werden.
Beim Einrichten der Offline-Conversions unterstützen wir Sie gern.
Grenzen
- Maßgeblich ist der Link, über den gebucht wird. Öffnet ein Patient zuerst die Anzeige und bucht Tage später über Ihre Homepage, zählt die Homepage (bzw. keine Kampagne). Dr.wait speichert nichts auf dem Gerät des Patienten, um Besuche wiederzuerkennen.
- Kampagnen Ihrer Website werden nicht an das Widget weitergegeben. Landet ein Patient mit
utm_*auf Ihrer Homepage und bucht dort im eingebetteten Widget, sieht Dr.wait nur die Parameter im Einbettungs-Code, nicht die Ihrer Seite. - Patienten-App: Öffnet der Link die Dr.wait-App, wird die Kampagne übernommen. Muss die App erst installiert werden, bleibt die Kampagne unter Android erhalten, unter iOS derzeit nicht.
- Telefonische Buchungen über den Telefonassistenten oder durch das Praxisteam haben keine Kampagne.
- Statistiken: Die Terminstatistiken lassen sich derzeit nicht nach Kampagne oder Quelle filtern. Auswertungen pro Kampagne erstellen Sie über die API.
- Die Vorschau in den Einstellungen wird ohne Kampagne geladen, damit Ihre eigenen Tests die Auswertung nicht verfälschen.
Auslesen über die API
Für eigene Auswertungen, Dashboards oder den Upload an Google Ads steht die Kampagne über die Dr.wait-API, das SDK und die drwait-CLI zur Verfügung. Zugriff haben nur Administratoren der Praxis.
Feld attribution am Termin
"attribution": {
"source": "google",
"medium": "cpc",
"campaign": "neupatienten_herbst_2026",
"term": "orthopaede_bochum",
"content": "anzeige_2",
"landing": "BOOKING",
"capturedAt": "2026-09-24T08:15:02.000Z",
"extra": {
"gclid": "Cj0KCQjw…",
"src": "embed"
}
}
| Feld | Bedeutung |
|---|---|
source, medium, campaign, term, content | Werte von utm_source … utm_content |
landing | Seite, über die gebucht wurde: BOOKING, RECEPTION, PROFILE, INVITE, FORM, APPOINTMENT |
capturedAt | Zeitpunkt, zu dem die Kampagne gespeichert wurde (vom Server gesetzt) |
extra.gclid, extra.fbclid | Klick-IDs von Google Ads bzw. Meta |
extra.src | embed, wenn über das eingebettete Widget gebucht wurde |
Termine ohne Kampagne haben kein attribution-Feld.
Endpunkte
| Zweck | REST | CLI |
|---|---|---|
| Einzelner Termin | GET /appointment/:id | drwait appointment get <id> |
| Termine eines Zeitraums | GET /place/:placeId/schedule | drwait appointment list --from … --to … |
| Terminsuche | POST /place/:placeId/appointments/search | drwait appointment search |
| Seitenaufrufe (letzte 30 Tage) | GET /logs/:placeId?action=PAGE_VISIT&limit=500 | drwait logs action PAGE_VISIT --limit 500 |
Seitenaufrufe liefern je Aufruf die Seite (page) und – falls vorhanden – dieselbe attribution. Standardmäßig werden 200 Einträge zurückgegeben, maximal 1000; Seitenaufrufe werden 30 Tage aufbewahrt. Für längere Zeiträume rufen Sie die Daten regelmäßig ab.
Mit der CLI z. B. alle Termine eines Monats mit Kampagne:
drwait --json --place IHRE-PRAXIS-ID appointment list --from 2026-09-01 --to 2026-09-30 \
| jq '[.data[] | select(.attribution) | {start, type, campaign: .attribution.campaign, gclid: .attribution.extra.gclid}]'
Buchen Sie Termine über ein eigenes Frontend per API, können Sie attribution beim Anlegen (POST /appointment) mitsenden. Es gelten dieselben Regeln: erlaubte Felder, 200 Zeichen, keine E-Mail-Adressen oder URLs; capturedAt setzt der Server.
Datenschutz
- Gespeichert werden nur die oben genannten Kampagnenwerte – nie die vollständige Adresse der Seite, nie die Herkunftsseite als URL und keine Daten auf dem Gerät des Patienten.
- Die Kampagne ist nur für die Praxis sichtbar, nicht für den Patienten, und wird nicht an Google, Meta oder andere Dritte übertragen. Ein Upload der
gclidan Google Ads erfolgt nur, wenn Sie ihn selbst vornehmen. - Die Kampagne wird zusammen mit dem Termin aufbewahrt und gelöscht.