TYPO3 Analytics 

Integrate TYPO3 Analytics into your TYPO3 backend. Register sites, monitor analytics status, and open the dashboard — all without leaving the TYPO3 backend.


Introduction 

Learn what TYPO3 Analytics offers and what the extension provides.

Installation 

Install the extension via Composer and activate it in TYPO3.

Configuration 

Configure dashboard periods and development options via the Extension Manager.

For editors 

Learn how to use the Analytics backend module, dashboard widgets, and the Page Performance Bar.


Extension key

analytics

Package name

t3g/analytics

Version

main

Language

en

Author

TYPO3 GmbH

License

This document is published under the Creative Commons BY 4.0 license.

Rendered

Mon, 03 Aug 2026 09:04:12 +0000

Introduction 

TYPO3 Analytics is a web analytics service built for TYPO3. This extension integrates it directly into the TYPO3 backend, so editors and administrators can access analytics data without switching to a separate tool.

TYPO3 Analytics

What the extension provides 

The extension adds a Sites → Analytics module to the TYPO3 backend. For each configured TYPO3 site it provides:

Registration
Enter an e-mail address to register the site with the TYPO3 Analytics API. The tracking code is then automatically injected into every frontend page.
Status display
Shows the current registration status, website ID and API key. The status is cached and can be refreshed manually.
Dashboard
Opens the TYPO3 Analytics dashboard as an embedded iframe inside the TYPO3 backend.
Dashboard widgets
Four widget types for the TYPO3 dashboard — Traffic Graph, Site Performance, Top Pages, and Traffic Sources — give editors an at-a-glance view of their site's analytics directly on the dashboard.
Page Performance Bar
An analytics bar above the page layout in the Page module shows per-page metrics such as page views, bounce rate, and average time on page.

Requirements 

Component Version
PHP ^8.2
TYPO3 ^13.4 or ^14.0
libsodium PHP extension (bundled since PHP 7.2)

Installation 

Install via Composer 

composer require t3g/analytics
Copied!

Activate the extension in the TYPO3 Extension Manager or via the CLI:

vendor/bin/typo3 extension:setup analytics
Copied!

Install via TER (Classic mode) 

In a non-Composer TYPO3 installation, search for analytics in Admin Tools → Extensions and install it from there, or download it directly from the TYPO3 Extension Repository. Make sure the Dashboard system extension is active before installing, as the extension depends on it.

Deployment note 

Site-specific data written by the extension (credentials, tracking code, API keys) is stored in each site's config/sites/<identifier>/settings.yaml. This file is separate from the structural config.yaml and contains sensitive values that must not be committed to the repository. In a deployment setup, settings.yaml should be kept in a shared folder outside the release directory and symlinked or copied on each deploy.

Configuration 

The following settings can be configured in the TYPO3 Extension Manager under Admin Tools → Settings → Extension Configuration → analytics.

They can also be set programmatically in config/system/additional.php:

$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['analytics']['settingName'] = 'value';
Copied!
Name Type Default
string 7,14,30
int 7
int 3600
bool 0

dashboardPeriods

dashboardPeriods
Type
string
Default
7,14,30

Comma-separated list of period options (in days) available in all dashboard widget dropdowns and the Page Performance Bar. Must be positive integers.

dashboardDefaultPeriod

dashboardDefaultPeriod
Type
int
Default
7

Pre-selected period (in days) for all dashboard widgets and the Page Performance Bar. Must be one of the values defined in dashboardPeriods.

pageAnalyticsCacheTtl

pageAnalyticsCacheTtl
Type
int
Default
3600

Lifetime in seconds for all analytics data caches (page metrics, top pages, site performance, traffic graph, traffic sources, and plans). Increase this value to reduce API calls on high-traffic backend installations.

demoData

demoData
Type
bool
Default
0

When enabled, replaces all analytics API calls with static demo data. Only takes effect in the TYPO3 Development application context. Use this to explore the widgets and module without a live analytics account.

Dashboard settings 

Example — custom period options:

$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['analytics']['dashboardPeriods'] = '7,30,90';
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['analytics']['dashboardDefaultPeriod'] = 30;
Copied!

Cache settings 

Example — longer cache lifetime:

$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['analytics']['pageAnalyticsCacheTtl'] = 7200;
Copied!

