Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Analytics Data

Analytics Data Laravel Package

google/analytics-data

Idiomatic PHP client for the Google Analytics Data API (GA4). Query reports, dimensions/metrics, audience exports, and more via REST or gRPC. Install with Composer and authenticate with Google Cloud credentials to start making requests.

View on GitHub
Deep Wiki
Context7

At a glance

Frequently asked questions about Analytics Data
How do I install the Google Analytics Data API client in a Laravel project?
Use Composer to install the package with `composer require google/analytics-data`. The package integrates natively with Laravel’s dependency management, and you can then initialize the client in a service provider or directly in your code. Ensure your `composer.json` is updated to reflect the dependency.
Which Laravel versions are compatible with this package?
The package itself has no Laravel-specific dependencies, so it works with any Laravel version (5.5+). However, ensure your PHP version (8.0+) aligns with the package’s requirements. Test thoroughly if using older Laravel versions, as some features like gRPC may require additional setup.
Can I use this package for real-time analytics in Laravel?
Yes, the package supports real-time reporting via GA4’s Data API. For low-latency needs, use gRPC for streaming capabilities, though REST is simpler. Combine it with Laravel’s queue system (e.g., `dispatch()`) to handle asynchronous analytics events without blocking user requests.
How do I authenticate the client in Laravel?
Store your Google Cloud credentials (Service Account JSON or OAuth2 client ID) in Laravel’s `config/services.php` under a key like `google.analytics.credentials`. Then, initialize the `BetaAnalyticsDataClient` with these credentials in a service provider or directly in your code, following the [official authentication guide](https://github.com/googleapis/google-cloud-php/blob/main/AUTHENTICATION.md).
Does this package support Universal Analytics (UA) or only GA4?
This package **only supports GA4** (Google Analytics 4). If your Laravel app relies on Universal Analytics, you’ll need to migrate to GA4 first or use a different package. The package is designed for modern GA4 features like event-level metrics and real-time data.
How do I handle API rate limits or errors in Laravel?
The package throws `ApiException` for errors, which you can catch and log using Laravel’s exception handler. Implement exponential backoff for retries (the package includes built-in retry logic) and cache responses with Laravel’s cache system to reduce API calls. Monitor quota usage via Google Cloud’s API dashboard.
Is gRPC support worth the complexity in a Laravel app?
gRPC is ideal for high-frequency or streaming analytics (e.g., real-time dashboards), but it requires Protobuf and additional infrastructure. For most Laravel apps, REST is sufficient and simpler. Only enable gRPC if you need low-latency streaming—otherwise, stick to REST for easier deployment.
Can I integrate this with Laravel’s Eloquent or Query Builder?
Yes, you can extend Eloquent models to log analytics events (e.g., `Model::observes('created', fn() => Analytics::track('user_created'))`). Use Laravel’s API Resources to transform GA4 responses into Eloquent collections or map raw data to database records. Example: `return new AnalyticsResource($response->getRows());`
How do I schedule periodic GA4 reports in Laravel?
Use Laravel’s task scheduling (`schedule:run`) to run nightly or hourly reports. Define a command (e.g., `php artisan analytics:export`) that initializes the client and fetches data, then schedule it in `app/Console/Kernel.php`. Example: `Schedule::call('AnalyticsExportCommand')->dailyAt('2:00').
Are there alternatives to this package for Laravel analytics?
Alternatives include third-party packages like `spatie/laravel-analytics` (for UA) or custom integrations with Google’s Analytics Admin API. However, this is the **official GA4 PHP client**, offering direct access to GA4’s full feature set (e.g., audience exports, real-time data) with Google’s support. For legacy UA, consider migrating to GA4 first.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope