Enrollments and tuition, not inquiries
The ranking is on tuition actually earned, not on enrollments counted, so a channel that brings fewer and larger ones rises.
Marketing attribution for colleges and universities
Match matriculated students and the tuition they pay across a degree to the campaigns and events that produced the inquiry.
$6,120,000 51% of $12,000,000 paid
The blind spot
Inquiry to matriculation takes a full admissions cycle, and tuition is paid over three or four years. Institutional marketing is judged on neither.
What you get
The ranking is on tuition actually earned, not on enrollments counted, so a channel that brings fewer and larger ones rises.
An inquiry in one quarter and an enrollment in the next are one match, and the earlier campaign is credited with the later tuition.
Exact matches only, with weaker links held back for a person to accept or reject — which is what makes the tuition figure survive being questioned.
A worked example
Not impressions, not leads, not cost per click. Closed revenue, by the channel that produced it, for a period you choose — with the portion we could not trace shown rather than quietly shared out across your paid channels.
| Channel | Sales | Revenue | Share | % |
|---|---|---|---|---|
| Google Ads | 74 | $1,920,000 | 16% | |
| Meta Ads | 55 | $1,440,000 | 12% | |
| Open days & fairs | 106 | $2,760,000 | 23% | |
| Direct / Unknown | 226 | $5,880,000 | 49% |
An inquiry in autumn becomes an application in winter, an offer in spring, a matriculation in the following autumn and tuition for three more years. No platform claims any part of that.
Because the match is on the student and there is no attribution window, the campaign that produced the inquiry is credited for the tuition whenever it is paid — which is the figure a provost or a board is actually spending against.
Recruitment fairs, campus visits and school outreach absorb enormous institutional budgets and are reported as attendance figures.
Registration lists go into the lead file, tagged with the fair or open day. Ranked on matriculated tuition, they can finally be compared against digital spend — and the ranking that results may not be the one the budget currently reflects.
A student who has accepted an offer and paid a deposit is not yet a student. Between that point and the census date there is an appeal to another institution, a visa decision, a change in family circumstances, a gap year decided in August, and a number of people who simply never arrive. Institutions measure this carefully and give it a name, and they almost never connect it back to which channel produced the inquiry, so the recruitment report and the enrollment report describe different cohorts.
Using matriculated, fee-liable students as the revenue file is what puts the two back together. With deposits or acceptances as the lead file, each tagged with the channel that recruited the student, the report shows each channel's count beside the students who matriculated, which supplies the second reading: how many of each channel's applicants actually turn up. Those rates can differ, sometimes substantially, and the differences tend to have causes an admissions office can address — how accurately the channel described the course, how far away its audience lives, how much of its volume was speculative in the first place.
None of this requires a change in how the institution records anything. Student records exist because tuition has to be billed, and inquiry records exist because somebody was meant to follow them up. Both were kept for reasons unconnected with measurement, which is precisely why a cycle that closed two years ago can be analyzed this week. For an institution whose planning horizon is a full academic year, being able to look backwards rather than forwards is not a minor convenience.
International recruitment frequently runs through agents who are paid a commission when a student enrolls. That arrangement makes an agent's own reporting a poor basis for evaluating that agent, not because anybody is dishonest but because the incentive and the measurement sit on the same side of the table. An institution paying commission across dozens of agents in a dozen markets has a strong interest in an independent count, and rarely has a practical way of producing one. The two files it already holds are that way.
Each agent's submitted applicant list goes into the lead file with the agent named as the source, and matriculated tuition matches against it on the student's own contact detail. The result is a ranking of agents on enrolled tuition rather than on applications submitted, which is a materially different list wherever application volume has been the thing rewarded. It also makes a specific commission claim checkable: the student either appears on that agent's list or the revenue stays unattributed, and a partial link waits for a person rather than counting itself.
The same treatment applies to the rest of international recruitment, which is rarely only agents. Overseas fairs, partner institutions, articulation agreements with colleges abroad, alumni networks in a particular city. Each produces a list and each can be ranked on the tuition it eventually generated, with currency and phone country set per dataset so that a mixed international file normalizes correctly rather than quietly failing to match half of it. That failure mode is the one nobody notices, because it looks like a poor result.
A university's marketing budget serves markets with almost nothing in common. Undergraduate recruitment runs on a national admissions timetable and speaks to seventeen-year-olds and their parents. Postgraduate taught recruitment runs on its own cycle and speaks to people with careers. Executive and continuing education is effectively a business-to-business sale. Research degrees are a supervision relationship. Ranking channels once across all of that produces a table describing undergraduate recruitment which is then used to fund everything else. The bias is structural rather than occasional, and it grows quietly every planning round.
Adding a program or level column, mapped as Product / service, separates them: the report shows each program's tuition and how much of it traces to a channel, rather than one institutional figure. It does not rank channels within each program, but a program whose tuition sits mostly in Direct / Unknown is one the current channels are not reaching, whatever the institutional ranking says. Seeing them apart lets a faculty argue for spend on evidence about its own market rather than on a share of an institutional figure that was never about it, and it gives the annual argument about who subsidizes whom something to stand on.
Tuition across the whole degree is the other axis worth keeping in view. A student recruited once pays for three or four years, and a channel producing students who persist is worth more than one producing an equal number who leave after the first. Because later years carry the same student contact detail, they credit the original channel automatically, and an institution can compare recruitment spend against the revenue it genuinely generated rather than against a single year's fee. For a four-year degree that is a fourfold difference in what the channel appears to be worth.
Why it matters
"We generated 400 leads" invites an argument. "This channel closed $186,400 last quarter, here is the reconciliation" ends one. The teams that can show closed revenue by channel are the teams that get the next increase approved, because they are asking with evidence rather than with conviction.
Killing spend is politically harder than adding it, because someone always owns the channel being cut. A number that reconciles to the sales export takes the argument out of the room — you are not overruling a colleague's judgment, you are reading the same ledger they are.
Platform-reported conversions do not reconcile to revenue, and eventually someone in finance notices. Reporting built from your own closed-sales export starts from the number finance already trusts, which is why it holds up when it is checked.
Because this reconciles exports rather than tracking visitors, it works on months that have already closed. You are not instrumenting now to learn something in ninety days — you can answer for last quarter today, which is usually when the question is being asked.
Honest answers
Which is why there is no attribution window. An enrollment eighteen months after an inquiry still matches.
Which is why tuition is the measure. Applications that do not matriculate appear as unmatched leads and cost nothing.
Only a contact detail, a tuition amount and a date are needed. No academic records of any kind, and data is encrypted, isolated and deletable.
Pricing
The price here is the price on the invoice, plus any sales tax that applies — no per-call, per-minute or per-form fees. Enterprise usually fits universities and degree-granting institutions — ten seats for the team and the highest monthly record allowance, since a year of closed deals is a lot of rows.
One business closing at volume
$499/mo
billed monthly
Questions
Anything else? Talk to us — a person answers, usually the same day.
Matriculations or tuition: a student contact email or phone, the amount, and a date.
Yes — later years credit the channel that produced the student.
Add the registration list to the lead file, with the fair or open day as the source on each row.
Yes: map a faculty or program column as Product / service and each shows its own tuition and how much of it traces to a channel, which keeps one strong performer from carrying the appearance of the others.
Yes: a domestic-or-international column mapped as Product / service shows each as its own line. Phone numbers written with their + country code match as entered; numbers without one are read with the dataset's default country.
Yes. Nothing needed to be installed when those enrollments happened, which is the whole reason this works on history.
Encrypted at rest and in transit, workspace-isolated, and deleted properly rather than flagged when you ask. Your students stay inside your own workspace and a DPA is available.
Matriculation or tuition rows analyzed in a calendar month. Inquiry rows do not count.
Partly. Keep matriculated, fee-liable students as the revenue file and use deposits or acceptances as the lead file, each tagged with its recruitment channel. The report shows each channel's deposit count beside the students who arrived, and the gap between them can differ by channel, often for addressable reasons.
Add each agent's submitted applicant list to the lead file, with the agent named as the source. Matriculated tuition then matches on the student's own contact detail, so agents rank on enrolled revenue rather than on applications submitted.
Yes. The student either appears on that agent's list or the revenue does not go to that agent. If two agents both listed the student, the earlier submission is credited automatically; only a match on the same national number under a different country code waits for a person to accept or reject it.
Separately shown, yes: map a level column as Product / service and undergraduate and postgraduate tuition appear as separate lines, each with how much of it traces to a channel. A single table describes undergraduate recruitment and then gets used to fund everything, which is a structural bias rather than an occasional error.
Yes, automatically, because each year carries the same student contact detail. Recruitment spend can then be compared against revenue generated across a whole degree rather than against one year's fee.
Currency, phone country and timezone are set per dataset, so mixed files are uploaded separately and normalized correctly. Getting that wrong is the failure nobody notices, since it looks like a poor result.
Nearby
Match enrolled students and the tuition they pay across their years to the open days and campaigns that produced the family.
See how it worksMatch starts and the tuition they generate to the campaigns and events that produced the applicant.
See how it worksMatch paid enrollments, upsells and renewals to the campaigns that produced the learner, past the free trial that hid them.
See how it worksFrom the blog
Every attribution tool is built for businesses where the inquiry and the purchase happen in the same quarter. If yours does not, almost every default is wrong: the date ranges, the reporting cadence, the optimization signal and the patience of everyone involved.
Read the articleMeta's instant forms are prefilled from the customer's profile, which is why they convert so well and why so few of the leads match anything later. The phone number was not typed by the person who is about to buy from you — it was copied from a profile they last edited years ago.
Read the articleBefore you blame the matching algorithm, look at how phone numbers are stored on each side. Extensions, country codes, leading zeros and a spreadsheet that decided a number was maths — this is where most attribution quietly fails.
Read the articleStart today
Upload two exports and see your real revenue by channel in minutes. 14 days free, no card.