Skip to Content
DocsReferenceWell-Known Events

Well-Known Events

Well-known events are the predefined event names that Pug recognizes, with typed property schemas enforced at ingestion. Both SDKs expose them as Pug.track.<event>(props) — the call is compile-time checked, so passing an unknown property or the wrong type is a type error before the event leaves the device.

Custom event names (any snake_case string other than a pug.-prefixed kind) are accepted without schema validation. See Events API for the pug. prefix restriction and validation error format.

Further reading: Tracking events — sending custom and well-known events from each SDK

Commerce

Product browsing, cart, checkout, and purchase events. price is a single-item price; amount is a transaction total. currency is an uppercase ISO 4217 code (e.g. USD, EUR). Money fields use the major currency unit (e.g. dollars, not cents).

EventPropertiesDescription
product_viewedproduct_id* string, product_name string, category string, brand string, sku string, price double, currency stringUser viewed a product detail page
product_list_viewedlist_id* string, list_name string, category string, item_count intUser viewed a product listing, category, or search-results page
add_to_cartproduct_id* string, price double, currency string, cart_id string, quantity int, category string, brand string, sku stringItem added to cart
remove_from_cartproduct_id* string, price double, currency string, cart_id string, quantity int, category string, brand string, sku stringItem removed from cart
cart_viewedcart_id string, item_count int, amount double, currency stringUser opened the cart
wishlist_addedproduct_id* string, wishlist_id string, price double, currency stringItem added to wishlist
wishlist_removedproduct_id* string, wishlist_id stringItem removed from wishlist
coupon_appliedcoupon_id* string, coupon_code string, cart_id string, discount_amount double, currency stringCoupon applied to cart
coupon_removedcoupon_id* string, coupon_code string, cart_id string, reason stringCoupon removed from cart
checkout_startedproduct_id string, amount double, currency string, cart_id string, checkout_id string, item_count intUser initiated checkout
checkout_step_completedcheckout_id* string, step* string, step_index intA checkout step was completed
purchaseproduct_id string, amount double, currency string, order_id string, quantity int, category string, brand string, sku stringOrder completed (fires once per successful order after payment is confirmed)
order_refundedorder_id* string, amount double, currency string, reason stringOrder was refunded

Authentication

Sign-up, sign-in, sign-out, email verification, password reset, and MFA lifecycle. All auth events have no required properties beyond the event kind; common method values are "email", "google", "github", "totp", "sms", "webauthn", "backup_codes".

EventPropertiesDescription
signupUser completed registration
signinUser signed in
signoutUser signed out
email_verifiedEmail address was verified
password_reset_requestedPassword reset was requested
password_reset_completedPassword reset flow completed
mfa_enabledmethod stringMFA was enabled
mfa_disabledmethod stringMFA was disabled

App Lifecycle

Native mobile lifecycle events from the Flutter SDK (iOS and Android) — the Web SDK does not emit these. The SDK auto-emits only app_open and app_close (plus screen_view for navigation); the rest are typed events you track manually.

EventPropertiesDescription
app_openApp launched or brought to the foreground
app_closeApp moved to the background or closed
app_installapp_version string, install_source stringFirst launch after a fresh install
app_updateapp_version* string, previous_version stringFirst launch after an app update
app_backgroundedApp moved to the background
app_foregroundedApp returned to the foreground
app_crashederror_message string, error_type stringUnhandled crash (also available on desktop)
screen_viewscreen_name* string, screen_class stringA native screen was viewed — the mobile equivalent of page_view

App Usage

Cross-platform — available in every SDK.

EventPropertiesDescription
feature_usedfeature_id* string, feature_name stringA named feature was used

Billing

Subscription, invoice, payment, trial, and refund lifecycle. currency is an uppercase ISO 4217 code; amount is the transaction total in the major currency unit.

EventPropertiesDescription
subscription_startedsubscription_id* string, plan_id string, amount double, currency stringNew subscription was created
subscription_changedsubscription_id* string, previous_plan_id string, new_plan_id stringSubscription plan was changed
subscription_canceledsubscription_id* string, plan_id string, reason stringSubscription was canceled
subscription_renewedsubscription_id* string, plan_id string, amount double, currency stringSubscription renewed
subscription_pausedsubscription_id* string, plan_id string, reason stringSubscription was paused
subscription_resumedsubscription_id* string, plan_id string, reason stringPaused subscription was resumed
subscription_trial_will_endsubscription_id* string, plan_id string, trial_id stringTrial is nearing expiry (fires in advance, e.g. 3 days before)
trial_startedtrial_id string, plan_id stringFree trial started
trial_convertedtrial_id string, subscription_id string, plan_id stringTrial converted to paid subscription
invoice_paidinvoice_id* string, subscription_id string, amount double, currency stringInvoice was paid
invoice_failedinvoice_id* string, subscription_id string, amount double, currency string, reason stringInvoice payment failed
payment_succeededpayment_id string, invoice_id string, subscription_id string, amount double, currency stringPayment succeeded
payment_failedpayment_id string, invoice_id string, subscription_id string, amount double, currency string, reason stringPayment failed
payment_method_addedpayment_method_id string, payment_method_type stringPayment method was added
payment_method_removedpayment_method_id string, payment_method_type stringPayment method was removed
refund_failedorder_id* string, refund_id string, amount double, currency string, reason stringRefund attempt failed

