Events & goals

Read the raw stream of everything visitors do - autocaptured pageviews and clicks plus your own custom events - and mark the ones that count as goals.

The Events report is the raw feed of everything your visitors do - each event stamped with who fired it, when, and its properties. Some events OakData captures for you; the important ones you send yourself.

signup_completedSam Rivera · /welcome2m
$pageviewAmber Panda · /pricing5m
$autocaptureclick · button.cta5m
checkout_startedSam Rivera · $498m
Your custom events
The event stream. Autocaptured events sit next to your own custom events.

What OakData captures for you

Out of the box the SDK records $pageview on every navigation, and autocapture events for clicks and form submits - no code required. Web vitals and uncaught errors come in as events too.

Sending your own events

Track the moments that matter to your business with capture, adding any properties you want to slice by later:

capture
ts
oak.capture('signup_completed', { plan: 'pro' })
oak.capture('checkout_started', { value: 49, currency: 'USD' })

For buttons and links you can skip the JavaScript and tag the element declaratively:

declarative
html
<button data-oak-event="cta_clicked" data-oak-prop-location="hero">
  Get started
</button>

Goals are just events you care about

Any event can be marked as a goal. Goals get pulled out of the noise, counted on your overview, and become the endpoints you build funnels toward.

Reading the stream

Filters narrow the feed the same way they narrow every report - to one person, one event name, or one segment. Click any event to expand its full property payload. See events & properties for how events are structured and enriched.

Where to next