Events
Events track user actions in your product. Use them to trigger messages, measure engagement, and build behavior-based targeting rules.
What are Events?
Events are actions users take in your app:
Signed up
Created a project
Invited a team member
Exported data
Completed onboarding
Used a specific feature
Each event is recorded with a timestamp and optional properties.
Why Use Events?
Behavior-Based Targeting
Show messages based on what users have (or haven't) done:
"Show onboarding checklist to users who haven't created a project"
"Show upgrade prompt after user exports 5+ times"
"Celebrate users who invite their first team member"
Automatic Checklist Completion
Complete checklist items when users take actions:
Item "Create your first project" completes when
project_createdevent firesItem "Invite a team member" completes on
team_member_invitedevent
User Insights
Understand user behavior:
See which events each contact has triggered
Track feature adoption
Identify power users
Event Structure
Each event has:
Key
Unique identifier (e.g., project_created)
Name
Display name (e.g., "Project Created")
Contact
The user who triggered it
Timestamp
When it occurred
Properties
Optional metadata (JSON)
Event Keys
Event keys are unique identifiers. Use consistent naming:
Good examples:
project_createdteam_member_invitedfile_exportedfeature_x_usedonboarding_completed
Naming conventions:
Use
snake_caseStart with a noun or verb
Be specific but concise
Keep consistent across your app
Event Properties
Add context to events with properties:
Properties are stored as JSON and can be viewed in the dashboard.
How Events are Used
In Targeting Rules
Target users based on event history:
Has done an event:
Hasn't done an event:
Event count:
Recency:
In Checklist Completion
Auto-complete checklist items:
Create a checklist item
Set completion type to "Automatic"
Add rule: Event →
event_key→ Has Done
When the user triggers that event, the item auto-completes.
Events vs. Attributes: When to Use Which
For a complete comparison guide, see Attributes vs. Events.
This is a common question. Here's how to think about it:
The Core Difference
Question answered
"What did the user DO?"
"Who IS the user?"
Nature
Actions (happens multiple times)
States (current value)
Changes
Accumulates over time
Updates/replaces
Method
Cueflow.track()
Cueflow.init() / Cueflow.update()
Mental Model
Think of it this way:
Events = Verbs (created, clicked, completed, exported)
Attributes = Nouns/Adjectives (plan, role, company, teamSize)
Decision Guide
Use Events when:
The action can happen multiple times
You want to count occurrences ("exported 5 times")
You care about when it happened ("first done within 7 days")
You want to trigger something immediately when it happens
Use Attributes when:
It describes a current state that can change
You only care about the current value, not history
It's data about the user, not an action they took
Common Scenarios
User creates a project
Event: project_created
Action that can repeat
User's current plan
Attribute: plan: "pro"
Current state
User exports a file
Event: file_exported
Action that can repeat
User completes onboarding
Event: onboarding_completed
One-time action you want to track
User has completed onboarding
Attribute: onboardingComplete: true
Current state for targeting
User upgrades their plan
Event: plan_upgraded
Track the action
User is on Pro plan
Attribute: plan: "pro"
Current state
Using Both Together
Often you'll use both for the same action:
Why both?
Event lets you target "users who completed onboarding in the last 7 days"
Attribute lets you target "users who have completed onboarding" (simpler)
Targeting Implications
Event-based targeting:
Attribute-based targeting:
Quick Reference
User signs up
signup_completed
signedUpAt
User creates project
project_created
projectCount
User upgrades
plan_upgraded
plan
User invites member
team_member_invited
teamSize
User uses feature
feature_x_used
hasUsedFeatureX
Best Practices
Naming
Use consistent naming conventions
Document your event schema
Avoid generic names like "click" or "action"
Granularity
Track meaningful actions, not every click
Balance detail with noise
Focus on events useful for targeting
Properties
Include relevant context
Don't include sensitive data
Keep property names consistent
Planning
Define events before implementing
Create events in the dashboard for visibility
Review and clean up unused events
View Events in Dashboard
Go to Events to see all tracked events, their occurrence counts, and which contacts triggered them.
Example Event Schema
SaaS Product
signup_completed
Signup Completed
User completes registration
project_created
Project Created
User creates a new project
team_member_invited
Team Member Invited
User invites someone
file_uploaded
File Uploaded
User uploads a file
export_completed
Export Completed
User exports data
integration_connected
Integration Connected
User connects integration
feature_x_used
Feature X Used
User uses feature X
E-commerce
product_viewed
Product Viewed
User views a product
added_to_cart
Added to Cart
User adds item to cart
checkout_started
Checkout Started
User begins checkout
purchase_completed
Purchase Completed
User completes order
review_submitted
Review Submitted
User submits a review
Next Steps
Tracking Events - How to send events
Event-Based Targeting - Use events in rules
Last updated