Self-hosted web analytics for universities and schools

Admissions, course and student portal traffic is measurable without sending student browsing data to ad platforms, but only if the setup keeps student data out of scope. This page covers the rules, the platforms and the rollout.

On this page

Self-hosted web analytics for universities and schools: why the student data question comes first

An admissions director wants conversion data from application pages, faculties want traffic data for course pages, and the student portal team is not sure what may be tracked at all. Self-hosted analytics can serve all three needs, but only if student portals are excluded from collection and the analytics server sits under the institution's own control. The first decision is therefore a scope decision: which pages are public marketing and information content, and which pages show grades, financial aid, housing or account data. Only the first group should carry a tracking script. Education differs from most sectors because several regimes can apply at once. FERPA's regulations (34 CFR Part 99) cover any educational agency or institution that receives funds under a program administered by the US Secretary of Education. Under 34 CFR 99.31(a)(1)(i)(B), an outside analytics provider can only receive education records as a school official if it performs a service the institution would otherwise perform with employees and stays under the institution's direct control. Institutions that serve children under 13 also face the COPPA Rule (16 CFR Part 312), and EU campuses must apply GDPR and the ePrivacy consent rules to any tracking. Confirm with counsel which regimes your institution falls under before choosing a configuration. For the platform, Matomo fits multi-site faculty rollups and goal tracking for application funnels, and its on-premise Community edition is free under GPL v3. Plausible Community Edition, licensed under AGPLv3, suits lean, cookieless measurement of public admissions pages, but it lacks ecommerce revenue goals and advanced bot filtering in the self-hosted build. Umami is not covered by the facts supplied for this section, so confirm its fit against your requirements before you shortlist it. Whichever platform you pick, ask an implementation partner to document the URL exclusion rules and the access controls on the analytics server before any script goes live.

Which education rules set the analytics requirements

This table maps each education and data protection rule to what it asks of a self-hosted analytics build, the evidence an assessor or auditor will expect, and where school and campus projects usually fail. Read each row as a design input: the rule determines what you exclude from collection, who may administer the platform and how long data stays.

Rule or controlWhat it means for the analytics buildEvidence to keep
FERPA school official and direct control (34 CFR 99.31(a)(1)(i)(B))If an outside party such as a hosting provider or implementation partner touches education records, it must perform a service staff would otherwise do and stay under the institution's direct control. Exclude student portal and grade pages so analytics never holds education records.Signed contract terms, named administrators, written instructions on data use and redisclosure limits
Access by legitimate educational interest (34 CFR 99.31(a)(1)(ii))Limit analytics dashboards and raw exports to staff who need them. Use role-based access so admissions staff see funnel reports without seeing any page that could reveal a student's identity.Role matrix, access review records, logs of who viewed or exported reports
Disclosure record keeping (34 CFR 99.32)Where analytics data could identify a student, record each access or disclosure request and the legitimate interest behind it. Most aggregate-only setups avoid this, which is why the page scope should be defined early.Disclosure log, retention of that log for as long as the underlying records are kept
Inspection request window (34 CFR 99.10(b))Requests from parents or eligible students to inspect records must be met within 45 days at most. Confirm with counsel whether any analytics data would fall in scope, and be able to locate it quickly.Data map showing where any identifiable analytics data is stored and how it is searched
COPPA written security program and annual risk assessment (16 CFR 312.8)Applies where a school site or service collects personal information from children under 13, such as a K-12 enrollment or learning portal. Name a security coordinator and schedule an annual risk assessment covering the analytics server.Written information security program, named coordinator, dated annual risk assessment
COPPA retention and deletion timeframe (16 CFR 312.10)Set retention on the analytics platform so children's personal information is not kept longer than needed. Configure data deletion periods and document them in the retention policy, then test that deletion runs.Written retention policy with deletion timeframe, configuration screenshots, deletion job logs
GLBA Safeguards Rule for Title IV institutions (16 CFR 314.4)Title IV institutions agreed to follow the Safeguards Rule, which requires a written information security program, multi-factor authentication for anyone accessing an information system, and FTC notification within 30 days of a qualifying event. Treat the analytics admin console as in scope.MFA enforcement settings for analytics admins, written program, incident response plan with 30-day notification step
ADA Title II WCAG 2.1 AA dates for public universities and districtsAn interim final rule published April 20, 2026 sets April 26, 2027 for entities with 50,000 or more people and April 26, 2028 for smaller entities and special districts. Public-facing analytics dashboards and reports that staff or the public use should be tested against WCAG 2.1 Level AA as part of the rollout.Accessibility test results for dashboards, remediation tickets, conformance statement owned by the institution

Which pages and data a campus can safely measure

Public admissions, program and campus pages are usually the lowest-risk part of a university website. They are open to anyone, they do not require a login, and most of what visitors do there is browse program descriptions, tuition overviews and event listings. Aggregate measurement of these pages, such as which program pages get traffic and where visitors arrive from, is generally low risk, provided the institution keeps the setup simple and documents it.

  • Low risk in general: page views, referrers and aggregate counts for program and event pages.
  • Needs review: application-start pages, request-for-information forms and any page that embeds a third-party form or chat widget.
  • Campaign links: UTM parameters can carry names, email addresses or recruiter codes if teams build them carelessly, so set a naming rule.
  • Search on the site: internal search terms can reveal personal details typed by visitors, so decide whether to log them.
  • Third-party embeds: videos, maps and social feeds may load external resources that the analytics setup does not cover.

Confirm the scope with your counsel and privacy office, and record the decision for each page group.

Which self-hosted analytics platform fits a campus

Universities and school districts usually narrow the choice to one self-hosted platform, a hosted option for comparison, and a clear rule for which features stay off. Each card below covers one option or decision, with the check to run before a campus commits to it.

Matomo On-Premise

Matomo On-Premise is licensed under GPLv3 and its Community edition is free, with unlimited users and hits and forum support only. Matomo 5.14.1 is the latest stable version, and Matomo 6.0.0 is in beta, requiring PHP 8.1 or newer and MySQL 8.0 or newer or MariaDB 10.6 or newer. Campuses that need multi-site rollups across faculties will find it a fit, but the Google Analytics importer only brings in aggregated reports, so confirm which historical views the admissions team needs before migration.

Plausible Community Edition

Plausible Community Edition is open source under AGPLv3 and runs on Docker and Docker Compose with at least 2 GB of RAM. It is a long-term release published twice per year, is community supported only, and receives security fixes only when your team applies them. Features such as single sign-on, the Sites API and the Looker Studio connector are missing, so check whether the portal team needs them before choosing it for student or course sites.

Matomo Cloud in Frankfurt

Matomo Cloud is a hosted option for campuses that want a vendor to run upgrades and uptime while keeping data in Frankfurt, Germany. Plans start at 29 per month (excluding tax) for tiers from 50,000 to 10 million hits a month, according to Matomo's pricing page. It is useful as a comparison point for the operating effort of self-hosting, but the university must still review where the vendor processes data, who holds administrator access, and whether the contract meets its records and security obligations.

Heatmap and session recording add-on

The Heatmap and Session Recording plugin for Matomo is a paid premium plugin sold per number of users under the InnoCraft EULA, not the GPL, and it includes a 30-day free trial. Adding heatmaps or session recordings also removes the consent exemption that some French and similar regulators grant to privacy-focused analytics. On a campus, this means recordings of student portal or admissions form pages can create consent and records questions, so keep the add-on disabled unless legal review approves it.

How a campus rollout moves from data review to live reporting