Development settings 

Example — enable demo data:

$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['analytics']['demoData'] = true;
Copied!

For editors 

Dashboard preset 

The extension ships a ready-made Analytics Overview dashboard preset that can be selected when creating a new TYPO3 dashboard. It pre-populates the dashboard with all four widget types:

  • Traffic Graph
  • Site Performance
  • Top Pages
  • Traffic Sources (Channel, Devices, Browser, Countries — one widget each)

Select Analytics Overview in the dashboard creation wizard to get started immediately.

Backend module 

The Sites → TYPO3 Analytics module provides an overview of all configured TYPO3 sites and their analytics status. Sites are grouped into Active sites and Inactive sites.

Plans 

At the top of the module, available subscription plans are displayed with pricing and feature comparison. The toggle switches between monthly and yearly billing. Plans and pricing are fetched live from the TYPO3 Analytics API.

Site cards 

Each site is shown as a card with the following information:

  • Site title and identifier
  • Domain
  • Current status (active, pending, inactive, or cancelled)
  • Website ID and API key (once registered)
  • Subscribed package and expiry date
  • Credit usage and reset date

Active sites additionally show:

  • A Dashboard button that opens the analytics dashboard as an embedded iframe inside the TYPO3 backend
  • A Manage Plan link for upgrading or changing the subscription
  • A Refresh status button to force a fresh status lookup from the API (bypasses the 24-hour cache)

Registration 

Sites that are not yet registered show a registration form. Enter an e-mail address and click Register to connect the site with the TYPO3 Analytics API. Once registration is confirmed, the tracking script is automatically injected into every frontend page of that site.

Dashboard 

The Dashboard button opens the TYPO3 Analytics web dashboard as an embedded iframe inside the TYPO3 backend. All analytics data for the selected site is available here without leaving TYPO3.

Non-manager users are granted a read-only watcher link — they can view the dashboard but cannot make changes to the analytics configuration.

Dashboard widgets 

The extension provides four widget types for the TYPO3 dashboard. Each widget type is available in a TYPO3 v13 variant (inline dropdowns, AJAX-driven) and a TYPO3 v14+ variant (native widget settings panel).

All v14+ widgets share two common settings:

Setting Type Default Description
Title string (widget default) Overrides the widget title shown in the dashboard header. Leave empty to use the default.
Show site & period in title bool true Appends the site name and period in parentheses to the title, e.g. Traffic Sources (My Site · 7 days).

Traffic Graph 

Traffic Graph widget
Traffic Graph (dark)
Traffic Graph (with tooltip)
Metric: Visits
Metric: Sessions
Metric: New visitors
Metric: Returning visitors
Metric: Total visitors

Displays a full-width line chart of daily visit counts for a configured site over the selected period. A Show in Analytics link opens the main analytics dashboard.

Each metric in the legend (Visits, Sessions, New visitors, Returning visitors, Total visitors) can be toggled on and off individually by clicking its legend button — useful for focusing on a single data series. The y-axis rescales automatically to the visible data range when series are toggled. Hovering over the chart reveals a tooltip with exact values for that date.

Widget settings (v14+): Site, Period (days).

Site Performance 

Site Performance widget (light)
Site Performance widget (dark)

Displays four metric tiles — Visits, Visitors, Bounce rate, and Avg. visit duration — each showing the current value and a trend arrow compared to the previous period of equal length. A Show all link leads to the analytics dashboard.

Widget settings (v14+): Site, Period (days).

Top Pages 

Top Pages widget (light)
Top Pages widget (dark)

Displays a ranked list of the most-visited pages for a configured site. Each row shows the page title, URL, and view count. A Show all link leads to the pages view of the analytics dashboard.

Widget settings (v14+): Site, Period (days), Limit (number of pages shown).

Traffic Sources 

Displays a breakdown of incoming traffic by channel, browser, device type, or country. Entries outside the top results are aggregated into an "Others" row. Donut chart variants support hover interaction: hovering over a segment pulls it out slightly and shows a tooltip with the session count, percentage, and comparison to the previous period.

On TYPO3 v14+, four separate widgets are registered — one per section:

