Blog · How-to guides · Healthcare
Healthcare marketing analytics connects campaign inquiries with booked appointments and completed visits. Use de-identified aggregate exports, consistent observation windows, spreadsheet formulas, and checks that reconcile each stage.
Healthcare marketing analytics measures how campaign inquiries become booked appointments and completed visits, using a consistent intake cohort and reporting cutoff. The useful comparison is completed service demand against campaign cost, with bookings shown as an intermediate step. Use only approved, de-identified aggregate exports and keep clinical conclusions outside the analysis.
For a provider marketing team, the question is usually practical: which campaign groups produced completed appointments, and where did inquiries stop progressing? A click does not answer it. Neither does an appointment count that includes bookings still waiting to take place.
Agree the definition of an inquiry with scheduling operations. For this example, it is a qualifying request for an appointment, counted once within its assigned campaign cohort. Repeated calls about the same request are not additional inquiries. The authorized data owner applies that definition inside the provider's systems before preparing the aggregate file.
Privacy review comes before analysis. NIST's de-identification research explains that de-identification can reduce privacy risk while some de-identified information can still be re-identified. A spreadsheet with names removed is therefore not, by itself, a reason to approve sharing. Ask the responsible privacy team to approve the export, its grouping, and its destination.
This demand question also differs from supplier account coverage. The existing healthcare software selection guide covers questions for healthcare and med-tech suppliers; it does not define a provider's inquiry-to-visit funnel.
Use an intake period to identify which inquiries belong together. Give each inquiry cohort the same follow-up window, then label the cutoff explicitly. Do not compare a recent campaign with an older campaign that has had longer to complete appointments.
The approved export needs these fields:
| Field | Meaning and check |
|---|---|
| Campaign code | One assigned campaign for each qualifying request |
| Intake cohort | Period in which the inquiry first qualified |
| Campaign spend (USD) | Costs allocated under a stated, consistent policy |
| Qualified inquiries | Requests after the data owner's duplicate and scope checks |
| Booked requests | Requests with a booking recorded by the cutoff |
| Completed visits | First qualifying appointment completed for those booked requests |
| Not completed | Booked requests canceled or missed without a completed replacement |
| Pending | Booked requests whose first qualifying appointment remains outstanding |
The table follows requests through their first qualifying appointment, rather than counting every follow-up visit. That makes completed visits a subset of booked requests. Appointment availability belongs in the review notes because a campaign cannot produce a timely booking when the service has no capacity.
For broader questions about why people inquire, use marketing research analytics. Keep survey findings separate from these recorded scheduling outcomes.
Consider an illustrative US outpatient provider's mature campaign cohorts. Each cohort has the same follow-up duration and the same service scope. All counts below come from its approved aggregate export; they are hypothetical business figures, not patient records.
| Campaign | Spend (USD) | Inquiries | Booked | Completed | Not completed | Pending |
|---|---|---|---|---|---|---|
| Paid search | 12,000 | 240 | 144 | 108 | 24 | 12 |
| Community outreach | 6,000 | 120 | 84 | 70 | 9 | 5 |
| Referral campaign | 4,500 | 90 | 72 | 60 | 7 | 5 |
| Total | 22,500 | 450 | 300 | 238 | 40 | 22 |
Put these columns in A:G, with the campaign rows in spreadsheet rows 2:4. Add booking conversion in H, completion among bookings in I, completed visits per inquiry in J, and campaign cost per completed visit in K:
H2 =IFERROR(D2/C2,"")
I2 =IFERROR(E2/D2,"")
J2 =IFERROR(E2/C2,"")
K2 =IFERROR(B2/E2,"")
Fill down. Microsoft documents IFERROR as returning a specified result when a formula produces an error. Here the empty string prevents a missing denominator from becoming a false zero rate. Investigate blanks before publishing the comparison. Covirage is not affiliated with Microsoft.
| Campaign | Booking conversion | Completion among bookings | Completed per inquiry | Cost per completed visit (USD) |
|---|---|---|---|---|
| Paid search | 60.0% | 75.0% | 45.0% | 111.11 |
| Community outreach | 70.0% | 83.3% | 58.3% | 85.71 |
| Referral campaign | 80.0% | 83.3% | 66.7% | 75.00 |
| Total | 66.7% | 79.3% | 52.9% | 94.54 |
Percentages are rounded to one decimal place and costs to cents. Paid search's cost is 12,000 / 108 = $111.11; the combined cost is 22,500 / 238 = $94.54. Calculate total ratios from summed counts, using =SUM(E2:E4)/SUM(C2:C4) for completed visits per inquiry. Do not average channel percentages.
The first identity is booked requests = completed + not completed + pending. Add a check in L2:
=D2-SUM(E2:G2)
It returns zero for every campaign. The combined check is 300 - 238 - 40 - 22 = 0. Have scheduling operations confirm that every booked request has exactly one final status at the cutoff. A rescheduled appointment must not remain in both the canceled and pending categories.
Finance then reconciles $22,500 to the campaign cost register under the stated allocation policy. Marketing confirms that the campaign inquiry totals agree with the approved source report. Differences stay visible as exceptions rather than being assigned to the best-performing channel.
Referral has the lowest observed cost per completed visit, but that does not establish that more referral spending would produce the same result. Review eligible audience, available appointments, and campaign capacity first. For the distinction between a marketing cost ratio and a profit claim, see marketing ROI versus ROAS.
Bring a privacy-approved, de-identified aggregate campaign and appointment export, with the cohort, cutoff, and cost definitions. Covirage maps the columns; its tools compute the conversions and cost comparisons and check the status totals, while the external AI model explains the results with every figure traced to its rows. Create a free Covirage account and bring a sample of your own approved export; creating an account takes about a minute.
See sales insights for the supporting business reporting context.
Track qualified inquiries, booked appointments, completed visits, booking conversion, completion among bookings, and campaign cost per completed visit. Keep the observation window and service scope consistent. These measures describe demand and scheduling outcomes; they do not measure clinical effectiveness or patient health.
Use privacy-approved, de-identified aggregate campaign and scheduling exports. Include campaign codes, intake cohorts, spend, inquiry counts, and appointment status counts. Have the authorized data owner reconcile records before export, and exclude names, contact details, clinical notes, and identifying combinations.
Some booked appointments are canceled, missed, or still pending at the reporting cutoff. Report each status separately and compare cohorts with the same follow-up time. A booking rate can improve while completed visits remain unchanged if scheduling capacity or attendance changes.
No. A recorded campaign association shows how the organization assigned the inquiry, not what would have happened without the campaign. Existing demand, referrals, appointment availability, and seasonality can affect results. Treat the table as a descriptive comparison unless a separate study establishes an incremental effect.