Overview
A successful analytics implementation starts with understanding what questions you want to answer. This guide helps you plan which events, properties, and integrations will give you the insights you need.The Three Data Types
Cryptique unifies three types of data into complete user profiles:1. Events (Off-Chain Behavior)
Events are actions users take on your website or dApp:| Event Type | Examples | Why Track It |
|---|---|---|
| Page views | Landing page, docs, pricing | Understand content engagement |
| Feature usage | Button clicks, form submissions | Measure product adoption |
| Conversions | Signup, wallet connect, purchase | Track funnel progression |
| Engagement | Scroll depth, time on page, video plays | Assess content quality |
2. User Properties (Who They Are)
Properties describe your users:| Property Type | Examples | Why Track It |
|---|---|---|
| Identity | Email, username, user_id | Identify returning users |
| Demographics | Country, language, device | Segment by audience |
| Behavior | Plan type, signup date, referral source | Segment by lifecycle |
| Web3 | Connected wallets, primary chain | Segment by crypto profile |
3. Transactions (On-Chain Activity)
Blockchain transactions from your smart contracts:| Transaction Type | Examples | Why Track It |
|---|---|---|
| Token swaps | DEX trades, token purchases | Measure trading engagement |
| NFT actions | Mints, transfers, listings | Track collector behavior |
| DeFi operations | Staking, LP provision, borrowing | Measure protocol usage |
| Custom contracts | Game actions, governance votes | Track app-specific behavior |
Planning Your Implementation
Step 1: Define Your Key Questions
Start by listing the questions you want to answer:Acquisition Questions
Acquisition Questions
- Which channels drive the most wallet connections?
- What’s the conversion rate from landing page to first transaction?
- How does paid traffic compare to organic for on-chain conversions?
- Which content pieces lead to the highest-value users?
Activation Questions
Activation Questions
- What percentage of users who connect a wallet make a transaction?
- How long does it take from signup to first transaction?
- What actions predict successful activation?
- Where do users drop off in the onboarding flow?
Engagement Questions
Engagement Questions
- How often do active users transact?
- Which features correlate with higher transaction frequency?
- What’s the retention curve for new users?
- Are power users using the product differently?
Revenue Questions
Revenue Questions
- What’s the lifetime value by acquisition source?
- Which user segments generate the most protocol revenue?
- How does on-chain activity correlate with TVL?
- What predicts a user becoming a high-value trader?
Step 2: Map Questions to Events
For each question, identify what events you need: Question: “Which channels drive the most wallet connections?” Events needed:page_viewwith UTM properties (auto-captured when auto-events are on)wallet_connected(custom — callCryptique.track()after connect, alongsideCryptique.walletAddress())
utm_source,utm_medium,utm_campaign(auto-captured)wallet_address,wallet_type(auto-captured)
Question: “What’s the conversion rate from landing page to first transaction?” Events needed:
page_viewon landing page (auto-captured when auto-events are on)wallet_connected(custom event you fire when the user connects)- On-chain transaction (captured via smart contract indexing)
- Add your smart contract address in the dashboard
Step 3: Choose Your Auto-Events
Auto-events are off until you setauto-events="true" (or call Cryptique.enableAutoEvents()). The SDK emits many named events (clicks, scroll, forms, errors, performance, page_summary, etc.). Enable the bundle, then disable what you do not want:
| Auto-Event | Disable If… |
|---|---|
text_selection / copy_action | Clipboard or selection is sensitive |
rage_click / dead_click | You only want raw element_click |
page_performance | You already capture Web Vitals elsewhere |
js_error / network_error | You use another error pipeline (rare) |
Cryptique.walletAddress() and custom track() events rather than expecting wallet_connect auto events.
Step 4: Plan Custom Events
Beyond auto-events, track custom events for key actions:Step 5: Set Up Smart Contracts
Add your contracts to capture on-chain transactions:- Go to Settings → Smart Contracts in the dashboard
- Click Add Contract
- Enter:
- Contract address
- Chain (Ethereum, Polygon, Base, etc.)
- A friendly name (e.g., “Token Swap Contract”)
- Cryptique automatically indexes all transactions
- EVM: Ethereum, Polygon, Arbitrum, Optimism, Base, Avalanche, BSC, Fantom, and 20+ more
- Non-EVM: Solana, Sui, Aptos, Near, and more
Step 6: Configure Wallet Enrichment
Enable wallet enrichment to automatically add user properties:- Wallet age: When the wallet was first active
- Transaction count: Total transactions across chains
- Token holdings: Major tokens and NFTs held
- Activity patterns: Trading frequency, DeFi usage
Event Naming Conventions
Use consistentsnake_case naming:
- ✅ Good
- ❌ Avoid
- Use
snake_case:token_amount,wallet_type,referral_source - Be specific:
input_tokennot justtoken - Include units where relevant:
amount_usd,duration_seconds
Recommended Events by Category
DeFi Protocol
NFT Marketplace
Web3 Game
Implementation Checklist
Next Steps
Quickstart
Get tracking in 5 minutes
Installation
Detailed installation options