# JavaScript SDK

After the script loads, use `window.eventDash`. Use `trackGoal()` for conversions. `track()` is a custom event (all plans). Trusted revenue uses `POST /api/server/events` with an `eds_` key.

```javascript
window.eventDash.trackGoal('signup', { plan: 'pro', source: 'pricing_page' })
window.eventDash.trackPageView('/custom-page', 'Custom Page Title') // optional virtual page
window.eventDash.identify('user-123') // opaque id, no email
window.eventDash.trackError(error, { context: 'payment_processing' })
await window.eventDash.flush()
```

Queue before the SDK loads:

```html
<script>
  window.eventdash = window.eventdash || function() {
    window.eventdash.q = window.eventdash.q || [];
    window.eventdash.q.push(arguments);
  };
</script>
```

Then `window.eventdash('signup', { plan: 'pro' })`.

Methods: `trackGoal`, `track`, `trackPageView`, `identify`, `trackError`, `flush`.
