jeffersongoncalves/filament-gtag
A Filament plugin that adds Google Analytics gtag.js tracking to your admin panel, with configurable measurement IDs and simple setup for monitoring panel usage and visitor activity.
spatie/laravel-settings. The product decision it unlocks is "should changing a tracking ID require a developer, a PR, a deploy, and a release window?" For most teams the answer is no — marketing should be able to swap a GA4 measurement ID on a Tuesday afternoon.spatie/laravel-settings and want the screen today; build or vendor it if you want to own the upgrade path.Plugin::make()->navigationGroup(string|Closure) lets the settings page join one of the panel's own navigation groups instead of the package's translated default group. This is a small but real product win: it removes one of the usual "third-party plugin clutters our nav" objections and lets you place analytics settings where admins already look — under Settings, Integrations, or Marketing, per panel. Use the Closure form when grouping varies per panel or tenant. If a coherent admin IA is part of your product quality bar, this materially lowers the cost of adoption.spatie/laravel-settings rather than in config/, per-tenant or per-scope IDs are at least architecturally possible. Treat that as an evaluation item to verify, not a promised capability — the package docs do not scope this out.Adopt it (or vendor it) when all of the following hold:
spatie/laravel-settings; adding it is incremental, not a new paradigm.jeffersongoncalves/laravel-gtag dependency that does the actual injection, and — as 3.4.0 makes explicit — filament-analytics-core ≥ 3.1 behind the newer features. Budget for tracking three version lines, not one. The navigationGroup() API is version-gated, so the triple is coupled: pinning the plugin's latest minor effectively pins the core package's minor too.Look elsewhere (or build it) when:
filament-analytics-core ≥ 3.1 pin adds a second compatibility matrix to watch at every Filament bump.Signal to weigh honestly: 3.4.0 is a small, additive, non-breaking configuration improvement — not a product pivot. There are no deprecations and no migration work, so the upgrade decision is cheap. Set against that, the release history is still dominated by dependency bumps, translation rollouts, changelog CI, and a sponsor link, and this release's headline feature is coupling to another package's minor version rather than new capability. The 17 locales remain a genuine nicety for international admin teams, but they do not offset the adoption risk. Score it as a convenience utility, not a platform bet.
To executives: "A small, MIT-licensed plugin that lets marketing change our Google Analytics ID from the admin panel instead of filing an engineering ticket. The latest release adds one useful thing: the settings screen can now sit in whichever admin menu section we choose, instead of a hard-coded one — so it fits our product rather than standing out as a third-party add-on. It removes a recurring low-value interrupt and costs us roughly a day to evaluate and integrate. It does not handle privacy consent or tag management, so it is one piece of the analytics picture, not the whole answer — we should not describe analytics as 'done' because of it."
To engineering: "It is a thin Filament settings page over spatie/laravel-settings, delegating injection to a companion laravel-gtag package, with 3.4.0 adding an opt-in navigationGroup(string|Closure) call that requires filament-analytics-core ≥ 3.1. Low code volume, low blast radius, permissive license, and this release is purely additive — no deprecations, no migration. The real cost remains ownership: one maintainer, negligible adoption, and a dependency chain that is now visibly three packages deep with a minor-version coupling between two of them, all of which will need attention at every Filament major. Recommendation — vendor the source into our codebase, keep the MIT attribution, and treat it as first-party code we control. That gives us the feature, including the new navigation-group placement, this sprint and removes the supply-chain question entirely. If we do install it live instead, pin the plugin and filament-analytics-core together."
Decision to record: approved as a reference implementation to be vendored, scoped to GA4 measurement-ID configuration only, now including navigationGroup() placement in the vendored surface; the pinning note is extended to filament-analytics-core ≥ 3.1; consent management and tag management remain open roadmap items.
How can I help you explore Laravel packages today?