track() accepts known Bily event names and your own non-empty string names. Use custom events for meaningful application outcomes that are not covered by the ecommerce catalog.
Name events consistently
Use stable snake_case names for application events:user_signed_inworkspace_createdintegration_connectedcontacts_importedcampaign_launchedbilling_checkout_startedbilling_checkout_completedproduct_error_encountered
Track successful outcomes
workspace.ts
campaign.ts
Add your own event ID
The SDK createsevent_id and ts values when you omit them. Provide your own stable event ID when the same business outcome can be reported by more than one system.
event_id for one logical outcome. Do not reuse it for later outcomes.
Calls before loading
You can calltrack() immediately after init(). The SDK retains calls while Bily loads and delivers them in order when ready.