Skip to main content

Master Reference: All GTM Components

Alyssa Elso avatar
Written by Alyssa Elso
Updated this week

This reference provides a complete, technical overview of every Google Tag Manager (GTM) component supported by the Practice by Numbers (PbN) Online Booking Widget.

It is designed for marketers, analysts, and implementation partners who want full visibility into all available events, triggers, variables, and tagging options that PbN supports. Whether you are validating an existing setup or building a new GTM container from scratch, this page acts as a centralized checklist to ensure nothing is missed and all tracking is configured correctly.


πŸ“‹ Complete Checklist

This section lists every event, trigger, and variable that Practice by Numbers can send to GTM. Not every practice will use every step, but this reference ensures you know what is available.


Events Sent Automatically by Practice by Numbers

Practice by Numbers automatically pushes the following events to GTM’s dataLayer. No custom JavaScript is required.

  • Total Events: 14

  • ​Event Category (included with all events): pbn_appointment_booking

⚠️ Important: Payment, insurance, and OTP-related events only fire if those features are enabled for your practice.

Event Reference Table

Event Name

When It Fires

Common Use Case

pbn_booking_widget_opened

Booking widget loads

Funnel start, remarketing

pbn_location_selected

Location is selected

Funnel analysis

pbn_visit_type_selected

Visit type is selected

Funnel analysis

pbn_provider_selected

Provider is selected

Funnel analysis

pbn_timeslot_selected

Date/time is selected

Funnel analysis

pbn_patient_info_entered

Contact form submitted

Lead tracking

pbn_draft_appointment_created

Appointment saved in backend (draft)

Backend confirmation

pbn_payment_screen_shown

Payment page loads

Payment funnel

pbn_payment_info_entered

Credit card submitted

Payment completion

pbn_insurance_screen_shown

Insurance page loads

Insurance funnel

pbn_insurance_info_entered

Insurance submitted

Insurance completion

pbn_otp_verification_shown

OTP/verification page loads

Verification funnel

pbn_appointment_booked

Final confirmation shown

Main conversion

pbn_booking_error

Booking fails

Error tracking


Triggers to Create in Google Tag Manager

Create a Custom Event trigger in GTM for each event you want to track.

How to create: Triggers β†’ New β†’ Custom Event β†’ Event name (exact match)

Trigger Reference Table

Trigger Name

Type

Event Name

When to Use

PBN - Appointment Booked

Custom Event

pbn_appointment_booked

Required – main conversion

PBN - Widget Opened

Custom Event

pbn_booking_widget_opened

Recommended – funnel start

PBN - Patient Info Entered

Custom Event

pbn_patient_info_entered

Recommended – lead event

PBN - Draft Appointment Created

Custom Event

pbn_draft_appointment_created

Backend confirmation

PBN - Payment Screen Shown

Custom Event

pbn_payment_screen_shown

Optional – payment funnel

PBN - Payment Info Entered

Custom Event

pbn_payment_info_entered

Optional – payment completion

PBN - Insurance Screen Shown

Custom Event

pbn_insurance_screen_shown

Optional – insurance funnel

PBN - Insurance Info Entered

Custom Event

pbn_insurance_info_entered

Optional – insurance completion

PBN - OTP Verification Shown

Custom Event

pbn_otp_verification_shown

Optional – verification step

PBN - Location Selected

Custom Event

pbn_location_selected

Optional – funnel step

PBN - Visit Type Selected

Custom Event

pbn_visit_type_selected

Optional – funnel step

PBN - Provider Selected

Custom Event

pbn_provider_selected

Optional – funnel step

PBN - Timeslot Selected

Custom Event

pbn_timeslot_selected

Optional – funnel step

PBN - Booking Error

Custom Event

pbn_booking_error

Optional – error tracking

Priority Triggers (Create First)

  • PBN – Appointment Booked (required)

  • PBN – Draft Appointment Created

  • PBN – Patient Info Entered


Data Layer Variables to Create in GTM

These variables allow you to pass booking details into GA4, Google Ads, Facebook, and other platforms.

How to create: Variables β†’ User-Defined Variables β†’ New β†’ Data Layer Variable

Variable Reference Table

Variable Name

Data Layer Variable Name

Description

DLV - appointment_id

appointment_id

Appointment ID

DLV - appointment_date

appointment_date

Appointment date (YYYY-MM-DD)

DLV - appointment_time

appointment_time

Appointment time (HH:MM)

DLV - visit_type_id

visit_type_id

Visit type ID

DLV - visit_type_name

visit_type_name

Visit type name

DLV - provider_id

provider_id

Provider ID

DLV - provider_name

provider_name

Provider name

DLV - location_id

location_id

Location ID

DLV - location_name

location_name

Location name

DLV - patient_type

patient_type

new or returning

DLV - payment_method

payment_method

Payment method

DLV - has_insurance

has_insurance

true / false

DLV - practice_slug

practice_slug

Practice identifier

DLV - utm_source

utm_source

UTM source

DLV - utm_medium

utm_medium

UTM medium

DLV - utm_campaign

utm_campaign

UTM campaign

DLV - error_type

error_type

Booking error type

DLV - error_message

error_message

Booking error message

Most Important Variables

  • DLV – appointment_id

  • DLV – appointment_date

  • DLV – visit_type_name

  • DLV – provider_name


Example Data Layer Event Structure

Below is an example of what Practice by Numbers sends when an appointment is booked:

{ event: 'pbn_appointment_booked', event_category: 'pbn_appointment_booking', appointment_date: '2024-10-20', appointment_time: '14:30', visit_type_id: 123, visit_type_name: 'New Patient Exam', provider_id: 456, provider_name: 'Dr. Sarah Johnson', location_id: 789, location_name: 'Downtown Office', patient_type: 'new', practice_slug: 'avondalesmiles', utm_source: 'google', utm_medium: 'cpc', utm_campaign: 'fall-promotion', utm_term: 'dentist near me', utm_content: 'ad-variant-1' }

πŸ”’ Privacy Note: No personally identifiable patient information (PII) is ever sent.


Tags You’ll Create (Platform-Specific)

Google Ads

  • Google Ads – Appointment Booked Conversion
    Trigger: PBN – Appointment Booked

Google Analytics 4 (GA4)

  • GA4 Event – PBN Appointment Booked

  • GA4 Event – PBN Widget Opened

  • GA4 Event – PBN Patient Info Entered

Use Data Layer Variables as event parameters.

Facebook Pixel

  • Facebook Pixel – Base Code (All Pages)

  • Facebook Pixel – Schedule (Appointment Booked)

  • Facebook Pixel – Lead (Patient Info Entered)

  • Facebook Pixel – ViewContent (Widget Opened)


βœ… Quick Setup Checklists

Minimum Setup (Google Ads Only)

  • Create trigger: PBN – Appointment Booked

  • Create a Google Ads conversion tag

  • Publish container

  • Test in Preview mode

Recommended Setup (Google Ads + Funnel)

  • Create triggers: Appointment Booked, Widget Opened, Patient Info Entered

  • Create a Google Ads conversion tag

  • Create GA4 event tags

  • Create Data Layer Variables

  • Publish container

  • Test in Preview mode

Full Setup (All Platforms)

  • Create all triggers

  • Create all Data Layer Variables

  • Create Google Ads tags

  • Create GA4 tags

  • Create Facebook Pixel tags

  • Publish container

  • Test in Preview mode

  • Verify data in Ads, GA4, and Facebook


πŸ“Œ Next Step: Follow the platform-specific setup guides for Google Ads, GA4, and Facebook to complete your implementation.

Did this answer your question?