Visit performance
10 cards on this board
Metrics on this board
Consulting patients · Show rate · Payment amount · Revisit rate · Bookings · Check-ins
The healthcare template is built for minimal collection: service and department, booking and check-in, payment amount. No diagnosis, no chart text, phone numbers hashed. Clinics and branches are groups; doctors are properties.
Consulting patients
4,120
▲ 8.1%
Show rate
52%
▲ 2.4 pts
Payment amount
$386,000
▲ 10.2%
Revisit rate
24%
▲ 1.1 pts
Bookings and check-ins
BookingsCheck-insEmpty slots, a funnel that ends at the booking, and a privacy policy that forbids the usual tracking.
A booking is counted as a patient. Show rate per department and per clinic shows how many actually check in.
Watch: Show rate
Online consultations start, questions get answered, no appointment follows. consult_start as a funnel step makes the gap measurable.
Watch: Consult rate
Standard analytics collects too much. The pack records department and amount; chart text and diagnosis have no field to land in.
Watch: Cancellation rate
Discovery, consult, booking, visit, payment, revisit and refund. Names match the console after install.
| Metric | Definition | Format | Dashboards |
|---|---|---|---|
| Service viewers | UNIQUES(service_view) | Number | — |
| Consulting patients | UNIQUES(consult_start) | Number | Visit performance |
| Consult rate | UNIQUES(consult_start) / UNIQUES(service_view) * 100 | Percent | — |
| Bookings | UNIQUES(appointment_booked) | Number | Visit performance |
| Check-ins | UNIQUES(visit_checkin) | Number | Visit performance |
| Show rate | UNIQUES(visit_checkin) / UNIQUES(appointment_booked) * 100 | Percent | Visit performance |
| Cancellation rate | TOTALS(appointment_cancelled) / TOTALS(appointment_booked) * 100 | Percent | — |
| Payments | TOTALS(payment) | Number | Visit performance |
| Payment amount | PROPSUM(payment.amount) | Currency | Visit performance |
| Average payment | PROPSUM(payment.amount) / TOTALS(payment) | Currency | — |
| Visit-to-payment rate | UNIQUES(payment) / UNIQUES(visit_checkin) * 100 | Percent | — |
| Revisit bookings | UNIQUES(revisit_booked) | Number | Visit performance |
| Revisit rate | UNIQUES(revisit_booked) / UNIQUES(visit_checkin) * 100 | Percent | Visit performance |
| Follow-ups | TOTALS(followup_done) | Number | — |
| Refund amount | PROPSUM(refund.amount) | Currency | — |
| Refund rate | TOTALS(refund) / TOTALS(payment) * 100 | Percent | — |
| Average wait (min) | PROPAVG(visit_checkin.wait_min) | Number | — |
Metric names and formulas come from the industry pack. TOTALS counts events, UNIQUES counts people, PROPSUM adds up a property. Every figure on this page is sample data.
Each dashboard is a set of cards: KPIs, funnels, trends, retention, distributions and breakdown tables. Edit, duplicate or share them after install.
10 cards on this board
Metrics on this board
Consulting patients · Show rate · Payment amount · Revisit rate · Bookings · Check-ins
One board for the patient journey
Visit performance holds consulting patients, show rate, payment amount and revisit rate as KPIs, the visit funnel, booking and check-in trends, the channel table, the clinic ranking, revisit retention and the payment distribution.
Five steps over 30 days. The −46% badge marks the step losing the most patients; for most clinics it is between booking and check-in.
Visit funnel
30-day windowService view
2,400
Consult started
1,248
Appointment booked
674
Check-in
508
Payment
312
Break down by department
department is a property on booking and check-in. Dental and dermatology should not share a show-rate benchmark.
Break down by clinic
group=clinic puts each branch on its own row. A low show rate at one branch is usually a reminder or parking problem.
Ninety days to revisit
The revisit funnel runs check-in → revisit booked → payment over 90 days, long enough for most follow-up intervals.
Also in the pack
Show rate, consult conversion, revisit and a channel table that respects the privacy policy.
appointment_booked and visit_checkin carry department and clinic. Show rate and cancellation rate per department reveal where reminders, slot timing or parking need work.
Example scenario: Health checks booked three weeks out showed 39%. A reminder two days before and a reschedule link lifted it to 58%.
Show rate by department
Last 30 daysconsult_start marks the start of an online consultation. The visit funnel shows how many consults become bookings, by service and by source, without recording what was discussed.
Visit funnel · dermatology
30-day windowService view
2,400
Consult
1,248
Booked
674
Check-in
508
Payment
312
revisit_booked and followup_done come from your scheduling system. Revisit rate and retention after check-in show whether patients return for the next step of care.
Revisit after first check-in (months)
| First visit | Patients | M1 | M2 | M3 | M4 | |
|---|---|---|---|---|---|---|
| June | 1,120 | 100% | 24% | 31% | 36% | 38% |
| July | 1,240 | 100% | 22% | 29% | 34% | |
| August | 1,186 | 100% | 26% | 33% | ||
| September | 1,302 | 100% | 25% |
The channel table ranks sources by consulting patients, check-ins and payment amount. Campaigns are judged on arrivals, and the profile holds a phone hash, a department and a clinic, nothing clinical.
Channel visit table
Last 30 days| Channel | Viewers | Consults | Check-ins | Payment |
|---|---|---|---|---|
| Search | 18,400 | 1,120 | 612 | $96,400 |
| Referral | 4,200 | 610 | 488 | $81,200 |
| Google Ads | 12,600 | 940 | 402 | $58,900 |
| Newsletter | 3,900 | 380 | 296 | $44,100 |
| Meta | 9,100 | 420 | 118 | $16,300 |
A visitor has viewed the dermatology page and opened the booking calendar twice. The invite offers the next available slot; the AI answers insurance and preparation questions from your FAQ and never asks about symptoms.
Example scenario: Patients booked through chat showed up at 68% against 52% from the calendar alone. They had already confirmed insurance and the clinic.
Visitor context
Priya · Front desk
Hi! Riverside has dermatology openings Thursday 15:30 and Saturday 09:40, and both plans on the page are accepted. Want me to hold one? Just a name and a number.
Browsing and booking events from the site or mini-program; check-in, payment, follow-up and refund from your practice system. No clinical fields exist in the schema.
| Event | Name | When to send | Required properties | Source |
|---|---|---|---|---|
service_viewRequired | Service view | On a service or department page; service_id. | service_id | Web Mini-program App Server |
article_read | Health article read | When an educational article is read; article_id. | article_id | Web Mini-program App Server |
consult_startRequired | Consult started | When an online consultation begins; no content is sent. | — | Web Mini-program App Server |
appointment_bookedRequired | Appointment booked | When a booking is made; appointment_id and department. | appointment_iddepartment | Web Mini-program App Server |
appointment_cancelled | Appointment cancelled | When a booking is cancelled; appointment_id. | appointment_id | Web Mini-program App Server |
visit_checkinRequired | Check-in | From your practice system at arrival; department and optional wait_min. | department | Server App |
paymentRequired | Payment | From your billing system; order_id and amount; insert_id = order_id. | order_idamount | Server |
revisit_booked | Revisit booked | When a follow-up appointment is scheduled; appointment_id. | appointment_id | Web Mini-program App Server |
followup_done | Follow-up done | From your system when a follow-up call or message is completed. | — | Server |
refund | Refund | From your billing system; order_id and amount. | order_idamount | Server |
review_submitted | Review submitted | When a patient leaves a rating; no free text is stored. | — | Web Mini-program App Server |
Event names, required properties and sources come from the pack. Events marked Server must be sent from your backend; use insert_id to de-duplicate orders and invoices.
Illustrative scenarios, not reviews.
Compliance signed off because there was nothing to object to: department, amount, a phone hash. Show rate by clinic was on the board the same week.
N. R.
Operations director · dental group
Online consults were 1,100 a month and bookings 180. Seeing the step made it a process problem. We added a booking link to the consult close-out and doubled it.
F. A.
Digital lead · private hospital
Illustrative scenarios written from the user’s point of view. Not real reviews.
Still have a question?
Chat with the team behind TapCub — we usually reply within a few hours on business days.
Eleven events, seventeen metrics including consult rate, show rate, cancellation rate, visit-to-payment rate, revisit rate and average wait, two funnels and the Visit performance dashboard.
Diagnosis, chart text, prescriptions and consult content have no fields in the pack. Events carry service, department, clinic and amount. Phone numbers are stored as SHA-256 hashes.
The pack is designed for minimal collection and compliance mode is available per project. Review it with your privacy officer; the enterprise plan offers private deployment for residency requirements.
Clinic or branch is a group: send group=clinic:
Scope it to scheduling, insurance, preparation and directions from your FAQ. Questions about symptoms are routed to staff with a clear automated-reply label.
visit_checkin, payment, followup_done and refund are marked Server. Send them from your practice or billing system with the same phone hash.
Paste the snippet, send check-ins and payments from your practice system, and the visit funnel shows who books, arrives and returns, with nothing clinical stored.
Compliance mode available on all plans. Private deployment on enterprise.