Erfahren Sie, wie Sie mit dem Dr. Flex Buchungswidget Online-Terminbuchungen tracken. Technische Anleitungen für Webdesigner zur Integration in Tracking-Tools.

Im Dr. Flex Buchungs-Widget werden entlang des Buchungsprozesses definierte Events ausgelöst, die für Analyse-, Funnel- und Conversion-Tracking genutzt werden können.
| Ereigniskategorie | Ereignis | Beschreibung | Erläuterung |
|---|---|---|---|
| Terminbuchung | appointment_opened | „[Datum des Termins] [Terminart] [Behandler]“ | Wird ausgelöst, sobald ein konkreter Termin ausgewählt wird und sich das Formular zur Eingabe von Namen, Patientenfragen und Mobilnummer öffnet. OrdinalBookingID ist immer null. CombinedOrdinalBookingIds ist immer ein leeres Array. |
| Terminbuchung | send | „SMS-TAN wird gesendet [Terminart] [Behandler]“ | Wird ausgelöst, nachdem alle Pflichtfelder ausgefüllt wurden und die TAN zur Buchungsbestätigung angefordert wird. OrdinalBookingID ist immer null. CombinedOrdinalBookingIds ist immer ein leeres Array. |
| Terminbuchung | confirm | „SMS-TAN eingegeben [Terminart] [Behandler]“ | Wird ausgelöst, sobald die TAN vom Patienten eingegeben wurde. OrdinalBookingID ist immer null. CombinedOrdinalBookingIds ist immer ein leeres Array. |
| Terminbuchung | tan_committed | „Buchung final bestätigt“ | Wird ausgelöst, nachdem die TAN erfolgreich geprüft wurde und die Buchung final abgeschlossen ist. OrdinalBookingID enthält immer die eindeutige Buchungs-ID der Hauptbuchung. CombinedOrdinalBookingIds enthält die Buchungs-ID(s) der unterliegenden Terminarten bei Kombiterminen, ansonsten ein leeres Array. |
Die Buchungsereignisse werden – sofern die entsprechenden Tracking-Tools korrekt eingebunden sind – an Google Analytics, Google Tag Manager oder den Meta Pixel (Facebook Pixel) übergeben.
Mit einem durchgeführten Update wurde das Buchungs-Widget technisch überarbeitet.
Im Zuge unseres Privacy-First-Ansatzes wurde die Tracking-Funktionalität vollständig aus dem Basis-Code des Widgets entfernt.
Konsequenz: Tracking-Code für Google Analytics, Google Tag Manager oder Meta Pixel ist nicht mehr automatisch enthalten und muss – falls gewünscht – aktiv ergänzt werden.
An jeder Stelle Ihrer Website, an der das Dr. Flex Buchungs-Widget per JavaScript geöffnet wird, muss ein zusätzliches JSON-Objekt übergeben werden.
Dieses Objekt enthält eine Callback-Funktion mit dem Namen analyticsCallback.
Wichtig: Das Objekt muss bei jedem Funktionsaufruf des Buchungs-Widgets mitgegeben werden.
const drFlexData = {
analyticsCallback: function (data) {
// tracking code (siehe konkrete Beispiele weiter unten)
}
};
<head> eingebunden<script src="https://dr-flex.de/embed.js?medicalPracticeId=12345[-23456-34567]"></script>
<script>
toggleDrFlexAppointments(drFlexData);
</script>
<script src="https://dr-flex.de/embed.js"></script>
<script>
toggleDrFlexAppointments(12345[, 23456, 34567], drFlexData);
</script>
[text] = optionale zusätzliche Argumente
Die folgenden Beispiele zeigen mögliche Implementierungen der analyticsCallback-Funktion.
Sie dienen als Orientierung und müssen projektspezifisch angepasst werden.
⚠️ Bitte beachten Die Code-Snippets sind Beispiele ohne Gewähr. Datenschutzrechtliche Vorgaben (DSGVO, Einwilligungen, Cookie-Banner) sind zwingend einzuhalten.
const drFlexData = {
analyticsCallback: function (data) {
if (typeof window.gtag === "function") {
if (typeof data === "object") {
window.gtag("event", data.category, {
event_category: data.category,
event_label: data.label,
value:
data.consultation +
" " +
data.therapist +
" " +
data.insuranceType,
});
}
}
},
};
const drFlexData = {
analyticsCallback: function (data) {
if (typeof window.dataLayer !== "undefined") {
if (typeof data === "object") {
window.dataLayer.push({
event: "Terminbuchung",
category: data.category,
label: data.label,
consultation: data.consultation,
therapist: data.therapist,
insuranceType: data.insuranceType,
});
}
}
},
};
const drFlexData = {
analyticsCallback: function (data) {
if (typeof window.fbq === "function") {
window.fbq("trackCustom", "Terminbuchung", data);
if (data.category === "confirm") {
window.fbq("track", "PageView");
}
}
},
};
data-ObjektsDer Funktionsparameter data ist ein JSON-Objekt mit folgenden Keys:
["event", "category", "consultation", "label", "therapist", "insuranceType"]
Für bestimmte Events stellt Dr. Flex zusätzliche technische Informationen bereit, die eine eindeutige Identifikation von Buchungen und Kombi-Terminen ermöglichen.
Im Fokus stehen dabei die Felder:
ordinalBookingIDcombinedOrdinalBookingIdsFür folgende Events gilt, dass noch keine abgeschlossene Buchung vorliegt:
Eigenschaften:
Typische Anwendungsfälle:
Für das folgende Event gilt:
Dieses Event wird ausgelöst, sobald die Buchung final bestätigt wurde.
Eigenschaften:
ordinalBookingID Datentyp: Option (null oder einzelne Buchungs-ID)
combinedOrdinalBookingIds Datentyp: [Integer] (Array von Buchungs-IDs)
Hinweis: Für buchungsbasierte Conversion-Ziele sollte ausschließlich das Event tan_comitted verwendet werden.
Um auf ein bestimmtes Event zu reagieren, kann die Callback-Funktion genutzt werden.
Prüfen Sie dazu das data-Objekt und reagieren Sie per if-Abfrage auf das gewünschte Ereignis.
console.log(data);
dataLayer eingebenEs sollte ein appointment_opened-Event mit den entsprechenden Termininformationen erscheinen.