Chat

Conversation lifecycle, message delivery, membership, calls, attachments, and reactions. conversation_id is the durable chat identifier. member_id is the conversation-membership ID, not the SDK distinct_id. Common values: conversation_type"dm", "group", "channel", "broadcast"; message_type"text", "image", "video", "audio", "file", "system". duration-typed props (e.g. mute_duration) serialize as { "seconds": N, "nanos": N } — see Notes.

EventPropertiesDescription
chat_createdconversation_id* string, conversation_type string, participant_count intConversation was created
chat_joinedconversation_id* string, conversation_type stringUser joined a conversation
chat_leftconversation_id* string, conversation_type string, reason stringUser left a conversation
chat_deletedconversation_id* string, conversation_type string, reason stringConversation was deleted
chat_archivedconversation_id* string, conversation_type stringConversation was archived
chat_unarchivedconversation_id* string, conversation_type stringConversation was unarchived
chat_member_addedconversation_id* string, member_id* string, role stringMember was added to a conversation
chat_member_removedconversation_id* string, member_id* string, reason stringMember was removed from a conversation
chat_member_role_changedconversation_id* string, member_id* string, previous_role string, new_role* stringMember’s role was changed
chat_member_mutedconversation_id* string, member_id* string, mute_duration durationMember was muted (duration omitted for indefinite mutes)
chat_user_blockeduser_id* stringUser was blocked (not conversation-scoped)
chat_message_sentconversation_id* string, message_id string, conversation_type string, message_type string, character_count int, attachment_count int, thread_id string, parent_message_id stringMessage was sent
chat_message_receivedconversation_id* string, message_id string, conversation_type string, message_type string, character_count int, attachment_count int, thread_id string, parent_message_id stringMessage was received
chat_message_failedconversation_id* string, message_id string, conversation_type string, reason* string, thread_id stringMessage send failed
chat_message_readconversation_id* string, message_id string, conversation_type string, thread_id stringMessage was read
chat_message_deletedconversation_id* string, message_id string, conversation_type string, reason string, thread_id stringMessage was deleted
chat_message_editedconversation_id* string, message_id string, conversation_type string, thread_id stringMessage was edited
chat_message_pinnedconversation_id* string, message_id string, conversation_type string, thread_id stringMessage was pinned
chat_message_unpinnedconversation_id* string, message_id string, conversation_type string, thread_id stringMessage was unpinned
chat_typing_startedconversation_id* string, conversation_type stringUser started typing (typer is the SDK distinct_id)
chat_typing_stoppedconversation_id* string, conversation_type stringUser stopped typing
chat_attachment_uploadedconversation_id* string, message_id string, attachment_id* string, attachment_type string, size_bytes int64, thread_id stringAttachment uploaded in chat
chat_attachment_downloadedconversation_id* string, message_id string, attachment_id* string, attachment_type string, size_bytes int64, thread_id stringAttachment downloaded from chat
chat_call_startedconversation_id* string, call_id* string, call_type stringCall was started
chat_call_joinedconversation_id* string, call_id* string, call_type stringUser joined a call
chat_call_leftconversation_id* string, call_id* string, call_type string, duration durationUser left a call
chat_call_screen_sharedconversation_id* string, call_id* stringScreen sharing started on a call
chat_call_recording_startedconversation_id* string, call_id* stringCall recording started
chat_reaction_addedconversation_id* string, message_id string, reaction* string, thread_id stringReaction added to a message
chat_reaction_removedconversation_id* string, message_id string, reaction* string, thread_id stringReaction removed from a message

Search queries, results, recommendations, filters, and sorting. These events capture how users explore and find content.

EventPropertiesDescription
searchquery* stringSearch query submitted
search_result_clickedquery* string, result_id* string, index intUser clicked a search result
recommendation_viewedrecommendation_id* string, item_id string, source string, index intRecommendation impression
recommendation_clickedrecommendation_id* string, item_id* string, source string, index intUser clicked a recommendation
filter_appliedkey* string, value stringFilter was applied
sort_changedkey* string, direction stringSort order was changed

Error

Application errors and exceptions. (PII) marks fields handled under the project’s scrubbing and data-residency rules (see Notes).

EventPropertiesDescription
error_occurrederror_code* string, message string (PII), severity string, unhandled bool, stack string (PII)An error was caught or escaped to a global handler. Common severity values: "info", "warning", "error", "fatal". Set unhandled: true when the error escaped application code

File

File upload, download, and export events.

EventPropertiesDescription
file_uploadedfile_id* string, file_name string (PII), file_type string, size_bytes int64File was uploaded
file_downloadedfile_id* string, file_name string (PII), file_type string, size_bytes int64File was downloaded
export_startedexport_id* string, export_type stringData export was initiated
export_completedexport_id* string, export_type string, size_bytes int64Data export completed

Form

Form interaction start and submission.

