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

Laravel Plausible Laravel Package

vincentbean/laravel-plausible

A lightweight Laravel integration for Plausible Analytics. It provides a simple facade and Blade helpers to track pageviews and custom events, supports self-hosted instances, and enables privacy-friendly, cookie-free analytics with minimal configuration.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

laravel-plausible is a thin, single-purpose integration package: a Laravel service provider that wires a client for Plausible Analytics' HTTP Events API, plus (typically) a Blade directive for the script tag and a config file for domain/API host. This is a shallow, well-bounded integration — it does not touch the ORM, routing, auth, or queue internals. For any Laravel application that has already chosen Plausible as its analytics provider, architectural fit is high and blast radius is small. For applications without a Plausible decision, this package is not a reason to make that decision — it is downstream of a product/vendor choice (Plausible Cloud vs. self-hosted).

The one architectural consideration worth flagging: server-side event dispatch means outbound HTTP from the request lifecycle. Whether the package ships a queued job or fires synchronously is the single largest determinant of whether this is "install and forget" or "requires engineering review."

Integration feasibility

Low friction for a standard Laravel app: Composer install, config publish, environment variables, and (for Laravel 11+) auto-discovery removes the manual provider registration step. The 2.4.0 change — adding Laravel 13 support via PR #29 — is an additive compatibility widening, not a behavioral change. No migrations, no schema changes, no public API breakage is implied by the changelog. Realistic integration effort: hours for the happy path, plus a half-day to a day for the surrounding analytics governance work (event taxonomy, consent handling, PII review) that the package itself does not solve.

Technical risk

  • Compatibility-matrix risk (low-moderate). Supporting a newly released Laravel major usually means widening illuminate/support constraints and adding a CI matrix entry. The risk is not in this release but in the pattern: when a framework major lands, this package must follow, and there is a window where your Laravel upgrade is blocked by a dependency that has not caught up. Conversely, if 2.4.0 replaced rather than widened constraints, adopting it could pin you off older Laravel versions — the changelog does not tell us which.
  • Maintainer concentration (moderate). A single named maintainer with a narrow release cadence tied to Laravel majors. Low code surface mitigates this — the package is small enough to vendor or fork if abandoned — but it should be recorded as an accepted risk rather than assumed away.
  • Vendor coupling (moderate). Analytics correctness now depends on a third-party endpoint's availability and API stability. Mitigated if the API host is configurable for self-hosting.
  • Data/consent risk (product, not technical). Server-side event dispatch can send user identifiers or URLs to a third party. Whether the package redacts or leaves that to the caller is a compliance question, not a code-quality question.
  • Observability gap (unknown). Analytics failures are typically non-fatal and easy to silence — the failure mode is silent data loss, which is worse than an outage because nobody pages on it.

