Cookie preferences

Choose what we may use. Strictly necessary cookies keep you signed in and can't be turned off; everything else is your call and changes nothing about how the site works. You can change your mind any time from the footer.

For Tebra (Kareo)

Which campaigns produced the patients you collected from?

Tebra's encounter export carries receipts as well as charges — which is exactly what an honest channel report needs.

No API key Nothing to install in Tebra (Kareo) No card required

The gap

Charges are not revenue. Between the charge posted on the day and the money in the account sit the contractual adjustment, the patient balance and sometimes a denial.

Tebra (Kareo) sees

What was sold, to whom, and for how much.

no shared row
Your ad account sees

The click, the keyword, the call, and what each one cost.

The file

What the export needs in it.

Three things carry the match: who, how much, and when. Anything else is optional and only changes how the report can be sliced.

  1. Needed

    Patient phone or email

    The patient record on the encounter. Either is fine; phone tends to be more complete in practice data.

  2. Needed

    Receipts

    Money actually received. Tebra's encounter-level reporting exposes receipts alongside charges and adjustments, which is the distinction that makes this segment work.

  3. Needed

    Service date

    Use service date rather than posting date, and keep it consistent. The two answer different questions and mixing them is the classic reconciliation error.

  4. Optional

    Procedure or service line

    Enough to separate a cash cosmetic line from insured work. Nothing clinical is required beyond that.

Step by step

Getting the file out of Tebra (Kareo).

Written for somebody with Tebra (Kareo) open in the next tab. Report names vary by edition, so each step says what to look for.

  1. Run an encounter-level financial report

    Tebra's encounter reporting lists encounters with the patient, the service date, charges, adjustments and receipts. That is the shape you want — one row per encounter with money on it.

  2. Choose service date, not posting date

    Decide once and stay with it. Tebra's own documentation is explicit that figures tied to encounters in a period will not agree with reports built on payments posted in that period.

  3. Include the patient contact column

    A financial export with no phone or email cannot be matched to a call or a click.

  4. Export CSV and upload

    Mapping is suggested and confirmed by you. Manual mapping is always available.

  5. Add the demand side

    Ad platform exports and, in most practices, a call tracking export — patients book by phone far more often than by form.

What comes back

The page Tebra (Kareo) cannot show you.

Revenue by channel, the count of sales behind each figure, and an honest bucket for the ones nobody could trace. Sample figures, from the worked example on the Medical Clinics page — not from a Tebra (Kareo) account.

Traced to a channel$269,10069% of $390,000
Sales matched90 of 134high confidence only
Average sale$2,930per paid sale
ChannelShareSalesRevenue
Google Ads41$148,200
Meta Ads33$81,900
Email marketing16$39,000
Direct / Unknown44$120,900

Unmatched sales stay in Direct / Unknown. They are never spread across the paid channels to make the total look better.

The argument

What changes when the patient visit and the ad share a row.

Receipts against charges, and why this one column decides the report

A practice management system posts a charge on the day of service and collects some fraction of it weeks later, after the contractual adjustment, the patient responsibility and occasionally an appeal. The gap between charged and collected is routinely large and it is not uniform.

That matters for attribution because payer mix differs by channel. A channel that brings self-pay cosmetic patients and a channel that brings insured patients can post identical charges and collect amounts that are not remotely comparable. Ranked on charges, they look alike. Ranked on receipts, one of them is twice the other.

Tebra's encounter reporting exposes receipts alongside charges, which makes the honest version of this report straightforward to produce. Export receipts, and the channel table reconciles to the practice's own financials instead of to a gross-charges figure nobody recognises.

Service date or posting date — pick one and say which

Tebra's documentation warns that an encounter-scoped report will not tie out against reports built on a posting period, because the two are scoped differently by design. That is not a quirk; it is the accrual-versus-cash distinction showing up in a reporting menu.

For attribution, service date is usually the right choice: it puts the money next to the visit the marketing produced. Posting date answers a cash-flow question instead. Either works here provided you use the same one every time, and the report says which one it is reading.

No clinical data, by construction

The match reads a contact detail, an amount and a date. Diagnoses, notes and clinical detail are not needed, are not read, and should not be in the export. A service-line column is enough to separate lines of business.

Data is encrypted in transit and at rest, isolated per workspace and deletable in one click, and we act as a data processor with a DPA available. Which regulatory obligations apply to a given practice is a question for that practice and its advisers — we never see your records and are not in a position to answer it.

The cash line and the insured line are two businesses

Many independent practices run a self-pay line alongside insured work: aesthetics in a dermatology practice, cosmetic procedures beside medical ones, membership beside fee-for-service. They are marketed with different keywords at very different costs and they collect at completely different rates.

A service-line column keeps them apart. Without it, a handful of cash cases can flatter a channel whose insured volume is collecting at a fraction of what it billed.

Denials and write-offs are a channel signal, not just a billing problem

If one channel's patients are denied or written off at a materially higher rate than another's, that is a marketing finding wearing a revenue cycle costume. It usually means the channel is bringing patients whose coverage does not match the service, or self-pay patients who do not complete payment plans.

Because the report is built on receipts rather than charges, that difference shows up automatically as a lower revenue figure for the channel. Exporting adjustments as well lets you see why, rather than only that.

Practices that find this generally change the targeting rather than the budget, which is a cheaper fix than either raising or cutting spend.

Fair questions

“Tebra (Kareo) already does that.” Not quite.

They say

“Our billing is outsourced.”

We say

Then the export comes from your biller. Encounter-level financial reporting is standard, and they can run it.

They say

“Collections arrive months after the visit.”

We say

Which is why the report is built around service date with a receipts column, rather than assuming money lands in the month the patient walked in.

They say

“We do not want patient data leaving the practice.”

We say

A contact detail, an amount and a date is all the match reads. You choose what the export contains.

Questions

Tebra (Kareo), specifically.

Something else? Ask us and a person answers.

Encounter-level financials: a patient phone or email, receipts, and the service date.

Tebra (Kareo) and the other product names and logos on this page belong to their owners and are shown to identify the software a file comes from. CloseRev is not affiliated with or endorsed by them, and connects to none of them: it reads a file you export.

Start today

Two exports, and you will know.

Nothing to install in Tebra (Kareo), no API key, and no need to have been tracking anything until now. Last year works as well as this month.