Google Analytics integration with Nova
tightenco/nova-google-analytics is a Laravel package for google analytics integration with nova.
It currently has 166 GitHub stars and 131.269 downloads on Packagist (latest version v4.0.0).
Install it with composer require tightenco/nova-google-analytics.
Discover more Laravel packages by tightenco
or browse all Laravel packages to compare alternatives.
Last updated

You can install the package in to a Laravel app that uses Nova via composer:
composer require tightenco/nova-google-analytics
For now, follow the directions on Spatie's Laravel Google Analytics package for getting your credentials, then put them here:
yourapp/storage/app/analytics/service-account-credentials.json
Also add this to the .env for your Nova app:
ANALYTICS_PROPERTY_ID=
Version 4.0 uses the new Google Analytics 4 Data API.
spatie/laravel-analytics to v5.2
FourteenDayActiveUsersMetric metric which is not available in GA4The required environment variable ANALYTICS_VIEW_ID has been renamed to ANALYTICS_PROPERTY_ID to match Google's usage.
You must register the cards you want to display with Nova. This is typically done in the cards method of the Main
dashboard.
// in app/Nova/Dashboards/Main.php
// ...
public function cards()
{
return [
// ...
new \Tightenco\NovaGoogleAnalytics\PageViewsMetric,
new \Tightenco\NovaGoogleAnalytics\VisitorsMetric,
new \Tightenco\NovaGoogleAnalytics\MostVisitedPagesCard,
new \Tightenco\NovaGoogleAnalytics\ReferrersList,
new \Tightenco\NovaGoogleAnalytics\OneDayActiveUsersMetric,
new \Tightenco\NovaGoogleAnalytics\SevenDayActiveUsersMetric,
new \Tightenco\NovaGoogleAnalytics\TwentyEightDayActiveUsersMetric,
new \Tightenco\NovaGoogleAnalytics\SessionsMetric,
new \Tightenco\NovaGoogleAnalytics\SessionDurationMetric,
new \Tightenco\NovaGoogleAnalytics\SessionsByDeviceMetric,
new \Tightenco\NovaGoogleAnalytics\SessionsByCountryMetric,
];
}
Register the tool with Nova in the tools method of your NovaServiceProvider:
// in app/Providers/NovaServiceProvider.php
// ...
public function tools()
{
return [
new Tightenco\NovaGoogleAnalytics\Tool(),
];
}





First, copy your .env.example file to a new file called .env.testing:
cp .env.example .env.testing
Make sure, in that file, to define the following variables to run all tests:
ANALYTICS_PROPERTY_ID
ANALYTICS_PROJECT_ID
ANALYTICS_PRIVATE_KEY_ID
ANALYTICS_PRIVATE_KEY
ANALYTICS_CLIENT_EMAIL_KEY
ANALYTICS_CLIENT_ID
ANALYTICS_CLIENT_CERT_URL
Add the .env.testing file in .gitignore so you can safely use the same analytics view ID to run the tests that you use for the card.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Tighten is a web development firm that works in Laravel, Vue, and React. You can learn more about us on our web site
The MIT License (MIT). Please see License File for more information.