Google Analytics,
inside Umbraco
Realtime, visitors, behaviour, acquisition and technology, read live from your GA4 property and shown inside the Umbraco backoffice, with Search Console and PageSpeed Insights alongside. Every document gets an Analytics tab with its own traffic, referrers and a findings strip.
Free for Umbraco 17 and later, with no data limit. Analytics Pro adds AI Visibility and more.
Answers without
leaving the CMS
Webmasters watch traffic and performance where they edit. SEO teams see organic traffic, the queries that bring people in, index status and which AI assistants send visitors. Developers get a service-account integration that reads the GA4 Data API on request and stores nothing: appsettings or environment variables, no composer, no Program.cs changes.
Analytics tab on every document
Pageviews, visits, engaged time and bounce rate against the previous period, plus referrers, previous and next pages, locations and devices.
Six dashboards in the Analytics section
Overview, Realtime, Visitors, Behaviour, Acquisition and Technology for the whole site, with a date range that follows you from view to view.
Google Search and PageSpeed
Search Console index status, index tracking and the queries that bring people in; PageSpeed Insights for desktop and mobile.
Ask the Copilot
With the Analytics AI package, ask the Umbraco AI Copilot how a page is doing or which pages lost traffic, answered from measured data.
See it in the backoffice
Simple pricing
Start free. Pay once per site for AI Visibility and ad campaign reporting. No subscription.
Free
€0
Your Google Analytics 4 data inside Umbraco.
- Six dashboards in the Analytics section
- An Analytics tab on every page
- Search Console and PageSpeed Insights
- No key, no data limit, commercial use included
Analytics Pro
AI Visibility€499 per site · one payment
See whether ChatGPT and other assistants cite your pages.
- Everything in Free
- AI Visibility: your questions, asked to AI assistants with web search
- Who gets cited: you, competitors or third parties
- Ad campaign reporting, down to each campaign
- Covers Umbraco 17 up to the next LTS, 21, updates included
Runs on your own AI provider key.
Prices exclude VAT. We invoice in EUR.
Compare editions
| Feature | Free | Analytics Pro |
|---|---|---|
| Reports | ||
| Overview, Realtime, Visitors, Behaviour, Acquisition, Technology | ||
| Date range on every report, no data limit | ||
| AI assistants as a traffic channel | ||
| Campaign traffic as a channel total | ||
| Ad campaign reporting: campaigns, ad groups, keywords, search queries and networks | – | |
| On every page | ||
| Analytics tab with traffic and findings | ||
| Search Console: queries, index status, index tracking | ||
| PageSpeed Insights, desktop and mobile | ||
| AI Visibility | ||
| Your prompt set, asked through your own AI profiles with web search | – | |
| Who gets cited: you, competitors or third parties | – | |
| AI Visibility dashboard and a sub-tab on every page | – | |
| Prompt suggestions from a page's text and its Google queries | – | |
| AI findings in the per-page strip | – | |
| Up to a year of trend history | – | |
| Setup | ||
| Read-only tools for the Umbraco AI Copilot | ||
| Multi-site: one property per content root | ||
| Works with Google Analytics and Matomo | ||
| Key | None | Analytics Pro key |
| Price | €0 | €499 per site · one payment |
FOR DEVELOPERS
Up and running in four steps
The short version. The full guide with screenshots, configuration reference and troubleshooting is in the developer docs.
-
1 · Create a service account
In Google Cloud Console enable the Google Analytics Data API, create a service account with a JSON key and add its e-mail as a Viewer on the GA4 property. Note the numeric property id, not the G- measurement id.
Google Cloud -
2 · Install the package
dotnet add package Flowcourier.Umbraco.GoogleAnalytics --prerelease. This brings in Flowcourier.Umbraco.Analytics.Core; no composer, no Program.cs changes.
Terminal -
3 · Configure the connection
Add Flowcourier:GoogleAnalytics with PropertyId and SiteUrl, and the key path under Flowcourier:Analytics:Google. Keep the key out of source control: a path outside the web root or an environment variable.
appsettings.json -
4 · Grant the section
Restart, log in and open Analytics. Grant the section to other user groups under Users → Groups. Optional: switch on Search Console and PageSpeed Insights under Flowcourier:Analytics, and add an Analytics Pro key under Flowcourier:Licenses:AnalyticsPro.
Backoffice
Which Umbraco versions are supported?
Umbraco 17.5 and later on .NET 10. The legacy Google Analytics package for Umbraco 10 to 13 is deprecated but stays on NuGet with its own licence file. The migration guide moves a site over in a few minutes and drops the 30-day limit.
Migration guide →Does it store visitor data in Umbraco?
No. Every figure is read live from the GA4 Data API through one service account and cached for a few minutes. No visitor data, no IP addresses and no extra tables in Umbraco.
Who can see the numbers?
The Analytics section is a normal backoffice section you grant per user group. The document tab is visible to anyone who can edit the page.
Is anything limited in the free edition?
No. Every dashboard, the document tab, the findings, Search Console, PageSpeed Insights and the Copilot tools are free, with no key, no domain restriction and no 30-day window, on commercial sites too. The only paid features are AI Visibility and ad campaign reporting; campaign traffic as a channel total stays free.
What do I need for AI Visibility besides the key?
The Flowcourier.Umbraco.Analytics.AI package, Umbraco AI with a chat profile whose model can search the web (an OpenAI Responses API model today) and your own provider key. Each run is a model call plus a web search billed to that key. A daily run budget and a prompt cap keep the cost predictable.
AI Visibility guide →Is it a yearly fee?
No. One payment per site. A key covers Umbraco 17 and every version up to and including Umbraco 21, the next long-term support release, with every package update in between. After that, you order an upgrade key for the next cycle.
What counts as a site?
The public domains listed on the key. Every environment under a listed domain works, local hosts always work, and a multi-site install needs each public domain on the key.
How do I install the key, and what happens without one?
Put it under Flowcourier:Licenses:AnalyticsPro in appsettings or an environment variable. AI Visibility and campaign reporting unlock on the next request, with no restart. Without a key, or when a trial expires, the reports keep working: the Campaigns card shows a Pro notice, AI Visibility shows a banner over the data already collected, sampling stops and prompt changes are refused.
Does it work on localhost or headless?
Yes. Set Flowcourier:Analytics:SiteUrl to the public origin and the reports map to it. On a headless site, documents without a template get the Analytics tab when you list their document types under Flowcourier:Pages:IncludeDocumentTypes, or set Flowcourier:Pages:SiteUrl so the tab can probe the front end. AI Visibility samples outbound, so it works headless too. Multi-site installs get one property per content root.
What about Matomo?
The Matomo provider feeds the same Analytics section, document tab and views. Install the provider you use, or both, and one Analytics Pro key covers either.
Matomo Analytics Dashboard →See it on a live site
Book a short meeting and we show the dashboards and the document tab, and go through what it takes to run them on your GA4 property.