Dr. Flex Buchungstracking

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

Welche Ereignisse können nachverfolgt werden?

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.

EreigniskategorieEreignisBeschreibungErläuterung
Terminbuchungappointment_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.
Terminbuchungsend„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.
Terminbuchungconfirm„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.
Terminbuchungtan_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.

Buchungs-Tracking: Allgemeine Version

Action Required: Änderungshinweis

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.

Voraussetzungen für aktives Buchungs-Tracking

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.

Callback-Funktion im JSON-Objekt

const drFlexData = {
    analyticsCallback: function (data) {
        // tracking code (siehe konkrete Beispiele weiter unten)
    }
};

Hinweise zum Vorgehen

  • Nutzen Sie eines der folgenden Codebeispiele oder passen Sie diese an Ihre Anforderungen an.
  • Ergänzen Sie den Code an allen Stellen im Quellcode, an denen das Buchungs-Widget geöffnet wird.

Beispiele für Funktionsaufrufe je nach Einbindungsart

Eine oder mehrere Praxen direkt im <head> eingebunden

<script src="https://dr-flex.de/embed.js?medicalPracticeId=12345[-23456-34567]"></script>
<script>
    toggleDrFlexAppointments(drFlexData);
</script>

Generelle Einbindung für Einzel- oder Multipraxen per JavaScript

<script src="https://dr-flex.de/embed.js"></script>
<script>
    toggleDrFlexAppointments(12345[, 23456, 34567], drFlexData);
</script>

[text] = optionale zusätzliche Argumente

Code-Beispiele

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.

Google Analytics – GA4

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,
                });
            }
        }
    },
};

Google Tag Manager

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,
                });
            }
        }
    },
};

Meta Pixel (Facebook Pixel)

const drFlexData = {
    analyticsCallback: function (data) {
        if (typeof window.fbq === "function") {
            window.fbq("trackCustom", "Terminbuchung", data);

            if (data.category === "confirm") {
                window.fbq("track", "PageView");
            }
        }
    },
};

Struktur des data-Objekts

Der Funktionsparameter data ist ein JSON-Objekt mit folgenden Keys:

["event", "category", "consultation", "label", "therapist", "insuranceType"]

Ergänzende Informationen zu Event-spezifischen Buchungs-IDs

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:

  • ordinalBookingID
  • combinedOrdinalBookingIds

Events ohne finale Buchungs-ID

Für folgende Events gilt, dass noch keine abgeschlossene Buchung vorliegt:

  • appointment_opened
  • booking_inserted

Eigenschaften:

  • ordinalBookingID → immer null
  • combinedOrdinalBookingIds → immer []

Typische Anwendungsfälle:

  • Funnel-Analysen
  • Conversion-Vorstufen
  • UX- und Abbruchanalysen

Event mit finaler Buchungs-ID

Für das folgende Event gilt:

  • tan_comitted

Dieses Event wird ausgelöst, sobald die Buchung final bestätigt wurde.

Eigenschaften:

  • ordinalBookingID → eindeutige Buchungs-ID der Hauptbuchung
  • combinedOrdinalBookingIds → zusätzliche Buchungs-IDs bei Kombi-Terminen oder []

Datentypen der Buchungs-ID-Felder

  • 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.

Buchungs-Tracking: WordPress-Version

Getting Started

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.

Events in der Browser-Konsole prüfen

console.log(data);

Einrichtung im WordPress-Backend

  1. WordPress-Adminbereich öffnen
  2. Dr. Flex Plugin aufrufen
  3. Reiter „Codebeispiele“ auswählen
  4. Passenden Code kopieren
  5. Unter „Konfiguration“ in das Feld „Callback“ einfügen
  6. Speichern

Test für Google-Produkte (GTM / GA4)

  1. Praxis-Website öffnen
  2. Dr. Flex Buchungs-Widget starten
  3. Bis zum Feld „Vorname“ klicken
  4. Entwicklerkonsole öffnen
  5. dataLayer eingeben

Es sollte ein appointment_opened-Event mit den entsprechenden Termininformationen erscheinen.