jeffersongoncalves/laravel-gtm

This plugin seamlessly integrates Google Tag Manager (GTM) into your website, enabling streamlined management and deployment of marketing tags, analytics, and tracking pixels. With easy-to-implement script inclusion and customizable options, it simplifies the process of monitoring user interactions and gathering valuable insights without altering your site's core code. Perfect for marketers and developers looking to enhance their tracking capabilities with minimal effort.
3,822 4
Install
composer require jeffersongoncalves/laravel-gtm
Latest Version:3.0.0
PHP:^8.2|^8.3|^8.4
License:MIT
Last Updated:Sep 6, 2026
Links: GitHub  ·  Packagist
Maintainer: jeffersongoncalves

Laravel Gtm

Laravel Google Tag Manager

Buy Me A Coffee

Latest Version on Packagist GitHub Code Style Action Status Total Downloads

This plugin seamlessly integrates Google Tag Manager (GTM) into your website, enabling streamlined management and deployment of marketing tags, analytics, and tracking pixels. With easy-to-implement script inclusion and customizable options, it simplifies the process of monitoring user interactions and gathering valuable insights without altering your site's core code. Perfect for marketers and developers looking to enhance their tracking capabilities with minimal effort.

Requirements

  • PHP 8.2+
  • Laravel 11.0+
  • spatie/laravel-settings ^3.0 (installed automatically)

Installation

You can install the package via composer:

composer require jeffersongoncalves/laravel-gtm

Run the migrations to create the settings table and seed the GTM settings:

php artisan migrate

Configuration

Setting your GTM ID

The GTM ID is stored in the database via spatie/laravel-settings. Configure it at runtime using any of the following approaches:

Via dependency injection

use JeffersonGoncalves\Gtm\Settings\GtmSettings;

$settings = app(GtmSettings::class);
$settings->gtm_id = 'GTM-XXXXXX';
$settings->save();

Via helper function

$settings = gtm_settings();
$settings->gtm_id = 'GTM-XXXXXX';
$settings->save();

Publishing the settings migration (optional)

If you need to customize the settings migration:

php artisan vendor:publish --tag=gtm-settings-migrations

Usage

Add the GTM head script inside your <head> tag, as high as possible:

@include('gtm::head')
{{-- or use the Blade directive --}}
@gtmHead

Add the GTM body noscript immediately after the opening <body> tag:

@include('gtm::body')
{{-- or use the Blade directive --}}
@gtmBody

The scripts are only rendered when a valid GTM ID is configured. A valid ID matches the pattern GTM-XXXXXXX (uppercase letters and digits).

Reading the current GTM ID

// Via helper
$gtmId = gtm_settings()->gtm_id;

// Via container
$gtmId = app(\JeffersonGoncalves\Gtm\Settings\GtmSettings::class)->gtm_id;

// Via Facade (resolve the underlying settings instance first)
$gtmId = \JeffersonGoncalves\Gtm\Facades\Gtm::getFacadeRoot()->gtm_id;

Updating the GTM ID at runtime

$settings = gtm_settings();
$settings->gtm_id = 'GTM-NEWID';
$settings->save();

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

Related Packages

jeffersongoncalves/filament-cookie-consent

This Filament package provides a simple and elegant way to implement cookie cons...

14,776 8
jeffersongoncalves/filament-cep-field

The Filament CEP Field is a custom input component designed specifically for Bra...

4,489 8
jeffersongoncalves/filament-refresh-sidebar

Automatically refresh the Filament sidebar navigation when certain events occur,...

2,543 11
jeffersongoncalves/filament-logo

A simple yet effective Filament plugin that automatically adds the Filament logo...

13,517 5
jeffersongoncalves/filament-ace-editor-field

A Laravel Filament v4 field that integrates the Ace code editor into your forms,...

10,311 4