The sequence turns a request to measure admissions and portal traffic into a live, multi-site analytics platform where legal positions, excluded pages, access controls and retention are documented and tested before any real visitor data is collected. Each phase closes with a named output that the institution can review and sign off.

  1. Classify data and map pages in scope

    Inventory every site, faculty page, admissions form, course page and student portal the analytics should cover, then tag each as public marketing content, applicant-facing, or authenticated student and staff content. Pages that show grades, financial aid status, enrollment records or health information go on an exclusion list before any tracking code is written. The output is a signed scope register that names each site, its data class, and the pages and parameters that must never send data.

  2. Obtain legal and privacy positions

    The registrar, general counsel, privacy office and, where applicable, the EU data protection officer review how FERPA, COPPA for any content aimed at children under 13, and GDPR apply to each data class in the register. The team confirms which identifiers are collected, whether any personally identifiable information from education records could reach the analytics server, and how school official status applies to a vendor or implementation partner. The output is a written position memo per data class that the legal owner signs, with open questions logged against the institution.

  3. Design hosting and institutional sign-in

    The platform team selects the hosting location inside the institution's own cloud account, data center or on-premises network, then designs administrator and viewer access with multi-factor authentication and single sign-on through the institutional identity provider. Role design separates faculty viewers from central administrators and limits who can see raw logs. The output is an architecture diagram, an access matrix and a list of the controls that the security office will test against.

  4. Install the platform and configure faculty sites

    Engineers deploy the chosen analytics platform and its database, configure backups and the central multi-site structure, and create one site record per faculty or department with the agreed settings for IP handling, retention and campaign tagging. Where a source system is migrated, the historical import is scoped so that only aggregated data crosses over. The output is a working staging environment and a configuration export that the institution can compare against the register.

  5. Set consent handling for each country

    For EU and EEA campuses, the team applies the consent configuration that the relevant national regulator documents for each country where the institution operates, and confirms whether a banner is needed for each site. Campuses outside the EU follow the legal position from the earlier phase. The output is a per-country configuration record that the privacy office approves, with a note on any feature that would remove a consent exemption and is therefore disabled.

  6. Test that excluded pages send no data

    Testers load each excluded page, portal login flow and form submission on staging with browser developer tools and network capture, then confirm that no request reaches the analytics endpoint and that no query string or page title contains an identifier. They repeat the test after each template or plugin change in the site stack. The output is a test report listing each excluded page, the method used, and a pass or fail result, with any failure fixed and retested before go-live.

  7. Check dashboard accessibility before go-live

    Because public bodies must meet WCAG 2.1 Level AA for web content under the ADA Title II rule, the team tests the analytics dashboards and any published reports with keyboard navigation, screen readers and contrast checks, and records gaps against the accessibility office's standard. Reports that are shared publicly are reviewed on the same basis. The output is an accessibility test record and a list of accepted exceptions with owners and dates set by the institution.

  8. Hand over the runbook and retention schedule

    The team delivers a runbook covering installation, upgrades, backup restores, user onboarding, access reviews and incident response, together with a retention schedule that states how long each data class is kept and how deletion is carried out. Staff are trained on the procedures, and the institution takes ownership of the platform and its credentials. The output is a signed handover pack and a go-live record that names the responsible owner for each control.

What auditors and regulators ask the analytics platform to show

Who can see student-related reports, and how is that access logged?

Access is controlled by the analytics platform's own user and role model, combined with the school's identity provider, and the record of who viewed what lives in the platform's audit and access logs. FERPA requires institutions to use reasonable access controls so that school officials see only the education records in which they have a legitimate educational interest (34 CFR 99.31(a)(1)(ii)), and to keep a record of disclosures of personally identifiable information (34 CFR 99.32). Confirm with your platform team which events the chosen tool logs, how long logs are kept, and whether reports for student portal sections can be restricted to named roles. Whether this evidence is sufficient is decided by your institution's auditor or the regulator, not by the vendor or implementer.

What written arrangements cover outside contractors who run the analytics?

The arrangement is a contract or agreement that names the contractor as a school official, or as a processor where it applies, and records the controls on use, maintenance and redisclosure of records. Under FERPA, an outside party can receive education records only if it performs a service the institution would otherwise use employees for, stays under the institution's direct control for use and maintenance of the records, and follows the redisclosure limits in 99.33(a) (34 CFR 99.31(a)(1)(i)(B)). For EU campuses, the data processing terms required by GDPR (Regulation (EU) 2016/679) must also be in place. Ask your counsel which role applies and what the agreement must contain, and ask any implementation partner to name the people and access they will hold.

How long is analytics data kept, and how is it deleted?

The retention and deletion schedule is a written policy, configured in the analytics platform, that states how long raw events, aggregated reports and visitor-level data are stored and how deletion is carried out. For any data relating to children under 13, the COPPA Rule requires a written data retention policy with a deletion timeframe, and operators may not keep that information indefinitely (16 CFR 312.10). Your evidence is the policy document, the data retention settings in the platform, and a record of purge jobs or backup expiry. Confirm whether backups follow the same schedule, because deleted data can persist in backups until they expire.

What written information security program and risk assessments support the platform?

A written information security program (WISP) describes the controls, a named coordinator, and the review cycle for the analytics server, and the risk assessment records show the findings and decisions made. COPPA requires operators collecting personal information from children under 13 to keep a written information security program with a designated coordinator and at least annual risk assessments (16 CFR 312.8). Where the institution is subject to the GLBA Safeguards Rule through Title IV participation, it must also maintain a written program and multi-factor authentication for anyone accessing an information system (16 CFR 314.4). The program and assessments are owned by the institution, and the implementer can help prepare the evidence. Whether they meet the auditor's standard is for the auditor to decide.

