finds.dev← search

// the find

kyranb/Footprints

★ 208 · PHP · MIT · updated Mar 2026

:feet: A simple registration attribution tracking solution for Laravel (UTM Parameters and Referrers)

Footprints is a Laravel middleware package that tags unauthenticated requests with UTM parameters and referrer data, then links the resulting visits to a user once they register, so you can see what actually drove a signup. It's for teams running paid acquisition or content marketing on a Laravel app who want attribution without wiring up a full analytics stack or sending data to a third party.

Every moving part is behind an interface (TrackableInterface, FootprinterInterface, TrackingFilterInterface, TrackingLoggerInterface), so you can swap the cookie-linking strategy or logging backend without forking the package. It ships an artisan prune command plus an async queue option, meaning the author already thought about the visits table growing unbounded in production. The README documents the actual request flow end to end (middleware → filter → logger → footprint → AssignPreviousVisits job), which is more traceable than most packages this size bother with.

The README states testing "haven't got round to this yet," but the repo has a populated tests/ directory with multiple PHPUnit files — the docs are stale enough that you can't trust other claims in them without checking the code. There's a dead .travis.yml and Travis badge sitting next to working GitHub Actions workflows, which is just confusing cruft for a new contributor. Attribution linking falls back to cookie, then IP + user-agent, which breaks the moment a user clears cookies or switches devices between the ad click and the signup — exactly the gap this kind of tool exists to close. No mention anywhere of cookie-consent handling despite setting a tracking cookie on every unauthenticated request, which is a real gap for anyone shipping to EU users.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →