Sending events from your stack

Packages for Stacks and Laravel translate the events your application already emits. Anything else posts JSON to one endpoint. Either way you are not writing tracking calls.

Stacks and Laravel, without tracking calls

Install the package and register the listener. The events your application already emits are translated into the standard taxonomy and forwarded in the background. A conventional commerce or SaaS application produces reports without a single line of instrumentation written by hand, because the interesting things already fire events.

Or anything that speaks HTTP

One endpoint takes JSON, authenticated with a project key that can only append events. Batch up to a few hundred at a time. The key ships inside your application on purpose: the worst thing somebody can do with it is send you events you did not want.

The same payload everywhere

Both packages are tested against one shared fixture file, so a Laravel application and a Stacks application send byte-identical payloads for the same event. Sampling uses the same hash of the same subject in both languages, which is what makes a funnel comparable across services written in different stacks.

Rejections are counted, never silent

An event refused by validation is refused with a machine-readable reason and counted, so the number in your usage meter and the number in the database always have the same explanation. Silently dropping a malformed event is how a report ends up quietly wrong for a month.

Start with one endpoint

You can be sending events in a minute with curl, and swap to the package for your framework later. The payload contract is the same either way.

Start free