All Projects → webmatch → WbmTagManager

webmatch / WbmTagManager

Licence: other
Shopware 5 Plugin for Google Tag Manager integration and dataLayer configuration

Programming Languages

PHP
23972 projects - #3 most used programming language
javascript
184084 projects - #8 most used programming language
Smarty
1635 projects
HTML
75241 projects
shell
77523 projects

Projects that are alternatives of or similar to WbmTagManager

plentymarkets-shopware-connector
plentymarkets shopware connector plugin
Stars: ✭ 32 (+33.33%)
Mutual labels:  shopware, shopware-plugin
shopware-cms-generator
Generate a CMS element scaffolding within seconds.
Stars: ✭ 26 (+8.33%)
Mutual labels:  shopware, shopware-plugin
idea-php-shopware-plugin
Shopware Plugin for PhpStorm which extends Symfony Plugin
Stars: ✭ 50 (+108.33%)
Mutual labels:  shopware, shopware-plugin
repolib-android
RepoLib Rx - Android
Stars: ✭ 13 (-45.83%)
Mutual labels:  datalayer, datalayer-configuration
FroshProductCompare
A Plugin for Shopware 6 - Ecommerce Platform
Stars: ✭ 27 (+12.5%)
Mutual labels:  shopware, shopware-plugin
SwagMediaS3
No description or website provided.
Stars: ✭ 22 (-8.33%)
Mutual labels:  shopware, shopware-plugin
sw6-media-optimizer
Image Optimizer for Shopware 6 💙
Stars: ✭ 18 (-25%)
Mutual labels:  shopware, shopware-plugin
SwagThreeSixtyViewer
No description or website provided.
Stars: ✭ 23 (-4.17%)
Mutual labels:  shopware, shopware-plugin
RecentlyViewedProduct
Recently viewed products plugin for SW6
Stars: ✭ 20 (-16.67%)
Mutual labels:  shopware, shopware-plugin
shopware6-advanced-banners
Advanced Banners (Digital Publishing) for Shopware 6 💙
Stars: ✭ 30 (+25%)
Mutual labels:  shopware, shopware-plugin
Vue Storefront
The open-source frontend for any eCommerce. Built with a PWA and headless approach, using a modern JS stack. We have custom integrations with Magento, commercetools, Shopware and Shopify and total coverage is just a matter of time. The API approach also allows you to merge VSF with any third-party tool like CMS, payment gateways or analytics. Ne…
Stars: ✭ 9,111 (+37862.5%)
Mutual labels:  shopware
Laravel-Google-Tag-Manager
Google Tag Manager tracking module for Laravel
Stars: ✭ 16 (-33.33%)
Mutual labels:  datalayer
tag-manager
Website analytics, JavaScript error tracking + analytics, tag manager, data ingest endpoint creation (tracking pixels). GDPR + CCPA compliant.
Stars: ✭ 279 (+1062.5%)
Mutual labels:  google-tag-manager
penguin-datalayer-collect
A data layer quality monitoring and validation module, this solution is part of the Raft Suite ecosystem.
Stars: ✭ 19 (-20.83%)
Mutual labels:  datalayer
shopify-gtm-ga
Enhances Google Analytics and integrates Google Tag Manager for Shopify.
Stars: ✭ 44 (+83.33%)
Mutual labels:  google-tag-manager
shopware-sdk
A PHP SDK for the Shopware 5 REST API
Stars: ✭ 33 (+37.5%)
Mutual labels:  shopware
administration
No description or website provided.
Stars: ✭ 26 (+8.33%)
Mutual labels:  shopware
shopware5-live-templates
Shopware Live Templates for PhpStorm
Stars: ✭ 14 (-41.67%)
Mutual labels:  shopware
downtown
With our portal, we want to support local authorities and merchants. We want to connect merchants with closed stores to their customers. And we want to keep in mind, that not every merchant has a sophisticated digital strategy - or even a homepage.
Stars: ✭ 45 (+87.5%)
Mutual labels:  shopware
stat-counters
The library, which provides statistics counters, e.g. Google analytics, Yandex metrica, etc
Stars: ✭ 16 (-33.33%)
Mutual labels:  google-tag-manager

