freshbitsweb / laravel-google-analytics-4-measurement-protocol
A Laravel package to use Measurement Protocol for Google Analytics 4
Installs: 54 181
Dependents: 0
Suggesters: 0
Security: 0
Stars: 16
Watchers: 5
Forks: 11
Open Issues: 3
Requires
- php: ^7.4|^8.0
- guzzlehttp/guzzle: ^6.0|^7.0
- illuminate/http: ^7.0|^8.0|^9.0|^10.0
- illuminate/view: ^7.0|^8.0|^9.0|^10.0
- spatie/laravel-package-tools: ^1.5
Requires (Dev)
- phpunit/phpunit: ^9
README
Laravel Google Analytics 4 Measurement Protocol
A Laravel package to use Measurement Protocol for Google Analytics 4.
Introduction
This package allows you to post events to Google Analytics 4 from your Laravel backend.
Supported Laravel versions
- Laravel 7.x
- Laravel 8.x
- Laravel 9.x
- Laravel 10.x
Installation
- Install the package by running this command in your terminal/cmd:
composer require freshbitsweb/laravel-google-analytics-4-measurement-protocol
-
Set
MEASUREMENT_ID
andMEASUREMENT_PROTOCOL_API_SECRET
in your .env file. You can get them from: Google Analytics > Admin > Data Streams > [Select Site] > Measurement Protocol API secrets -
Optional: You can publish the config file by running this command in your terminal/cmd:
php artisan vendor:publish --tag=google-analytics-4-measurement-protocol-config
client_id
is required to post an event to Google Analytics. This package provides a Blade component which you can put in your layout file after the Google Analytics Code tracking code. It makes a POST request to the backend to store the client id in the session which is later used to post events to Google Analytics 4.
<!-- Google Analytics Code --> <x-google-analytics-client-id /> <!-- </head> -->
The other option is to call the setClientId($clientId)
method on the GA4
facade everytime before calling the postEvent()
method.
Usage
You can simple call GA4::postEvent($eventData)
from anywhere in your backend to post event to Google Analytics 4. $eventData
contains the name and params of the event as per this reference page. For example:
GA4::postEvent([ 'name' => 'login', 'params' => [ 'method' => 'Google', ], ]);
postEvent()
method will return an array with the status of the request.
Debugging Mode
You can also enable debugging mode by calling enableDebugging()
method before calling the postEvent()
method. Like so - GA4::enableDebugging()->postEvent($eventData)
. The postEvent()
method will return the response (array) from Google Analytics request in that case.
Authors
- Gaurav Makhecha - Initial work
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE file for details
Treeware
You're free to use this package, but if it makes it to your production environment I would highly appreciate you buying the world a tree.
It’s now common knowledge that one of the best tools to tackle the climate crisis and keep our temperatures from rising above 1.5C is to plant trees. If you contribute to our forest you’ll be creating employment for local families and restoring wildlife habitats.
You can buy trees at for our forest here offset.earth/treeware
Read more about Treeware at treeware.earth
Special Thanks to
- Laravel Community