.. include:: ../../Includes.txt .. _configuration-howto: ====== How-To ====== Target group: **Developers, Integrators** .. _howto-trackingobjects: TrackingObjects =============== .. _what-are-trackingobjects: What are TrackingObjects? ------------------------- A TrackingObject is an array which includes one or more tracking items (usually cookies). For example, the TrackingObject `GoogleAnalytics` contains five cookies which are used by this service. They are listed inside the `show` array. Depending on the purpose a TrackingObject has, you need to inject HTML code after the user has given his consent (see :ref:`next section `). .. _load-tracking-code-after-consent: How to load tracking code only after user consent? -------------------------------------------------- A web analytics service like Matomo or Google Analytics **needs the user's active consent** before the website starts with tracking. Therefore, you'll need to ensure that the tracking code is not executed automatically at page load. You need to remove all existing tracking codes from your website and let Cookieman manage them. Cookieman will inject the tracking codes after user consent with the :ref:`inject ` configuration. **Example:** .. code-block:: typoscript plugin.tx_cookieman.settings.trackingObjects { Matomo { inject ( ) } } .. _add-preconfigured-trackingobject: Adding a preconfigured TrackingObject ------------------------------------- Cookieman already provides some preconfigured TrackingObjects. You can add selected TrackingObjects with two (or three) steps in TypoScript: 1. Import the provided definitions. 2. Add the key (name) of the TrackingObject. .. code-block:: typoscript # 1. Include provided definitions of TrackingObjects: @import 'EXT:cookieman/Configuration/TypoScript/TrackingObjects/*.typoscript' # 2. Add the TrackingObject key to a group: plugin.tx_cookieman.settings.groups { mandatory { trackingObjects { 10 = fe_typo_user } } } 3. If a TrackingObject needs to inject HTML code, you'll have to add this in a third step: .. code-block:: typoscript # 1. Include provided definitions of TrackingObjects: @import 'EXT:cookieman/Configuration/TypoScript/TrackingObjects/*.typoscript' # 2. Add the TrackingObject key to a group (see below how to configure a new group): plugin.tx_cookieman.settings.groups { analytics { trackingObjects { 10 = GoogleAnalytics } } } # 3. Add the tracking code to the TrackingObject: plugin.tx_cookieman.settings.trackingObjects { GoogleAnalytics { inject ( ) } } .. attention:: If your website sets the HTTP header `Content-Security-Policy`, you'll need to use ) } } } .. tip:: Read more about the Content Security Policy on the `Mozilla Developer Network `__. .. _extension-cookie-settings: Configuration of the cookie used by the extension itself -------------------------------------------------------- There are a few typoscript options to configure the cookie which is required by the exension. .. code-block:: typoscript plugin.tx_cookieman { settings { cookie { # cookie expire time in days (default: 365) cookieLifetimeDays = # domain without protocol like www.example.com, .example.com (default: Typo3 site name) domain = # sameSite Options: Lax, Strict or None (default: lax) sameSite = Lax } } } .. tip:: If you have multiple TYPO3 sites running on one instance with multiple subdomains you propably do not want to have multiple cookieman cookies. This would also mean that the cookieman banner is displayed on both domains and that every website user has to configure it for every subdomain again. To avoid this just set the domain setting to the domain with a starting dot. .. code-block:: typoscript plugin.tx_cookieman.settings.cookie.domain = .example.com