Skip to content
This repository has been archived by the owner on Jul 19, 2021. It is now read-only.
/ tagcommander-bundle Public archive

Symfony Bundle for Tag Commander

License

Notifications You must be signed in to change notification settings

gbprod/tagcommander-bundle

Repository files navigation

TagCommander Bundle

Build Status Scrutinizer Code Quality Code Coverage

Provides a Symfony tool pack to easily integrates TagCommander into your application.

Toolbar sample

Installation

Install the package with Composer :

composer require 1001pharmacies/tagcommander-bundle

Update app/AppKernel.php :

$bundles = array(
    // ...
    new Meup\Bundle\TagcommanderBundle\MeupTagcommanderBundle(),
);

Setup your app/config/config.yml

meup_tagcommander:
    default_event: "default"
    datalayer:
        name:    "tc_vars"
        default: { env: "%kernel.environment%", locale: "%locale%" }
    containers:
        - { name: "ab-test", script: "my-ab-test-container.js" }
        - { name: "generic", script: "my-generic-container.js", version: "v17.11", alternative: "//redirect1578.tagcommander.com/utils/noscript.php?id=3&mode=iframe" }
    events:
        - { name: "default",      function: "tc_events_1" }
        - { name: "other_events", function: "tc_events_2" }

The meup_tagcommander.datalayer.default config node allows you to pre-fill your datalayer directly from your your config tree.

Then update your pages to track events :

<html>
  <head>
    {% block head_javascript %}
    {{ tc_vars({ 'route': app.request.attributes.get('_route') }) }}
    {{ tc_container("ab-test") }}
    {% endblock %}
  </head>
  <body>
    <!-- simple tracking sample -->
    <a href="#" onclick="javascript: return {{ tc_event('lorem_click') }}">lorem ipsum</a>
    <!-- advanced tracking sample -->
    <img src="sample.jpg" onmouseover="javascript: return {{ tc_event('over_image', {'src': 'sample.jpg'}, 'other_events') }}">
    <!-- rendering tag commander containers -->
    {% block body_javascript %}
    {{ tc_container("generic") }}
    {% endblock %}
  </body>
</html>

Using tc_datalayer service

$datalayer = $container->get('tc_datalayer');
$datalayer->set('foo', 'bar');

var_dump($datalayer->all());

About

Symfony Bundle for Tag Commander

Resources

License

Stars

Watchers

Forks

Packages

No packages published