All Projects → webfactory → Piwik Bundle

webfactory / Piwik Bundle

Licence: mit
Symfony Bundle with twig-function for the Matomo (fka Piwik) tracking code

Projects that are alternatives of or similar to Piwik Bundle

Sentry Symfony
The official Symfony SDK for Sentry (sentry.io)
Stars: ✭ 515 (+1460.61%)
Mutual labels:  bundle, symfony
Knpgaufrettebundle
Easily use Gaufrette in your Symfony projects.
Stars: ✭ 646 (+1857.58%)
Mutual labels:  bundle, symfony
Entityauditbundle
Audit for Doctrine Entities
Stars: ✭ 546 (+1554.55%)
Mutual labels:  bundle, symfony
Easy Deploy Bundle
The easiest way to deploy your Symfony applications
Stars: ✭ 446 (+1251.52%)
Mutual labels:  bundle, symfony
Ismaambrosigeneratorbundle
Generates Symfony2 documents, forms and CRUD for MongoDB documents
Stars: ✭ 27 (-18.18%)
Mutual labels:  bundle, symfony
Foscommentbundle
Threaded comments for Symfony
Stars: ✭ 451 (+1266.67%)
Mutual labels:  bundle, symfony
Sensiogeneratorbundle
Generates Symfony bundles, entities, forms, CRUD, and more...
Stars: ✭ 634 (+1821.21%)
Mutual labels:  bundle, symfony
Sonatamediabundle
Symfony SonataMediaBundle
Stars: ✭ 415 (+1157.58%)
Mutual labels:  bundle, symfony
Webfactorylegacyintegrationbundle
A battle-proven approach to facilitate the incremental migration of legacy applications to the Symfony2 stack.
Stars: ✭ 17 (-48.48%)
Mutual labels:  bundle, symfony
Symfony
The Symfony PHP framework
Stars: ✭ 26,220 (+79354.55%)
Mutual labels:  bundle, symfony
Liipmonitorbundle
Integrates the LiipMonitor library into Symfony
Stars: ✭ 445 (+1248.48%)
Mutual labels:  bundle, symfony
Influxdb Bundle
Bundle service integration of official influxdb/influxdb-php client
Stars: ✭ 24 (-27.27%)
Mutual labels:  bundle, symfony
Phone Number Bundle
Integrates libphonenumber into your Symfony2-Symfony4 application
Stars: ✭ 446 (+1251.52%)
Mutual labels:  bundle, symfony
Sensiodistributionbundle
Base bundle for Symfony Distributions
Stars: ✭ 501 (+1418.18%)
Mutual labels:  bundle, symfony
Jwtrefreshtokenbundle
Implements a Refresh Token system over Json Web Tokens in Symfony
Stars: ✭ 425 (+1187.88%)
Mutual labels:  bundle, symfony
Liipfunctionaltestbundle
Some helper classes for writing functional tests in Symfony
Stars: ✭ 604 (+1730.3%)
Mutual labels:  bundle, symfony
Eightpointsguzzlebundle
⛽️ Integrates Guzzle 6.x, a PHP HTTP Client, into Symfony
Stars: ✭ 407 (+1133.33%)
Mutual labels:  bundle, symfony
Doctrineenumbundle
📦 Provides support of ENUM type for Doctrine in Symfony applications.
Stars: ✭ 410 (+1142.42%)
Mutual labels:  bundle, symfony
Craueformflowbundle
Multi-step forms for your Symfony project.
Stars: ✭ 654 (+1881.82%)
Mutual labels:  bundle, symfony
Admincrudbundle
AdminCrud genera un controlador muy básico para una Entity dada. Este controlador extiende e implementa un controlador Super Genial.
Stars: ✭ 18 (-45.45%)
Mutual labels:  bundle, symfony

webfactory Logo WebfactoryPiwikBundle

Run Tests Coverage Status

A Symfony Bundle that helps you to use the Matomo (formerly known as Piwik) Open Analytics Platform with your project.

It contains a Twig function that can insert the tracking code into your website. Plus, you can turn it off with a simple configuration switch so you don't track your dev environment.

Installation

composer require webfactory/piwik-bundle

And enable the bundle in app/AppKernel.php:

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new Webfactory\Bundle\PiwikBundle\WebfactoryPiwikBundle(),
    );
}

Usage

Somewhere in your views, right before the closing </body> tag, insert

{{ piwik_code() }}

This will add the appropriate Matomo tracking code as described in the API reference.

Configuration

You can configure the bundle in your config.yml. Full Example:

webfactory_piwik:
    # Required, no default. Must be set to the site id found in the Matomo control panel
    site_id: 1
    # Required. no default. Hostname and path to the Matomo host.
    piwik_host: my.piwik.hostname
    # Optional, has default. Usually, you only want to include the tracking code in a production environment
    disabled: '%kernel.debug%'
    # Optional, has default. Path to the tracking script on the host.
    tracker_path: "/js/"
    # Optional, has default. Disable cookies in favor of GDPR
    # https://matomo.org/faq/new-to-piwik/how-do-i-use-matomo-analytics-without-consent-or-cookie-banner/ & https://matomo.org/faq/general/faq_157/
    disable_cookies: true

Add calls to the JavaScript tracker API

The JavaScript tracking API provides a lot of methods for setting the page name, tracking search results, using custom variables and much more.

The generic piwik() function allows you to control the _paq variable and add additional API calls to it. For example, in your Twig template, you can write

    <!-- Somewhere in your HTML, not necessarily at the end -->
    {{ piwik("setDocumentTitle", document.title) }}
    {{ piwik("trackGoal", 1) }}

    <!-- Then, at the end: -->
    {{ piwik_code() }}
    </body>

Note that when you call trackSiteSearch, this will automatically disable the trackPageView call made by default. This is the recommended behaviour.

Credits, Copyright and License

This code was written by webfactory GmbH, Bonn, Germany. We're a software development agency with a focus on PHP (mostly Symfony). If you're a developer looking for new challenges, we'd like to hear from you!

Copyright 2012 – 2020 webfactory GmbH, Bonn. Code released under the MIT license.

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].