freshbitsweb/laravel-google-analytics-4-measurement-protocol

A Laravel package to use Measurement Protocol for Google Analytics 4

1.2.0 2023-09-08 07:16 UTC

This package is auto-updated.

Last update: 2024-12-08 10:16:13 UTC


README

Plant a Tree

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

  1. Install the package by running this command in your terminal/cmd:
composer require freshbitsweb/laravel-google-analytics-4-measurement-protocol
  1. Set MEASUREMENT_ID and MEASUREMENT_PROTOCOL_API_SECRET in your .env file. You can get them from: Google Analytics > Admin > Data Streams > [Select Site] > Measurement Protocol API secrets

  2. 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
  1. 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

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