Custom events and properties

The callback receives { status } when the request finishes.

Send an event from JavaScript:

plausible('Signup')

Attach properties and a callback:

plausible('Signup', {
  props: { plan: 'pro' },
  callback: () => { location.href = '/welcome' },
})

The callback receives { status } when the request finishes.

Before the script has loaded#

The defer script defines window.plausible when it runs. To queue events before that, add this stub:

<script>window.plausible = window.plausible || function () { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>

Limits#

What Limit
Event name 120 characters
Properties per event 30
Property name 120 characters
Property value 500 characters
Page path 500 characters

Property values are stored as text. Booleans become true and false.

See the results#

  1. Create a goal for the event name.
  2. Open Behaviors → Goals for conversions.
  3. Open Behaviors → Properties to break an event down by its properties.

Don't put personal data in event names or properties. Tidemark stores exactly what you send.

Was this article helpful?
Last updated 10 Nov 2026
Powered by Tidemark Billing