personyze / personyze-typo3
Adds the Personyze personalization tag to every page of a TYPO3 site.
Package info
github.com/personyze/personyze-typo3
Type:typo3-cms-extension
pkg:composer/personyze/personyze-typo3
Requires
- php: >=8.1
- typo3/cms-core: ^12.4 || ^13.4
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is not auto-updated.
Last update: 2026-09-23 02:14:50 UTC
README
Connects a TYPO3 site to Personyze — a web personalization, recommendation and A/B testing platform.
What this release does
Install the extension, enter your Personyze account ID in the extension settings, and the Personyze tag is added to every page of the site. No template edits, no TypoScript, no code.
The tag is not added to the TYPO3 backend, and nothing is added until an account ID is set.
Requirements
TYPO3 12.4 or 13.4, PHP 8.1+, and a Personyze account. The account ID is in Personyze under Settings → Tracking Code.
Installing
composer require personyze/personyze-typo3
Then in the TYPO3 backend go to Admin Tools → Settings → Extension Configuration, open personyze, and set Personyze account ID.
Without Composer, install the extension from the TYPO3 Extension Repository (extension key
personyze) and configure it the same way.
How it works
The snippet is added by a PSR-15 middleware registered in the frontend stack only. Registering in the frontend stack is what guarantees the TYPO3 backend is never tagged — it is structural, rather than a runtime check that could be got wrong.
The middleware writes the snippet into the response, immediately before </head>, rather than
adding it through AssetCollector. That is deliberate: assets added through AssetCollector are
rendered while the page is generated and therefore baked into TYPO3's page cache, and changing the
account ID does not invalidate that cache — ExtensionConfiguration::set() flushes nothing, and
neither does the Settings module. You would save an account ID, reload a cached page, see no tag,
and reasonably conclude the extension was broken. A middleware runs on every request, cache hit or
miss, so the tag always reflects the current setting with no cache flush.
Planned
Content feeds, so TYPO3 pages and news records can be used for recommendations, and content elements for on-page personalization.