WbmTagManager - GTM integration and dataLayer configuration

Scrutinizer Travis CI

This plugin integrates a new module within the Shopware backend that allows for the integration of the Google Tag Manager Snippet and the configuration of the dataLayer content.

WbmTagManager

The plugin offers the following features:

  • Prepend the GTM Snippet to the head Tag of every page
  • Define the content of the dataLayer for any combination of Module/Controller/Action
  • All variables passed to the view are available as values for the dataLayer properties
  • Use smarty syntax to insert variables and alter values

Requirements

  • Shopware >= 5.6.3

Installation

Clone this repository into a folder WbmTagManager within the custom/plugins directory of the Shopware installation.

  • Install the plugin through the Plugin-Manager within the Shopware backend.
  • Enter the container ID of the desired GTM Container (found in the GTM backend)
  • Activate the plugin and when prompted allow for the clearing of the listed caches.
  • Reload the backend to complete the installation.

Install with composer

  • Change to your root Installation of shopware
  • Run command composer require webmatch/wbm-tag-manager and install and activate plugin with Plugin Manager

Usage

The module will be accessible in backend through a new menu point under the Settings menu tab.

The plugin comes pre-configured for:

  • Enhanced Ecommerce Tracking of Google Analytics
  • Dynamic Remarketing of Google AdWords

Use syntax like "$sArticles as $sArticle" as value for properties that are supposed to contain iterative elements.

Adding modules

Modules are essentially configurations of a dataLayer for a specific view, meaning sites of more or less the same type.

Since version 3.0.0 there's a new UI for adding new modules, as well as updating and deleting existing modules.

When adding new modules you're prompted to enter a name (what the new tab will read) and a key for the module.

The key must contain the values for module, controller and action, connected by underscores. See the Shopware documentation for a more detailed explanation. The key must also be all lowercase.

After adding a module you will find a new tab in the main window, where you can declare the properties for the dataLayer of that specific view.

Additional Smarty functions

{dbquery}

Since version 3.0.0 a new Smarty function {dbquery} is available for the compiling of dataLayers. The function allows you to fetch a single value from any database table. You can pass one or multiple criterias to be used in WHERE and ORDER BY statements.

The following example will work in the dataLayer of the "Add to basket" module and will fetch the price of the newly added product.

{dbquery select='price' from='s_order_basket' where=['ordernumber =' => $smarty.request.sAdd, 'sessionID =' => $smarty.session.Shopware.sessionId] order=['id' => 'DESC']}

Please note the use of single quotes only and the array arguments.

Also be aware that this feature is reliant on proper syntax, meaning you have to pass an operator with the column name and the columns as well as the values have to exist. Syntax errors will be caught and will result in an empty string to be returned instead.

{request_get}

Request parameters won't be available utilizing $smarty.request if they have been set during dispatch or through sluggified URLs (e.g. /detail/index/sArticle/123). By using request_get and the param argument you can get any parameter available at the time of the dataLayer compiling.

{request_get param='sDelete'}

{*|to_string}

The modifier to_string will force casting of a value to string. The default behaviour is to try and determine the type of a value by json decoding. If a numeric value should still be recognized as a string, use the modifier after the variable or value. If you're chaining multiple modifiers, make sure to always use to_string in last place.

{123|to_string}
=>
"123"

Tracking URL Parameters

To track URL parameters (e.g. for campaigns) throughout the user journey, you can set up parameters that will be temporary saved in the session for use in the dataLayer configuration. Within the plugin configuration you can define a comma separated list of GET parameters (e.g. utm_campaign, gclid, etc). Those parameters can then be used in the dataLayer configuration by reading the session: {$smarty.session.Shopware.wbmTagManager.nameOfTheParameter}

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].