Key questions

  1. Did 2.4.0 widen the illuminate/* constraints to include Laravel 13, or replace the floor? Does 2.4.0 still support Laravel 10/11/12, and what is the stated minimum PHP version?
  2. Are there any behavioral changes bundled in 2.4.0 beyond framework support — dependency bumps, config key renames, default value changes? The one-line changelog suggests not, but confirm against the diff between 2.3.1 and 2.4.0.
  3. Does the package dispatch events synchronously or via a queued job? Is queueing opt-in, and is it documented?
  4. Is the Plausible API host configurable (self-hosted support), or hardcoded to plausible.io?
  5. What does the published test matrix cover — multiple Laravel/PHP combinations, and are tests run against the new major or only declared compatible?
  6. How are API errors surfaced — thrown, logged, or swallowed? Is there any hook for monitoring?
  7. What is the license, and is the package a direct integration or a wrapper around another community SDK (which would add a second dependency to track)?

Integration Approach

Stack fit

Target stack is a Laravel application on PHP 8.x with Composer 2. The package is framework-native and requires no additional runtime (no Node build step, no sidecar, no extension). It coexists cleanly with the usual Laravel observability stack — it will not conflict with queue drivers, HTTP clients, or middleware ordering, though if it dispatches via the shared Http client facade it will inherit your global HTTP middleware and timeout configuration, which is worth verifying.

Migration path

  • From 2.3.1 → 2.4.0: expected to be a constraint-only change; composer update vincentbean/laravel-plausible with no application code changes. Treat as a patch-equivalent upgrade in risk terms despite the minor version bump.
  • From nothing → 2.4.0: install, publish config, set the domain and API host env vars, add the script directive to the base layout if client-side pageviews are wanted, and wrap any server-side event calls with a decision on queueing.
  • Constraint hygiene: read the released composer.json before merging. If it now requires Laravel 13, adopting it on a Laravel 12 application will resolve to 2.3.1 anyway — harmless, but it means your lockfile pin is doing the real work, not your intent.

Compatibility

The only compatibility signal in this release is the Laravel 13 addition. Confirm the full supported matrix (Laravel majors × PHP minors) before assuming it is a superset of 2.3.1. If your application is on Laravel 12 or earlier, this release is a no-op for you in practice — the value accrues when you plan your Laravel 13 upgrade and find the dependency already green.

Sequencing

  1. Read the composer.json diff and the full commit range between 2.3.1 and 2.4.0 to confirm no behavioral change.
  2. Bump in a development environment; run the application test suite and confirm php artisan config:cache still succeeds with the package's config file.
  3. If not already instrumented, decide and document the event taxonomy and consent posture before production rollout — retrofitting this after data has been flowing is materially harder.
  4. Verify end-to-end in staging that events actually arrive in the Plausible dashboard (or self-hosted instance) — do not treat a successful test suite as proof of delivery.
  5. Roll to production behind normal release process. No feature flag is warranted for a dependency bump of this size, but a rollback pin to 2.3.1 should be noted in the change record.
  6. Schedule the Laravel 13 upgrade separately; this release unblocks it but does not constitute it.

Operational Impact

Maintenance

Very low steady-state cost: no migrations, no scheduled jobs owned by the package, no config drift beyond the initial publish. The real maintenance burden is external — tracking the package's releases against your Laravel upgrade calendar. A dependency that only ships when a framework major lands means you should subscribe to its releases rather than assume silence equals health. Budget roughly one dependency-review cycle per Laravel major, and verify each time that the maintainer is still active.

Support

Community-supported only: GitHub issues and PRs, no vendor SLA, no commercial backing evident from the release notes. For a package this small, first-line support is effectively "read the source" — which is acceptable precisely because the source is small. Assign an internal owner (typically the platform or backend lead) so that a stalled upstream does not become an unowned blocker during a framework upgrade.

Scaling

Scaling characteristics are dominated by outbound event volume, not by application load. Two things to settle before high-traffic use: (a) server-side events must not add latency to user-facing requests — if dispatch is synchronous, move it to a queue or drop it from the hot path; (b) outbound request volume must be checked against Plausible's API rate limits, with batching or sampling considered for high-event environments. Client-side pageview tracking via the script tag scales independently and costs nothing on your infrastructure. Cost is bounded by your Plausible plan tier, not by server capacity.

Failure modes

  • Silent data loss (most likely, most insidious). Plausible unreachable or returning 4xx/5xx; if the package logs and continues, the dashboard quietly under-reports. Needs an alert or a periodic delivery sanity check — otherwise you make decisions on incomplete data without knowing it.
  • Rate limiting (429). Bursty traffic or a loop dispatching events per item; can be mitigated by queueing with backoff.
  • Request-path latency. Synchronous dispatch to a slow or hanging endpoint; ensure an HTTP timeout is set, and prefer queueing.
  • Egress/firewall. Corporate or VPC-restricted environments silently blocking the API host; typically manifests as the silent-data-loss case above.
  • Self-hosted target misconfiguration. Wrong API host or domain in config leads to events landing in the wrong place — check after any environment replication.
  • Config cache staleness. Changing the domain env var without re-running config:cache leaves production reporting to the old domain.
  • Upstream abandonment. Low severity here; the package is small enough to fork and the license should be confirmed as permissive.
  • Compliance exposure (non-technical failure mode). Sending URLs containing user IDs, emails, or query-string PII to a third party. This is a policy control, not a package control — the package will faithfully send whatever you give it.

Ramp-up

For a Laravel-fluent engineer: well under a day to install, configure, and verify delivery. Call it two to four hours including the reading of the source. The larger cost is the adjacent work that the package does not do for you — event taxonomy design, consent/opt-out handling, PII scrubbing policy, and dashboard access provisioning — which is roughly one to two days of product and legal-adjacent coordination for a team instrumenting analytics for the first time. Teams already running Plausible will see near-zero ramp-up; this release, for them, is a routine compatibility bump with no action required until their Laravel 13 upgrade.

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.
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel