henryavila/email-tracking
Laravel package for email tracking that monitors opens and link clicks by injecting tracking pixels, rewriting URLs, and recording engagement events, with per-message analytics to help measure campaign performance.
MessageSent event to log outbound email, track opens/clicks via webhooks, and surface analytics — useful when deciding whether to build in-house email tracking or adopt a package.BackedEnum or string types) unlocks segmented analytics, per-category filtering, and category-aware compliance/reporting. This supports roadmap items like "separate transactional vs. marketing metrics" or "suppression rules by email category."Consider adopting when:
BackedEnum-based domain models.Event::listen in AppServiceProvider::boot()), which v7 requires and documents.Look elsewhere or defer when:
For executives: A widely-used, actively maintained Laravel package for tracking outbound email just shipped a major, security-driven release. It drops end-of-life platforms (Laravel 9/10, PHP 8.1) and adds email-type classification for segmented analytics, alongside a substantially strengthened quality bar: 139 automated tests, ~93% coverage, static analysis, and CI across modern PHP/Laravel versions. The strategic ask is small: confirm our Laravel/PHP baseline is on 11+/8.2+ and, if so, adopt v7 to gain better email observability at low maintenance risk. If we're still on Laravel 10, this is a useful trigger to schedule that upgrade — Laravel 10 is EOL and carries known security exposure.
For engineering: v7.0.0 is a breaking release: PHP 8.2–8.4 only, Laravel 11–12 only, with event registration moving to the Laravel 11 Event::listen pattern in AppServiceProvider::boot(). Migration is documented step-by-step. In exchange we get email type classification (BackedEnum or string), Pest 3 / PHPUnit 11 testing, PHPStan Level 4, strict types, Pint formatting, and a CI matrix spanning PHP 8.2–8.4 × Laravel 11–12 on Ubuntu and Windows. Recommended plan: verify environment, upgrade Laravel first if needed, bump henryavila/email-tracking to ^7.0, update event registration, run the suite. The upgrade guide covers each step.
For product: The new email-type classification directly supports segmented reporting — separating transactional from marketing and notification email metrics — which enables cleaner dashboards and category-specific rules. No new product surface is required from us beyond configuration and, if desired, defining an EmailType enum.
How can I help you explore Laravel packages today?