.. 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 `__.