# Sending Events
Track contact actions and behavior by sending events to Positive User. Events require an identified contact - call ping() first if you haven't done so yet. See Contact Data.
# Event types
| Type | When to use |
|---|---|
| Custom events | Anything specific to your app - button taps, feature usage, form submissions |
| Product events | E-commerce actions - add to cart, purchase, view, refund, and more |
| Screen events | Screen visits and navigation |
# Event attribute types
All event methods accept a params dictionary. Supported value types:
| Type | Example |
|---|---|
String | "checkout" |
Int | 3 |
Double | 49.99 |
Bool | true |
| ISO 8601 date string | "2024-09-28T12:51:33.137Z" |
The SDK automatically attaches the contact identifier and a timestamp to every event.