Weave 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

Filament Metrics Fathom Laravel Package

jeffersongoncalves/filament-metrics-fathom

A Filament plugin that brings Fathom Analytics metrics into your admin dashboard, with ready-to-use widgets for tracking traffic, pageviews, and site performance without leaving Laravel.

View on GitHub
Deep Wiki
Context7

Getting Started

Install the plugin via Composer and confirm filament-analytics-core resolves to ^3.1 (the navigationGroup() API was added there). Register the plugin in your Filament panel provider:

->plugins([
    \Vendor\Analytics\Plugin::make(),
])

The first use case is simply exposing the analytics settings page in your panel. By default it appears under the package’s translated navigation group. As soon as you want the page to sit alongside your own resources, call navigationGroup():

Plugin::make()->navigationGroup('Reporting')

Look first at your panel provider’s plugins() array and your panel’s navigationGroups() definition — that is where the new grouping behaviour is wired up.

Implementation Patterns

Basic override. Pass a string to place the settings page in an existing or new navigation group:

->plugins([
    AnalyticsPlugin::make()->navigationGroup('Insights'),
])

Dynamic grouping via closure. Use a closure when the group depends on tenant, panel, or user context:

AnalyticsPlugin::make()->navigationGroup(
    fn () => filament()->getCurrentPanel()?->getId() === 'admin'
        ? 'Administration'
        : 'Reporting'
)

Multi-panel setups. Register the plugin separately per panel and give each a different group, or omit the call on panels where the translated default is fine. This keeps the settings page contextual rather than forcing one global label.

Pairing with panel navigation groups. For predictable ordering, declare the same group in your panel’s navigationGroups() so the analytics page sorts with your other resources rather than appearing as an ad-hoc group at the end.

Progressive adoption. Existing installations need no changes: omitting navigationGroup() preserves the translated group, so you can roll the override out panel by panel.

Gotchas and Tips

  • Version coupling matters. navigationGroup() requires filament-analytics-core 3.1+. If Composer resolves an older core (e.g. due to a lockfile or another package constraint), the method will not exist. Run composer why filament-analytics-core if the call fails.
  • Group must be intentional. Filament will render a group even if you have not declared it in navigationGroups(); it just may not sort where you expect. Declare the group in the panel to control ordering and icons.
  • Closures run during navigation rendering. Keep them cheap — avoid queries or heavy authorization checks on every page load; prefer cached flags or simple panel/user checks.
  • Default label is translated. Overriding with a string removes the package’s translation. If you support multiple locales, either return a translated string from the closure or keep the default on localised panels.
  • Only the settings page is affected. The navigation group override does not move other analytics pages or widgets; check each page’s registration if you need consistent grouping.
  • Stale navigation after config changes. If the group does not update, clear Filament’s cached components with php artisan filament:optimize-clear (or optimize:clear) and retest.
  • Extension point. The closure is the right place to read panel context (filament()->getCurrentPanel()), tenant, or feature flags without forking the plugin.
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.
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle