Skip to main content

Overview

This page defines the core vocabulary used throughout Cryptique’s documentation. Where relevant, each term is mapped to its equivalent in Mixpanel or Amplitude.

distinct_id

The primary identifier for a user in Cryptique. Every user — anonymous or identified — has one.
  • Anonymous users: Cryptique auto-generates a distinct_id (e.g. anon_abc123xyz) on first visit, stored in a first-party cookie (cq_distinct_id).
  • Identified users: When you call Cryptique.identify('your_id'), the anonymous distinct_id is replaced with the ID you supply (typically your database user ID or UUID).
distinct_id is always developer-controlled after identification — Cryptique never reassigns it.
ToolEquivalent term
Mixpaneldistinct_id
Amplitudeuser_id / device_id

user_identity_id

An internal UUID assigned by Cryptique to each profile record. Unlike distinct_id (which you control), user_identity_id is system-generated and stable across merges. You will see it in raw data exports; you do not need to set or reference it in your SDK calls.

identify()

The SDK method that links an anonymous session to a known user. Call it once per session, at login or signup.
Cryptique.identify('user_db_id_12345');
Merge behavior:
  • If the ID has never been seen: the current anonymous profile is converted to an identified profile.
  • If the ID has been seen on the same device: sessions merge seamlessly.
  • If the ID has been seen on a different device or session: the CQ Intelligence merge engine unifies the profiles automatically.
ToolEquivalent
Mixpanelmixpanel.identify()
Amplitudeamplitude.setUserId()

CQ Intelligence merge engine

Cryptique’s internal system for unifying profiles that belong to the same real user across devices, sessions, and wallets. Merge is triggered when:
  • The same identify() ID is called across two different sessions or devices.
  • The same wallet address is connected on two different profiles.
When a merge occurs, event history, profile properties, and wallet links from both profiles are combined into a single unified profile. The merge is automatic — no SDK calls required beyond standard identify() and walletAddress() usage.

auto-events

Behavioral events the SDK sends without Cryptique.track(), using the same pipeline as custom events. They are off unless you set auto-events="true" on the script tag or call Cryptique.enableAutoEvents(). Examples of event names (not exhaustive):
EventWhat triggers it
page_viewPage load / route
element_clickClicks
rage_click / dead_clickFrustration / non-interactive patterns
page_scrollScroll depth increases
form_submitForm submit (metadata only)
form_validation_error / form_abandonedValidation and abandon signals
media_play / media_pauseVideo/audio
text_selection / copy_actionSelection and copy
js_error / network_errorClient errors
page_performancePerformance summary after load
exit_intent / page_summaryExit and page-level aggregates
Disable names or paths via script attributes or Cryptique.disableAutoEvent(). See Auto-Events.
ToolEquivalent
MixpanelAutocapture (select plans)
AmplitudeAutocapture / Session Replay

groups

Group membership ties the current user to entities you label with a group key (e.g. company) and group ID (e.g. acme-inc). Group profiles store properties for that pair.
SDKRole
Cryptique.set_group(key, id) / add_group / remove_groupMembership
Cryptique.get_group(key, id).set({...})Group profile (like people.set for the group)
There is no Cryptique.group namespace — APIs are on the root object. See Groups.
ToolEquivalent
MixpanelGroup Analytics
AmplitudeGroups

wallet enrichment

The automatic process by which Cryptique adds on-chain properties to a user profile once a wallet address is linked. No extra SDK calls are needed. Properties added automatically:
PropertyDescription
wallet_age_daysDays since the wallet’s first on-chain transaction
total_transaction_countAll transactions across supported chains
net_worth_usdApproximate portfolio value across chains
eth_balance (and per-chain equivalents)Native token balance per chain
dapps_useddApps the wallet has interacted with
is_whaleDerived boolean based on net worth
Enrichment covers all 35+ chains supported by Cryptique. There is no equivalent concept in Mixpanel or Amplitude (off-chain-only tools).

people methods

The Cryptique.people.* namespace contains methods for setting and managing persistent user profile properties. Unlike event properties (which are attached to a single event), people properties are stored on the profile and persist across sessions.
MethodWhat it does
people.set()Set properties (overwrites existing values)
people.set_once()Set only if the property doesn’t already exist
people.increment()Add to a numeric property
people.append()Add to a list property (allows duplicates)
people.union()Add to a list property (no duplicates)
people.remove()Remove a value from a list property
people.unset()Delete a property from the profile
people.deleteUser()Permanently delete the entire profile
people.trackCharge()Record a revenue event on the profile
See the People SDK Reference for full usage.
ToolEquivalent
Mixpanelmixpanel.people.set() etc.
Amplitudeamplitude.identify() with Identify object

trackCharge()

Records a revenue or payment event against a user profile. Useful for tracking subscription payments, NFT purchases, or any monetization event.
Cryptique.people.trackCharge(49.99, {
  plan: 'pro',
  currency: 'USD'
});
ToolEquivalent
Mixpanelmixpanel.people.track_charge()
AmplitudeRevenue event via Revenue object

transactions

On-chain events generated from your indexed smart contracts. Unlike behavioral events (which you track via the SDK), transactions are captured automatically once you add a contract in Settings → Contracts. Transactions are linked to user profiles via the wallet address — if the wallet that executed a transaction is connected to a Cryptique profile, the transaction appears in that profile’s timeline. See Transactions for details.

session

A period of continuous activity by a user. A new session begins when:
  • A user visits the site for the first time.
  • More than 30 minutes have elapsed since their last event.
Sessions are tracked via the cq_session_id first-party cookie (30-minute expiry).
ToolEquivalent
MixpanelSession (same concept)
AmplitudeSession (same concept)

Next Steps

User Profile Data Model

How profiles are structured

Implementation Guide

End-to-end implementation patterns