Conversions

Turn a visit into a tracked outcome.

Fire a conversion with a single ghost() call, attach a value, and tie it back to the campaign that earned it. No tag manager, no extra pageview.

Track a signup conversion
// anywhere in your app, on the event that matters
ghost('signup', {
  plan: 'pro',
  value: 19,
})

// campaigns are matched automatically from the
// utm_* parameters already on the landing URL

How it works

01

Define what counts

A goal is any event you care about: a signup, a purchase, a demo request, a plan upgrade.

02

Fire it in one line

Call ghost() with a name and optional value on the moment it happens. It piggybacks on the same first-party endpoint.

03

Attribute it back

The conversion is joined to the session and its campaign, so you see which source actually produced revenue.

One line
A single ghost() call records a conversion, with an optional monetary value.
Attributed
Every goal ties back to its channel, campaign, and landing page.
No tag manager
No third-party container to load, configure, or keep in sync.

Your numbers. Your visitors' privacy. Both intact.