PHPackages                             soee/googletagmanager - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. soee/googletagmanager

ActiveNeos-plugin

soee/googletagmanager
=====================

Easily integrates Google Tag Manager code with your Neos website.

1.0.0(7y ago)0139GPL-3.0+

Since May 26Pushed 7mo ago1 watchersCompare

[ Source](https://github.com/soee/neos-googletagmanager)[ Packagist](https://packagist.org/packages/soee/googletagmanager)[ RSS](/packages/soee-googletagmanager/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (1)Versions (3)Used By (0)

soee - Google Tag Manager
=========================

[](#soee---google-tag-manager)

Easily integrates Google Tag Manager installation code with your Neos website.

Installation
------------

[](#installation)

Add manually `soee-googletagmanager` package to your `composer.json` file to type in command line:

`composer require soee/googletagmanager`

Configuration
-------------

[](#configuration)

By default Google Tag Manager codes are rendered only if you have identifier set through configuration:

```
Soee:
  GoogleTagManager:
    identifier: 'MY-GOOGLETAGMANAGER-IDENTIFIER'
```

Customizations
--------------

[](#customizations)

The whole process and integration code is highly customizable. This package defines 2 new nodetypes:

`Soee.GoogleTagManager:Code` - used to render Google Tag Manager code inside head section `Soee.GoogleTagManager:NoscriptCode` - used to render noscript Google Tag Manager code after body opening tag

Both [Code](Resources/Private/Fusion/Prototypes/Code.fusion) and [NoscriptCode](Resources/Private/Fusion/Prototypes/NoscriptCode.fusion) inherit from `Neos.Fusion:Tag` so you can check current code and customize it as you will.

**Important:**

You probably do not want to render Google Tag Manager codes inside development or testing environment. This package will help you with that but to do so we are checking `Flow` context name like this:

```
@if.inProductionEnvironment = ${Configuration.setting('Neos.Flow.core.context') == 'Production' ? true:false}

```

While this should work just fine in most cases it is still recommended to use your own variable that defines current environment. For example if your site package name is `Vendor.Site` than you could create 2 `Settings.yaml` files: one would be `Configuration\Production\Settings.yaml` and second `Configuration\Development\Settings.yaml` (similar for any extra environment). Than inside this 2 files you can configure environment configuration option:

for **Production** it could be:

```
Vendor:
  Site:
    environment: 'Production'
```

for **Development** it could be:

```
Vendor:
  Site:
    environment: 'Development'
```

Than you can use it to decide if Google Tag Manager code should be rendered like this:

```
Neos.Neos:Page {
  ...
  googleTagManagerCode {
    @if.inProductionEnvironment = ${Configuration.setting('Vendor.Site.environment') == 'Production' ? true:false}
  }
  ...
  googleTagManagerNoscriptCode {
    @if.inProductionEnvironment = ${Configuration.setting('Vendor.Site.environment') == 'Production' ? true:false}
  }
  ...
}

```

Author - Marcin Sągol
---------------------

[](#author---marcin-sągol)

- e-mail:
- www: [soee.pl](soee.pl)
- twitter: [@marcinsagol](https://twitter.com/marcinsagol)

License
-------

[](#license)

This package is released under [MIT](LICENSE) license

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance45

Moderate activity, may be stable

Popularity10

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2694 days

Total

2

Last Release

212d ago

Major Versions

1.0.0 → 9.0.x-dev2025-10-10

### Community

Maintainers

![](https://www.gravatar.com/avatar/bc9030d07d1af7ae9aabc83da220a43ec09305d85306ffaa21d7b5f676a6bde6?d=identicon)[soee](/maintainers/soee)

---

Top Contributors

[![soee](https://avatars.githubusercontent.com/u/1798417?v=4)](https://github.com/soee "soee (3 commits)")

---

Tags

googlemanagertagintegrationseoflowNeossoee

### Embed Badge

![Health badge](/badges/soee-googletagmanager/health.svg)

```
[![Health](https://phpackages.com/badges/soee-googletagmanager/health.svg)](https://phpackages.com/packages/soee-googletagmanager)
```

###  Alternatives

[shel/neos-colorpicker

A plugin for Neos CMS which provides a colorpicker editor

1494.4k6](/packages/shel-neos-colorpicker)[shel/neos-hyphens

A plugin for Neos CMS which provides hyphens for the inline editor

20200.7k1](/packages/shel-neos-hyphens)[techdivision/ckstyles

Neos package which enables you adding your custom style classes for the CkEditor with a simple Yaml configuration

21166.3k](/packages/techdivision-ckstyles)[moc/notfound

Neos CMS package that loads a normal editable page for displaying a 404 error

18167.5k](/packages/moc-notfound)[carbon/includeassets

Include your assets (css, js) in an easy way into Neos

14228.6k10](/packages/carbon-includeassets)[shel/nodetypes-analyzer

Graphical analysis &amp; visualizer for the Neos CMS nodetypes as backend module

2160.6k](/packages/shel-nodetypes-analyzer)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