What change and patch records show the analytics server is maintained?

Change and patch records are the dated log of upgrades, configuration changes, security patches and the approvals behind them, kept alongside the version of the analytics software in use. Auditors usually want to see that the platform runs a supported release and that security updates were applied on a known schedule. Matomo's changelog and the Plausible release history publish version dates that you can cite in your records, and Plausible notes that Community Edition gets security fixes only when the operator applies the release. Ask your team to keep a change ledger with the release applied, the date, the approver and any test evidence, and to confirm the support window of the release you run.

How do you prove which pages send analytics data?

A tracking inventory is a maintained list of every site, subdomain, template and page that loads the analytics script or sends events, with the data each one collects and the reason it is in scope. It is produced by a crawl or tag scan, checked against the platform's site configuration, and reviewed whenever a page or plugin is added. Pages in authenticated student portals, course areas and admissions forms need a documented decision about whether tracking is excluded or limited. The inventory is the document that shows regulators and auditors what is measured, so keep it under version control and tie each entry to an owner. Confirm with the team that third-party embeds, such as video or form widgets, are included in the scan.

What to ask an implementation partner before a campus engagement

Start with the tracking boundary, because it decides whether the rest of the engagement is worth scoping. Ask the partner to show, on a staging copy of the site, exactly how authenticated pages such as the student information portal, learning system login and financial aid pages are excluded from the tracking script, and whether exclusion happens by URL pattern, by a separate hostname, or by removing the script from templates. Then ask how they verify that no student identifiers reach the server: which fields the partner will inspect in the collected hits (for example, query strings containing a student ID, a user_id value or an email address), what test they run before go-live, and whether they will repeat that test after each CMS or theme change. Ask for the written result of that test, not a verbal assurance.

On the FERPA side, ask how the partner will document that it acts as a school official under the institution's direct control. The institution, not the partner, should own the written agreement that limits use and maintenance of any education records, and the partner should map each access path to the 34 CFR 99.31 conditions and the redisclosure limits in 99.33. Ask who keeps the access log that 99.32 requires, how role assignments restrict analytics users to the sites and reports they need, and how the partner would respond to a parent's inspection request within the 45-day limit in 99.10. For upgrades, ask how the partner tracks the Plausible Community Edition security cadence, since the vendor states that security fixes arrive only when the operator applies a release, and what the written patching commitment is.

Ask how GDPR and ePrivacy consent will be configured for EU campuses, and whether the partner will record the chosen setting in a decision memo that the data protection officer signs. Finally, ask how fixed scope and handover are defined: which sites, subdomains and reports are included, who signs off the tag placement and retention settings, what is delivered as documentation, and what support follows go-live under a retainer. Ask for the evidence pack covering role-based access reviews, retention and deletion settings, backup restore tests and the access control list export, and confirm with your own auditors which of these they will accept.

How much effort and time does a campus analytics setup take?

What drives the cost of a self-hosted campus analytics setup?

The biggest drivers are how many sites and faculties you measure, how much consent and privacy work the sites need, and how much identity integration the admin area requires. Each extra site adds tag placement, goal and report configuration, and testing. Consent work grows if you serve EU visitors and must decide whether a banner is needed. Identity integration adds single sign-on setup and access reviews. Infrastructure is a recurring cost that scales with pageviews. Ask any quote to itemize these components separately, state which sites and regions are in scope, and say who owns ongoing hosting. The cost of the software itself is not the main line item: Matomo's On-Premise Community edition is free, so most spend goes to people and infrastructure.

Can a campus IT team self-host Matomo or Plausible Community Edition alone?

Often yes, if the team has Linux, web server, database and container skills and time to maintain them. Matomo On-Premise runs on PHP with MySQL or MariaDB behind a web server such as Apache or Nginx, and Matomo's requirements FAQ sizes a single server for up to 1 million pageviews a month. Plausible Community Edition requires Docker, Docker Compose and at least 2 GB of RAM, and its operators handle installation, upgrades, capacity, uptime, backups and security themselves. Confirm whether your team can take on that operating load and an on-call rota before deciding. A partner can take on the build, hardening and documentation while your staff keep ownership.

What does the work need from campus staff and governance teams?