Widget Section Default chart type
Traffic Sources: Channel Channel List
Traffic Sources: Devices Devices Donut
Traffic Sources: Browser Browser Donut
Traffic Sources: Countries Countries List
Channel widget
Channel (dark)
Channel (with tooltip)
Browser widget
Browser (dark)
Browser (with tooltip)
Devices widget
Devices (dark)
Devices (with tooltip)
Countries widget
Countries (dark)
Countries (with tooltip)

Widget settings (v14+):

Setting Type Default Description
Site string first registered site Site to display data for.
Period int dashboardDefaultPeriod Time window in days.
Chart type enum (per widget) Display as list (progress bars) or donut (SVG donut chart, top 5 + aggregated "Other").

On TYPO3 v13, all four sections are shown inside a single widget, stacked vertically. Site and period are selected via inline dropdowns.

Dashboard presets 

The extension ships a ready-made dashboard preset called Analytics Overview. It can be selected when creating a new dashboard via the Add dashboard wizard and pre-populates the dashboard with all available analytics widgets:

  • Traffic Graph
  • Site Performance
  • Top Pages
  • Traffic Sources (v13: combined widget; v14+: Channel, Devices, Browser, Countries)

The preset is a convenience starting point — widgets can be removed, reordered, or supplemented with other TYPO3 dashboard widgets after creation.

Page Performance Bar 

Page Performance Bar
Page Performance Bar (dark)
Tooltip: Views
Tooltip: Bounce Rate
Tooltip: Avg. Time on Page
Tooltip: Continuation Rate

The Page Performance Bar appears above the page content in the Web → Page module. It shows analytics metrics for the currently viewed page:

  • Page views with sparkline and trend vs. previous period
  • Bounce rate with sparkline and trend
  • Average time on page with sparkline and trend
  • Continuation rate (100 − bounce rate) with sparkline and trend

A period selector and a direct link to the full analytics dashboard are included in the bar.

The bar loads asynchronously — a lightweight skeleton is shown immediately, and the actual data is fetched via AJAX once the page has loaded. The bar is hidden in language-comparison mode.

Access control 

The Sites → Analytics module is accessible to all backend users. However, the following actions are restricted to backend administrators and users who hold the Analytics Manager custom option:

  • Registering a new site with the Analytics API
  • Subscribing to or managing a plan
  • Manually refreshing the registration status

Granting the Analytics Manager option 

Open System → Backend Users → Backend Groups, edit the group that should have manager access, and switch to the Custom Options tab. Enable Analytics → Analytics Manager.

The TCA value for programmatic assignment is tx_analytics:manager.

Troubleshooting 

Widgets show "No data available" 

Possible causes:

  • The selected period has no recorded visits yet. Try a longer period (e.g. 30 days), or wait until the tracking script has collected data.
  • The cached API response does not yet contain data. The cache TTL is controlled by pageAnalyticsCacheTtl (default: 1 hour).

Tracking script is not injected on the frontend 

The tracking script is injected automatically when a site is successfully registered. If it is missing:

  • Confirm that registration completed and the site status is active. A pending or cancelled status means tracking is not yet live.
  • Make sure no caching layer (reverse proxy, CDN) is serving a stale page that was cached before the site was registered.

Registration fails or returns an error 

  • Only backend administrators and users with the Analytics Manager custom option can register sites. See Access control.
  • Verify that the server can reach the TYPO3 Analytics API. Firewall rules or outbound proxy configurations may block the request.
  • Check Admin Tools → Log for the specific API error returned.

"Access denied" flash message in the backend module 

The action requires the Analytics Manager permission. Grant it by opening System → Backend Users → Backend Groups, editing the relevant group, switching to the Custom Options tab, and enabling Analytics → Analytics Manager.

See Access control for the full list of restricted actions.

Page Performance Bar does not appear 

  • The bar is only shown in the Web → Page module when a single language is selected. It is hidden in language-comparison mode (when multiple languages are displayed side by side).
  • The bar loads asynchronously. If the page module loads but the bar never appears, open the browser developer tools and check the network tab for a failed AJAX request.
  • Confirm the site is registered and its status is active.

Dashboard iframe is blank or shows an error 

  • The iframe URL is retrieved from the TYPO3 Analytics API on each request. If the API is unreachable, the iframe cannot be loaded. Check Admin Tools → Log for API errors.
  • Non-manager backend users receive a read-only dashboard link. This is expected behaviour — they can view data but cannot change settings.

