Overview
Cryptique’s data model is designed to solve the unique challenges of Web3 analytics by unifying three types of data into cohesive user profiles:Core Concepts
Events
Events are discrete actions that users take. They form the foundation of behavioral analytics.- Auto-events: Captured when enabled (
page_view,element_click,page_scroll,page_summary, etc.) — see Auto-Events - Custom events: Tracked via
Cryptique.track() - Transaction events: Generated from indexed smart contracts
User Profiles
User profiles aggregate all activity for a single user, identified bydistinct_id.
- identify(): Explicitly set user properties
- people methods: Set, increment, append properties
- Wallet enrichment: Automatically added from blockchain data
- Computed: Derived from event history
Groups
Users can belong to groups (companies, workspaces, teams) under a string group key and one or more group IDs. Membership is updated withCryptique.set_group / add_group / remove_group. Properties on the group itself (not the person) are updated via Cryptique.get_group(key, id).set(...). Group fields are merged into event custom_properties when events are sent. See Groups.
Transactions
On-chain transactions from your indexed smart contracts.Data Linking
The power of Cryptique is in automatically linking these data types:distinct_id ↔ wallet_address
When a user connects their wallet:wallet_address ↔ Transactions
Once a wallet is linked, all transactions from that wallet are attributed to the user:Multiple Wallets
Users can connect multiple wallets:Property Types
Cryptique supports these property data types:| Type | Example | Operators |
|---|---|---|
| String | "ethereum" | is, is_not, contains, is_set |
| Number | 1500.50 | equals, greater_than, less_than, between |
| Boolean | true | is_true, is_false |
| Date/Datetime | "2024-01-15" | before, after, between, in_the_last |
| List | ["ETH", "USDC"] | any_in_list, all_in_list + item operators |
| Object | {name: "...", value: 100} | Nested property access |
Sessions
Sessions group user activity with these rules:- Timeout: 30 minutes of inactivity starts a new session
- Midnight: New session at midnight (user’s local time)
- UTM change: New campaign parameters start a new session
Data Flow
- Collection: SDK sends events; indexer captures transactions
- Processing: CQ Intelligence links wallets to users
- Enrichment: Wallet data adds profile properties
- Storage: Unified profiles stored for analysis
- Query: Reports access complete user journeys
Next Steps
Events & Properties
Deep dive into event structure
User Profiles
Understand profile management
Transactions
On-chain data integration
Default Properties
Auto-captured properties