signalhost / server-side-tagging
SignalHost Server-Side Tagging for Google Tag Manager - Server-side Google Tag Manager (sGTM) hosting for TYPO3: connect a site once, and the tracking loader is on every page, past ad blockers, kept up to date.
Package info
github.com/MergeWithMe/signalhost-server-side-tagging-typo3
Type:typo3-cms-extension
pkg:composer/signalhost/server-side-tagging
Requires
- php: ^8.2
- ext-sodium: *
- typo3/cms-backend: ^13.4 || ^14.3
- typo3/cms-core: ^13.4 || ^14.3
- typo3/cms-frontend: ^13.4 || ^14.3
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
SignalHost hosts server-side Google Tag Manager (sGTM) for your TYPO3 sites. Your pages send their analytics and conversion data to your own tagging server first, and from there to Google Analytics 4, Google Ads, Meta (Facebook) Conversions API and TikTok Events API. Every request leaves your site in a form ad blockers do not recognise, so you see the visitors and conversions a browser tag misses.
This extension connects a TYPO3 site to SignalHost with one click and keeps the tracking loader on every page of it, up to date. There is no code to paste.
- Extension key:
signalhost_server_side_tagging - Composer:
composer require signalhost/server-side-tagging - TYPO3 13.4 LTS and 14.3 LTS, PHP 8.2 or newer
- Setup guide: https://signalhost.io/typo3/signalhost-server-side-tagging.html
Setup
- Install the extension:
composer require signalhost/server-side-tagging(Composer mode), or from the Extension Manager (classic mode). - In the TYPO3 backend, open Sites › SignalHost (TYPO3 13: Site Management › SignalHost). Administrators only.
- Press Connect with SignalHost on the card of the site you want to track, sign in at signalhost.io (or create a free account) and pick a container, or create one in a few minutes. It is built in your own Google account, so it stays yours.
- You come back to TYPO3, and the loader is on every page of that site. The card shows whether your home page carries it.
Each site of a multi-site installation is connected on its own. SignalHost sends you back to the site's own address after connecting, so a site is connected from the backend opened under that site's domain; the card links there when you are somewhere else.
Features
- Server-side tagging with your own tagging address (
yourname.signalhost.io, or your own domain such asmetrics.example.com, which the extension switches to by itself when it goes live). - Google Analytics 4, Google Ads conversions, Meta Conversions API and TikTok Events API, configured on signalhost.io — no further TYPO3 extensions.
- Requests are encoded so filter lists such as EasyPrivacy do not block them.
- Follows your cookie banner through Google Consent Mode.
- The loader is added to the response after TYPO3's page cache, so pages cached before you connected carry it too, and no cache ever needs flushing.
- Sites that enforce TYPO3's Content Security Policy get the nonce on the loader and the tagging address in the policy.
- A built-in check that fetches the home page and tells you whether the code is there, missing, duplicated, or an old copy pasted by hand.
Privacy and security
- The extension builds the loader itself from two validated values; nothing the service sends is ever printed as script.
- The hourly check-in runs after the response has gone out and sends only the extension, TYPO3 and PHP versions, the site address and whether the code was found. No visitor data, no content, no user accounts.
- Everything it stores lives in the TYPO3 Registry (
sys_registry), never in the site configuration, so nothing travels withconfig/sites/to another environment. The site token is sealed with a key derived from the installation'sencryptionKey. - A copy of the site under another address (staging) keeps its code but never prints or reports as the live site.
- Deactivating the extension in the Extension Manager revokes the tokens at SignalHost and removes everything it stored.
Requirements
TYPO3 13.4 or 14.3, PHP 8.2 or newer with the sodium extension, and a SignalHost account. SignalHost has a free plan; paid plans add more requests.
Development
A local SignalHost can be named in config/system/additional.php:
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['signalhost_server_side_tagging']['apiBase'] = 'http://localhost:3000';
Licence
GPL-2.0-or-later. Made by the Algorithmo Server-Side Tag Manager Team, Algorithmo GmbH — signalhost.io, hello@signalhost.io.