Enhanced Ecommerce implementation through Google Tag Manager for Sylius eCommerce Platform
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
docs Add more clear instructions on triggers / tags Oct 14, 2017
etc/build Fix Travis build Feb 18, 2018
src Minor improvements Aug 30, 2018
.env.test.dist Move .env.test.dist Oct 17, 2018
.gitattributes First version extracted from project Apr 27, 2017
.gitignore Upgrade jQuery in tests, remove yarn lock Jan 22, 2018
.travis.yml Update dev dependencies, prepare for Sylius v1.2 & Symfony 4.1 (#21) Jun 18, 2018
LICENSE Initial commit Apr 26, 2017
README.md Cache product detail impression data resolver Nov 5, 2017
composer.json Add webprofiler bundle to dev as its removed from Sylius Oct 17, 2018
phpstan.neon Update dev dependencies, prepare for Sylius v1.2 & Symfony 4.1 (#21) Jun 18, 2018
phpunit.xml.dist Update dev dependencies, prepare for Sylius v1.2 & Symfony 4.1 (#21) Jun 18, 2018


Google Tag Manager Enhanced Ecommerce plugin for Sylius eCommerce platform

License Version Build status on Linux Scrutinizer Quality Score Coverage Status


1. Composer

composer require stefandoorn/google-tag-manager-enhanced-ecommerce-plugin

2. Follow installation instructions of required sub bundle


3. Load bundle

Add to the bundle list in app/AppKernel.php:

new GtmEnhancedEcommercePlugin\GtmEnhancedEcommercePlugin(),

4. Adjust configurations

Configure the features you would like to use/not. Find a base configuration reference by running:

bin/console config:dump-reference GtmEnhancedEcommercePlugin

5. Install assets

bin/console assets:install
bin/console sylius:install:assets
bin/console sylius:theme:assets:install

By default all features are enabled.


Each feature has it's own specific documentation.

Make sure to check that the required 'sonata_block_render_events' template events are available. Check the src/Resources/config/features/*.yml & src/Resources/config/services.yml for the definitions.

This is only to be checked if you've been overriding templates yourselves.

Features not supported (yet):

Cache Resolvers

It might be that your data resolvers give a performance hit, e.g. on the product show page. There are decorators available that allow you to cache the results for a set time in order. Take a look at the service definitions in cache_services.yml & the default configuration on how to enable this setting.