GoogleTagManagerBundle Save

Google Tag Manager Bundle for Symfony 2

Project README

GoogleTagManagerBundle

Software License Build Status Scrutinizer Quality Score Join the chat at https://gitter.im/GoogleTagManagerBundle/Lobby

The GoogleTagManagerBundle provides you an easy-to-use method to integrate the Google Tag Manager into your Symfony 2 application.

Note: This Bundle is still in development. Feel free to report encountered issues!

Requirements

2.x

  • PHP 5.3 and higher
  • Symfony 2.8 and higher

3.x

  • PHP 5.6 and higher
  • Symfony 2.8 and higher

Install

Step 1: Download the Bundle

Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:

2.x

$ composer require xynnn/google-tag-manager-bundle "~2.0"

3.x

$ composer require xynnn/google-tag-manager-bundle "~3.0"

This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.

Step 2: Enable the Bundle

Then, enable the bundle by adding the following line in the app/AppKernel.php file of your project:

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...

            new Xynnn\GoogleTagManagerBundle\GoogleTagManagerBundle(),
        );

        // ...
    }

    // ...
}

Step 3: Enable Google Tag Manager

Add the configuration to your yaml file. Please don't forget to adjust your Google Tag Manager Id.

Step 4: Insert the ViewHelper

Insert the ViewHelper into your layout file to enable the Google Tag Manager. Please be aware to insert into right after the HTML body tag!

<body>
{{ google_tag_manager_body() }}
...
</body>

And right after the HTML head tag:

<head>
{{ google_tag_manager_head() }}
...
</head>

And right before the closing BODY tag:

{{ google_tag_manager_body_end() }}
</body>

Or use the autoAppend setting to let a kernel reponse listener add them to your layout automatically.

Additional instructions: https://developers.google.com/tag-manager/quickstart

Step 5: Fill up the DataLayer from Google Tag Manager (Optional)

If you want to send some information to the Google Tag Manager, you can use the dataLayer.

/** @var GoogleTagManagerInterface $manager */
$manager = $this->get('google_tag_manager');
$manager->setData('example', 'value');

And if you want to add pushes at the end of the body (not in initial dataLayer):

/** @var GoogleTagManagerInterface $manager */
$manager = $this->get('google_tag_manager');
$manager->addPush(['test' => 123);

Configuration

google_tag_manager:
    enabled: true
    id: "GTM-XXXXXX"
    autoAppend: true|false

An optional paramater called additionalParamaters allows specifying URL parameters to add on to the tag manager URLs. This can be used to support custom environments in tag manager.

google_tag_manager:
    additionalParameters: gtm_auth=XXXXXXXXXXXXX&gtm_preview=env-30&gtm_cookies_win=x

Authors

Philipp Bräutigam

... and Contributors!

License

Copyright (c) 2017 Philipp Bräutigam This repository is released under the GNU LGPL v3.0 license.

Open Source Agenda is not affiliated with "GoogleTagManagerBundle" Project. README Source: xyNNN/GoogleTagManagerBundle

Open Source Agenda Badge

Open Source Agenda Rating