The project needs three kinds of input before engineering starts. First, a privacy and legal sign-off that defines the purposes of measurement, which student-facing pages are excluded, and how records are retained, since FERPA and COPPA limit what student data may be collected and kept. Second, a site inventory listing every domain, subdomain, student portal and course site, with its owner and whether it is public or authenticated. Third, named admin staff from web, IT and the registrar's or admissions office who can approve tag placement, user roles and reports. Without these, scope drifts and the admin area ends up with the wrong access rights. Ask any partner to show how it records these decisions in writing.

How do upgrades and recurring upkeep work with Matomo and Plausible release cycles?

Upkeep is ongoing and it is the cost most often underestimated. Matomo publishes stable releases, and its changelog lists Matomo 5.14.1, released on October 4, 2026, as the latest stable version, with Matomo 6.0.0 in beta, which needs PHP 8.1 or newer and MySQL 8.0 or newer or MariaDB 10.6 or newer. Plausible Community Edition is a long-term release published twice per year and gets security fixes only when the operator applies them, while Plausible Cloud ships updates multiple times per week. Plan a scheduled patch window, a test environment for each upgrade, and a backup before each change. Ask a partner whether upgrades, security monitoring and documentation are included in a retainer or a separate agreement.

Can Google Analytics history be imported into Matomo or Plausible, and what are the limits?

Yes, both can import some history, but neither gives you a full copy of the original data. Matomo's Google Analytics Importer is free for On-Premise installations and imports aggregated report data into a new Matomo site, so Visitor Log, Ecommerce Log, Custom Reports, Segmentation and some reports such as Funnels do not work for imported data. Plausible's Google Analytics import brings in historical GA4 stats as daily aggregates up to the first native Plausible visitor, supports up to 5 GA properties per site, cannot import ecommerce revenue, and approximates unique visitors by summing daily uniques. Confirm with the owners which reports the faculties need to keep, and decide early whether to keep the old property running in read-only mode for comparison.

Is a fixed-scope engagement typical for a campus analytics project?

Fixed scope is the usual model for most DeployOpen engagements, because the scope, deliverables and timelines are agreed in writing before work starts. For a campus, a written scope typically lists the sites in scope, the platform and edition, the identity integration, the consent and retention settings, the documentation, and the handover to your staff. Ongoing support, upgrades and continuous testing are available as retainers, which suits institutions that want the platform kept current after go-live. DeployOpen does not publish a price list, so a quote follows from the written scope. Ask for the scope in writing, the list of exclusions, and the terms for changes after the work starts.

What should a university ask a partner to confirm before quoting?

Ask the partner to confirm the items that change effort most. Confirm the number of sites, faculties and subdomains, the traffic volume by site, and whether any student portal or course site needs authenticated tracking excluded. Confirm whether EU visitors are in scope and who decides on consent handling. Confirm the identity provider and the access model for admins. Confirm the hosting location, whether on campus or in the institution's cloud account, and how backups are stored. Confirm whether historical data will be imported and which reports must survive. Finally, confirm how the partner documents the setup, what evidence it provides for compliance reviews, and who holds administrative access after handover.

How DeployOpen scopes and supports campus analytics

DeployOpen starts every campus analytics engagement with a written, fixed scope that names the platform and edition (Matomo, Plausible or Umami), the hosting location, the sites and subdomains in scope, the consent approach for each site, and the roles that will hold administrator rights. Scope is agreed in writing before any work begins, so admissions, faculty and student portal sites are each defined with the pages and data they will and will not send. Installation covers the application server, the database, the reverse proxy, backups and the identity integration with the institution's directory. Hardening covers the settings that matter most for student data: excluding authenticated portal and course pages from tracking, restricting which staff can view individual-level reports, and setting a documented retention period. DeployOpen documents the configuration as it is built, so the institution's own staff can explain it to a privacy office or an auditor later. Confirm with DeployOpen which of these items are included in the quoted scope and which the institution must supply, such as the hosting account, DNS and the directory service.

DeployOpen prepares controls and evidence for compliance assessments, including access reviews, configuration records, data flow diagrams and the logs needed to show who accessed analytics reports. It does not issue audit reports, attestations or certifications. Those come from independent auditors, certification bodies or the institution's own compliance function, so the institution should agree early which evidence its assessor will expect. Ongoing support, upgrades and continuous testing are available as retainers, which matter here because Matomo and Plausible both publish new releases, and Plausible's Community Edition gets security fixes only when the operator applies the release. Ask for the patching cadence, the response expectations for security releases and who approves changes to tracking scope in any retainer. A useful first step is to ask DeployOpen to map each analytics site to the rules that apply to it before a platform is chosen.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.