Quick start
How to install Flowcourier Analytics for Umbraco
Section titled “How to install Flowcourier Analytics for Umbraco”Flowcourier Analytics puts your web analytics where editors work — in the Umbraco backoffice. No analytics login, no context switch:
- An Analytics section that opens on an Overview — human traffic and AI-agent traffic side by side — followed by Realtime, Visitors, Behaviour, Acquisition and Technology, and a live visitor count on the section itself. Installing Flowcourier AEO adds AI Traffic here too, and fills in the AI half of the Overview.
- An Analytics tab on every document showing that page’s traffic, where its visitors came from, which pages they came from and went to next, and their locations and devices.
- A Google Search sub-tab on the same tab, filled by Search Console and PageSpeed Insights — either one on its own is enough for it — plus a Search queries dashboard.
- Optionally, the same figures in the Umbraco AI Copilot — ask how a page is doing or what lost traffic, and get an answer from measured data — and, with an Analytics Pro key, AI Visibility: whether AI assistants cite your site.
Two packages make this up: Flowcourier.Umbraco.Analytics.Core (the section, the tab, the Google features) and one provider that supplies the traffic data:
| Provider | Package | Reads |
|---|---|---|
| Matomo | Flowcourier.Umbraco.Matomo |
Your own Matomo (self-hosted or Matomo Cloud) through its Reporting API |
| Google Analytics 4 | Flowcourier.Umbraco.GoogleAnalytics |
Your GA4 property through the Google Analytics Data API, with a service account |
Install the one you use. A site that runs both can install both and choose which one the section reads — see Running Matomo and Google Analytics together. Installing a provider brings the core in. A third package, Flowcourier.Umbraco.Analytics.AI, is optional and only for sites running the Umbraco AI Copilot — the core has no AI dependency of its own. Nothing about your visitors is stored, and the only database tables are created for features you switch on (index tracking, AI Visibility).
-
Prepare the analytics side
In Matomo go to Administration → Personal → Security → Auth tokens → Create new token. Give it a description (for example “Umbraco”), keep Only allow secure requests ticked and copy the token — Matomo shows it only once. Create the token for a user that only has view access to the website: the token carries that user’s rights.
Note the website’s ID from Administration → Websites → Manage.
In the Google Cloud Console enable the Google Analytics Data API (and, optionally, the Admin API) for a project, create a service account and download a JSON key. In Google Analytics, under Admin → Property → Property access management, add the service account’s e-mail as a Viewer.
Note the numeric property id from Admin → Property details — not the
G-…measurement id. The Google Analytics guide walks through this with screenshots’ worth of detail. -
Install the provider package
Terminal window dotnet add package Flowcourier.Umbraco.Matomo --prereleaseTerminal window dotnet add package Flowcourier.Umbraco.GoogleAnalytics --prereleaseEither one installs
Flowcourier.Umbraco.Analytics.Coreas well. No composer, noProgram.cschanges: the packages self-register. -
Configure the connection
Add the
Flowcourier:Matomosection toappsettings.json(or set the matching environment variables):{"Flowcourier": {"Matomo": {"Endpoint": "https://analytics.example.com/","TokenAuth": "<token_auth>","SiteId": 1,"SiteUrl": "https://www.example.com"}}}Keep the token out of source control —
Flowcourier__Matomo__TokenAuthas an environment variable or a secret store works the same way.SiteUrlis the public base URL the pages are tracked under; when omitted the package uses the main URL registered for the site in Matomo.Add the property under
Flowcourier:GoogleAnalyticsand the key underFlowcourier:Analytics:Google— the same place Search Console reads it from:{"Flowcourier": {"GoogleAnalytics": {"PropertyId": "123456789","SiteUrl": "https://www.example.com"},"Analytics": {"Google": { "ServiceAccountJsonPath": "/secrets/ga-service-account.json" }}}}Keep the key out of source control — a path outside the web root, or the JSON itself in
Flowcourier__Analytics__Google__ServiceAccountJson.SiteUrlis the public base URL the pages are tracked under; when omitted the package reads the property’s web data stream (Admin API).All settings — including the shared
Flowcourier:Analyticssection for PageSpeed Insights, Search Console and the live badge — are described in Configuration. -
Open the Analytics section
Restart the site and log in. Administrators see the new Analytics section straight away; grant it to other user groups under Users → Groups → Sections. On a site that also runs Flowcourier AEO, granting the Analytics section also lets that group read the site’s AI crawler data, since the AI Traffic view lives there. Each dashboard has a date-range picker that follows you from view to view: pick a preset (today, yesterday, last 7 or 30 days, last 3 months, this or last month, this year) for an instant switch, or click a start and an end day across the two calendars and press Apply for a custom range.
-
Open a page’s Analytics tab
Open any published document in the Content section and switch to its Analytics tab. Its Traffic view shows pageviews, visits, time on page, bounce rate (and, on Matomo, exit rate) for the selected range, compared with the previous period, plus the page’s referrers, the pages visitors came from and went to next, and their countries, cities, devices and browsers. The tab follows the language you are editing.
The Analytics tab is shared by every Flowcourier extension: if you also run the SEO Agent or AEO, their per-page views appear as further sub-tabs here rather than as tabs of their own.
-
Optional: add PageSpeed Insights and Search Console
Both are off by default and each is a few lines of configuration. Either one adds the Google Search sub-tab to the document tab: Search Console fills it with Google’s index status and the queries that bring people to the page (and adds a Search queries dashboard), PageSpeed Insights with the page’s Lighthouse scores and real-user data.
See Reports for what each dashboard shows and where the numbers come from, and Google Analytics for what differs on a GA4 property.