Tracking has stopped / credits exhausted 

When a site's credits are used up, tracking stops immediately — no further visits are recorded until the credit balance resets or the plan is upgraded. The backend module shows a warning on the affected site card.

  • Check the credit usage displayed on the site card.
  • Use the Manage Plan link to upgrade the subscription or wait for the monthly credit reset (the reset date is shown on the site card).
  • Use the Refresh status button to fetch the current credit balance bypassing the 24-hour cache, for example to check whether a reset has already occurred.

Demo data does not appear 

The demoData setting only takes effect when the TYPO3 application context is Development. If demo data is enabled but the context is Production or Testing, the extension falls back to real API calls — which means no data is shown if the site is not yet registered or has no recorded visits.

  • Verify the application context is set to Development, for example by checking the web server environment variable TYPO3_CONTEXT.

Further assistance 

If your issue is not covered above, contact the TYPO3 Analytics support team at support@typo3.com.

Changelog 

1.0.2 

  • replace links to documentation with its permalinks

1.0.1 

  • update ext_emconf

1.0.0 

0.10.2 

  • Improvement: When opening the dashboard with a page filter (e.g. from the Page Performance Bar), all widgets are now shown instead of only page-specific ones.

0.10.1 

  • Bugfix: Plan pricing now loads correctly against password-protected API environments (e.g. staging). HTTP Basic Auth credentials were missing from the fetchPlans() request, causing silent 401 errors and an empty pricing overview in the Analytics backend module.
  • Improvement: Default contact email changed from support@typo3.com to analytics@typo3.com.

0.10.0 

  • Feature: The plan selection page now loads dynamically via AJAX and supports toggling between monthly and yearly billing. Plans are sorted by credit volume.
  • Improvement: Verified and extended TYPO3 v14 compatibility — CI now runs against TYPO3 v13, v14, and v15 (dev-main).

0.9.15 

  • Documentation: TYPO3 RST documentation added — covers all dashboard widgets, the Page Performance Bar, configuration reference, installation, access control, and a dashboard preset overview. Includes light/dark mode screenshots and hover-tooltip galleries for all widgets.
  • Improvement: Extended German (de) translation — widget settings, chart labels, Traffic Sources section titles, dashboard preset, and access control strings are now fully translated.

0.9.14 

  • Bugfix: Fixed missing AJAX loading in the Traffic Graph widget on TYPO3 v14.

0.9.12 

  • Feature: Dynamic y-axis rescaling in the Traffic Graph — the axis adjusts automatically to the visible data range.
  • Feature: Legend items in the Traffic Graph are now clickable and toggle the corresponding data series on and off.
  • Feature: Traffic Sources donut chart now has a pull-out hover effect for individual segments.

0.9.11 

  • Improvement: Top Pages widget now shows the page slug, language flags, and coloured tooltips. Page URLs are now absolute.

0.9.10 

  • Security: Fixed multiple security-related issues identified in an audit.

0.9.9 

  • Improvement: Styled hover tooltips added to Traffic Sources and Top Pages widgets.
  • Bugfix: Fixed Top Pages widget JavaScript not loading correctly on TYPO3 v14.

0.9.8 

  • Improvement: Shared JavaScript utilities extracted into a reusable module.
  • Improvement: Empty site groups are now hidden in the backend module.

0.9.7 

  • Improvement: Non-manager backend users now open the Analytics dashboard with a read-only watcher role.
  • Improvement: Sites in the backend module are grouped by active status.
  • Improvement: Added labels for unknown device types in Traffic Sources.
  • Improvement: No-data states in widgets are rendered as styled backend alerts instead of plain text.

0.9.6 

  • Bugfix: Fixed Traffic Sources widget not displaying the no-data state correctly.

0.9.5 

  • Feature: The module logo, module icon, and CSP frame-src are now configurable via partner/API configuration.
  • Improvement: The Page Performance Bar now loads asynchronously — a skeleton is shown immediately while data is fetched in the background.
  • Bugfix: Fixed country and browser session totals; "Others" aggregation now works correctly in Traffic Sources.

0.9.0 

  • Initial release with backend module, dashboard widgets (Traffic Graph, Site Performance, Top Pages, Traffic Sources), and Page Performance Bar.
  • Development demo data mode for exploring widgets without a live account.