Google Tag Manager allows you to add tags to your site without editing the site code. A tag, in Google parlance, is a snippet of JavaScript that sends information to a third party, such as... Google.  There are tags to install things like Analytics, Adwords or others on your site .

To use GTM you have to include a small piece of JavaScript on every page, much like what you need to do to install Google Analytics. When installed tags can be added to your site via a great looking interface. As with other Google products there are lots of options which sometimes be confusing. If you want to know more about GTM you read the official documentation.

You can also feed custom data to GTM by sending data through a dataLayer variable in javascript. Check out the developer guide to see what's possible.

My colleague Sebastian made a great package that makes installing GTM in your Laravel app a breeze. If you just want a basic installation you'll have to follow the easy install instructions and include a view in your layout.

If you want to use the dataLayer the package provides some handy methods for that. You can even define macros so you can manage the data you want to sent to GTM in one place.

You can read more instructions on how to use the package on GitHub:

https://github.com/spatie/laravel-googletagmanager