EventPropertiesDescription
form_startform_id* string, form_name stringUser began filling in a form
form_submitform_id* string, form_name string, action stringForm was submitted

Integration

Third-party integration connect and disconnect. Common integration_type values: "slack", "github", "linear", "salesforce", "hubspot", "zapier", "webhook".

EventPropertiesDescription
integration_connectedintegration_id string, integration_type* stringIntegration was connected
integration_disconnectedintegration_id string, integration_type* string, reason stringIntegration was disconnected

Invitation

Workspace invitation sent and accepted.

EventPropertiesDescription
invite_sentinvite_id string, workspace_id string, inviter_id string, invitee_id string, invitee_email string (PII), role stringInvitation was sent
invite_acceptedinvite_id string, workspace_id string, inviter_id string, invitee_id string, invitee_email string (PII), role stringInvitation was accepted

Media

Video and audio playback events. video_started / audio_started fire on first play of a session; video_play / audio_play fire on resume from pause. position, from_position, and to_position are durations from the start of the media.

EventPropertiesDescription
video_startedvideo_id* stringVideo playback started for the first time in this session
video_playvideo_id* string, position durationVideo resumed from pause
video_pausevideo_id* string, position durationVideo was paused
video_seekedvideo_id* string, from_position duration, to_position durationUser seeked in video
video_completedvideo_id* stringVideo playback reached the end
audio_startedaudio_id* stringAudio playback started for the first time in this session
audio_playaudio_id* string, position durationAudio resumed from pause
audio_pauseaudio_id* string, position durationAudio was paused
audio_seekedaudio_id* string, from_position duration, to_position durationUser seeked in audio
audio_completedaudio_id* stringAudio playback reached the end

Page views, clicks, scroll depth, and frustration signals. Page URL, title, referrer, and UTM parameters are provided as auto-properties ($url, $pageTitle, $referrer, $utmSource/$utmMedium/$utmCampaign/…) on every event — they do not appear as typed properties here.

EventPropertiesDescription
page_viewWeb page navigation or SPA route change (auto-tracked by Web SDK)
clickclass string, id string, tag string, text string, x int, y intElement click — Web only
rage_clickclick_count int (≥2), element string, x int, y intMultiple rapid clicks on the same non-responsive target — Web only
dead_clickelement string, text string, x int, y intClick with no observable response — Web only
scrollpercent int (0–100), scroll_y intScroll depth milestone — Web and mobile

Notification

Notification receipt, click, and dismissal. notification_type describes the delivery channel: "push", "email", "in_app", "sms".

EventPropertiesDescription
notification_receivedcampaign_id* string, notification_type stringNotification was received by the client
notification_clickedcampaign_id* string, notification_type stringUser clicked a notification
notification_dismissedcampaign_id* string, notification_type stringUser dismissed a notification

Social

EventPropertiesDescription
shareUser shared content

Support

Feedback, NPS, surveys, support tickets, live chat, and help articles.

EventPropertiesDescription
feedback_submittedfeedback_id string, category string, comment string (PII)Feedback was submitted
nps_submittedscore int (0–10), comment string (PII)NPS score was submitted
survey_startedsurvey_id* stringSurvey was started
survey_completedsurvey_id* string, question_count intSurvey was completed
support_ticket_createdticket_id* string, category string, priority stringSupport ticket was opened
support_ticket_resolvedticket_id* string, resolution string (PII)Support ticket was resolved
support_chat_startedconversation_id* string, topic string (PII)Support chat session started
help_article_viewedarticle_id* string, article_title string, category stringHelp article was viewed

Workspace

Workspace creation, membership, role changes, and settings.

EventPropertiesDescription
workspace_createdworkspace_id* string, workspace_name stringWorkspace was created
workspace_joinedworkspace_id* string, role stringUser joined a workspace
workspace_deletedworkspace_id* string, reason stringWorkspace was deleted
workspace_role_changedworkspace_id* string, member_id* string, previous_role string, new_role* stringMember’s workspace role was changed
workspace_settings_updatedworkspace_id* string, setting* stringA workspace setting was changed

API

API key management events.

EventPropertiesDescription
api_key_createdapi_key_id string, name string, scope stringAPI key was created
api_key_revokedapi_key_id string, name string, reason stringAPI key was revoked

Notes

Required props are marked with * — the API returns invalid_argument if a required property is missing or the wrong type. Optional props may be omitted.

PII-tagged props are labelled (PII) above. Fields tagged PII in the schema are subject to the project’s data-residency and scrubbing rules.

duration type — duration properties (e.g. position, mute_duration, duration) are serialized as a JSON object { "seconds": N, "nanos": N }.

pug. prefix is reserved — custom event kind strings must not start with pug.. The API rejects any custom event whose kind begins with that prefix. See Events API.

Web vs Flutter — the Web SDK exposes all events listed here except the mobile app lifecycle events (app_open, app_close, app_install, app_update, app_backgrounded, app_foregrounded, app_crashed, screen_view). The Flutter SDK includes those and drops the DOM-interaction events (click, rage_click, dead_click). Its navigation event is screen_view on mobile; on web targets Flutter emits page_view instead.

Last updated on