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

Kissmetrics Bundle Laravel Package

ricbra/kissmetrics-bundle

Symfony bundle that integrates KISSmetrics analytics into your app, exposing the KISSmetrics client as a service so you can identify users and track events from controllers, services, or templates.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: Poor. Despite being filed under Laravel/PHP packages, ricbra/kissmetrics-bundle is a Symfony2 bundle, not a Laravel package. Its entire contribution is Symfony DI container wiring — a configuration node for the API key, a registered service, and bundle registration in AppKernel — around ricbra/php-kissmetrics-api. Laravel's service container, config repository, and package auto-discovery do not consume any of that. The only reusable asset is the underlying Kissmetrics PHP client, and even that must be assessed standalone.

Integration feasibility: Low as a direct dependency. Pulling a Symfony2-era bundle into a modern Laravel application invites Composer constraint conflicts (it pins symfony/symfony: ~2.x), autoloading mismatches, and container incompatibility. A viable path exists only by ignoring the bundle entirely: evaluate php-kissmetrics-api on its own, or — more realistically — implement a thin Laravel adapter against the Kissmetrics HTTP API using Http:: and the queue.

Technical risk: High. The signals are unambiguous: 1 star, 0 dependents, a composite score of ~0.005, a single maintainer, and targeting an EOL Symfony major version. Concretely that means no security response, no compatibility patches, legacy HTTP/TLS assumptions, and undocumented behavior that must be reverse-engineered from source. Kissmetrics' own account/API viability should also be confirmed — a dormant vendor plus a dormant SDK is a compounded dependency risk.

Key questions:

  • Is Kissmetrics still an approved, active analytics destination, and are its endpoints and credentials live?
  • What PHP/Symfony versions do the bundle and php-kissmetrics-api actually support, and do they run under our PHP/Laravel versions at all?
  • Is the underlying client usable standalone, or does the team need to own a fork?
  • What is the license and transitive-dependency/security posture?
  • Which events, identities, aliases, and properties must flow, and what PII/consent constraints apply at the boundary?
  • Is there a maintained alternative (Segment-style router, or a vendor with a current SDK) that removes this dependency?

Integration Approach

Stack fit: Do not install the Symfony bundle in Laravel. Treat it as reference material for the expected Kissmetrics operations (identify, alias, record, set, clear) and the _k/_p/_n parameter conventions. The Laravel-native shape is a small AnalyticsClient interface, a config file backed by env vars, a service-provider binding, and queued jobs for delivery — with a no-op driver for local and test environments.

Migration path: Isolate analytics behind an application-level contract first, so no product code calls Kissmetrics directly. Implement the contract with a direct HTTP adapter (Laravel HTTP client + queue + retries) or, if the legacy client is retained, a forked-client adapter wrapped behind the same interface. Migrate call sites incrementally, beginning with low-risk, non-revenue events. If Kissmetrics is being replaced rather than adopted, the identical contract lets you swap the driver without touching instrumentation.

Compatibility: Pin and validate against the actual Laravel and PHP versions in use. Inspect Composer constraints for php-kissmetrics-api, its HTTP transport, and any Symfony components before attempting inclusion; the default expectation is that they will not resolve cleanly. Prefer Laravel's HTTP client, retry/backoff, and queue primitives over any legacy transport code from the bundle.

Sequencing:

  1. Confirm Kissmetrics account/API viability and agree the event taxonomy with stakeholders.
  2. Spike a single standalone client call outside the bundle to prove the API contract end to end.
  3. Define the Laravel analytics interface, config contract, and no-op driver.
  4. Implement a queued adapter with idempotency keys, PII scrubbing, and failure handling.
  5. Add contract tests, a fake driver, and observability (event counts, failures, latency).
  6. Roll out behind a feature flag, canary one low-risk event stream, then expand.

Operational Impact

Maintenance: High ownership burden relative to the value delivered. With no downstream dependents and a single maintainer, the team must assume it owns any fork or adapter outright. Pin versions, document the fork and its divergences, and put the dependency on a recurring security/compatibility review. This bundle should not be recorded as a maintained strategic dependency in the tech radar.

Support: Effectively none from the package community. Support is internal expertise plus whatever Kissmetrics API documentation exists; the TPM should budget for incident ownership, on-call coverage for analytics delivery failures, and direct vendor communication. Escalation paths must be defined before production, not after.

Scaling: Synchronous event calls couple request latency to analytics availability and will not survive high-volume event streams. All emission should go through queued jobs with batching where the API permits, backoff/retry, and dead-letter handling. Monitor queue depth, API latency, error rate, duplicate rate, and dropped-event counts as first-class SLOs — analytics loss is silent and corrupts downstream funnel and lifecycle decisions.

Failure modes: Kissmetrics API downtime, rate limiting, invalid or rotated credentials, network/TLS failures against an aging client, duplicate events on retry without idempotency, permanent loss after queue exhaustion, identity/alias mismatches producing split user histories, schema drift in event properties breaking cohorts, and PII leakage from unscrubbed properties. Each requires a defined mitigation — idempotency keys, DLQ, privacy review at the boundary — before production traffic.

Ramp-up: Low to implement a thin HTTP adapter against the documented Kissmetrics API; moderate if the legacy client must be forked and repaired for current PHP. The Symfony bundle itself offers essentially no reusable ramp-up value to a Laravel team, and reading its source is a short exercise rather than a learning investment. TPM effort is better spent on vendor viability, event governance, and building the interface-first replacement than on adapting the package.

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.
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin