fond-of-spryker / google-tagmanager
Google Tag Manager tracking integration for Spryker
Package info
github.com/fond-of/spryker-google-tagmanager
pkg:composer/fond-of-spryker/google-tagmanager
4.0.3
2020-05-06 10:37 UTC
Requires
- php: >=7.1
- fond-of-spryker/product-image-storage: ^1.1
- fond-of-spryker/tax-product-connector: ~1.3
- spryker/cart: ^5.2.0
- spryker/catalog: ^5.0.0
- spryker/kernel: ^3.0.0
- spryker/money: ^2.0.0
- spryker/product: ^6.0.0
- spryker/product-storage: ~1.5.0
- spryker/session: ~3.2.0
Requires (Dev)
- codeception/codeception: ^2.4
- fond-of-codeception/spryker: dev-master as 1.0.0
- php-coveralls/php-coveralls: ^2.1
- phpro/grumphp: ^0.14
- sebastian/phpcpd: ^4.0
- spryker/code-sniffer: ^0.12
This package is auto-updated.
Last update: 2026-05-28 21:25:31 UTC
README
Google Tag Manager integration for Spryker
Installation
composer require fond-of-spryker/google-tagmanager
1. Add the Container ID in the configuration file
// ---------- Google Tag Manager
$config[GoogleTagManagerConstants::CONTAINER_ID] = 'GTM-XXXX';
2. Enable the Module in the configuration file
// ---------- Google Tag Manager
$config[GoogleTagManagerConstants::ENABLED] = true;
3. Include the namespace as a core namespace in the configuration file
$config[KernelConstants::CORE_NAMESPACES] = [
[...]
'FondOfSpryker'
];
4. Add twig service provider to YvesBootstrap.php in registerServiceProviders()
$this->application->register(new GoogleTagManagerTwigServiceProvider());
5. Add the Twig Extension in the neccessary Twig Templates
Application/layout/layout.twig
between <head></head> tags
{% block googletagmanager_data_layer %} {{ dataLayer('other', {}) }}{% endblock %}
{{ googleTagManager('@GoogleTagManager/partials/tag.twig') }}
after <body> tag
{{ googleTagManager('@GoogleTagManager/partials/tag-noscript.twig') }}
Catalog/catalog/index.twig
{% block googletagmanager_data_layer %}
{% set params = { 'category' : category, 'products' : products} %}
{{ dataLayer('category', params) }}
{% endblock %}
Product/product/detail.twig
{% block googletagmanager_data_layer %}
{% set params = { 'product' : product} %}
{{ dataLayer('product', params) }}
{% endblock %}
Cart/cart/index.twig
{% block googletagmanager_data_layer %}
{{ dataLayer('cart', {}) }}
{% endblock %}
Checkout/checkout/partial/success.twig
{% block googletagmanager_data_layer %}
{% set params = { 'order' : orderTransfer} %}
{{ dataLayer('order', params) }}
{% endblock %}