Configuration\MatomoConfigFactory |
Reads the settings per sales channel via the SystemConfigService |
Configuration\MatomoConfig |
Value object. isValid() requires tracking on, a valid https:// URL without <, >, ", ', \ and a Site ID greater than 0 |
Service\TrackingCodeRenderer |
Generates the tracking JavaScript |
Service\ConsentChecker |
Server-side check of DNT header and consent cookies (only without Klaro) |
Service\EcommerceTracker |
Generates the JavaScript lines for product view, cart and order |
Subscriber\StorefrontRenderSubscriber |
Listens to StorefrontRenderEvent (priority -100), sets matomoTrackingCode and matomoConfig |
Subscriber\ProductPageSubscriber |
Listens to ProductPageLoadedEvent |
Subscriber\CheckoutSubscriber |
Listens to CheckoutCartPageLoadedEvent and CheckoutConfirmPageLoadedEvent |
Subscriber\OrderCompletedSubscriber |
Listens to CheckoutFinishPageLoadedEvent, reloads the order with line items and shipping costs if needed |
Struct\MatomoEcommerceStruct |
Carries type and code as page extension matomoEcommerce |
Twig\MatomoExtension |
Registers the Twig functions, see Extending |
Storefront\Controller\MatomoOptOutController |
Route /matomo/opt-out (frontend.matomo.optout, GET) |
Migration\Migration1738800001CreateMatomoKlaroService |
Creates the Klaro service, see Installation |