How it works: When a user completes a question action with data hydration enabled, Nudj stores the answer as structured custom data on the user’s profile, then asynchronously syncs it to any connected external platforms.
Two-Layer Architecture
Customer Data Hydration operates in two layers. The first layer is always active when hydration is enabled. The second layer activates only when a platform sync is configured.Layer 1: Generic Custom Data
Always active when enabledStores resolved answers on the user’s community profile as structured key-value data. Available immediately for use within Nudj — segmentation, personalization, and reporting.
Layer 2: Platform Sync
Optional, per-platformAsynchronously syncs the same data to external platforms (e.g., Shopify customer metafields). Non-blocking — the user’s participation flow is never delayed by external sync.
Data Flow
User Answers a Question
A user completes a question action (multiple choice, open-ended, rating, date selection, etc.) within a challenge.
Answer is Resolved
Nudj resolves the raw answer into a human-readable value. For choice-based questions, option IDs are mapped to their labels. For typed questions, the value is coerced to the configured data type (text, integer, decimal, boolean, or date).
Custom Data is Stored
The resolved value is written to the user’s community profile under a configurable field key. A schema definition is also tracked to ensure type consistency across actions sharing the same key.
Supported Action Types
Data hydration works with any question-type action. The system automatically extracts the appropriate value based on the action type:| Action Type | Extracted Value |
|---|---|
| Multiple Choice | Selected option label(s) |
| Select from List | Selected option label(s) |
| Select from Images | Selected option label(s) |
| Vote | Voted option label |
| Open Ended | Free-text answer |
| Rate Your Experience | Numeric rating |
| Select Value in Range | Selected numeric value |
| Select Date | Date in ISO format |
| Single Fixed Answer | The fixed answer text |
| Secret Access Code | The entered code |
Data Types
Each hydrated field has a configured data type that determines how values are stored and validated:| Type | Description | Example |
|---|---|---|
| Text | Free-form string | "Blue", "New York" |
| Integer | Whole number | 42, 7 |
| Decimal | Decimal number | 4.5, 9.99 |
| Boolean | True/false | true, false |
| Date | ISO date string | "2025-03-15" |
Multi-Select Handling
For question actions where users can select multiple options, two storage modes are available:- Comma Separated
- Boolean Expansion
All selected labels are joined into a single text value.Field key:
favorite_colors
Stored value: "Red, Blue, Green"Best for: simple reporting, unlimited options, text-based platforms.Platform Integrations
Shopify
Sync customer data to Shopify metafields for native customer segmentation and personalization.Status: Available now
More Coming Soon
Additional platform integrations (Adobe CDP, HubSpot, etc.) are on the roadmap.Status: Planned
Key Concepts
Field Key
Field Key
A unique identifier for each data field (e.g.,
favorite_color, shirt_size). Must be 2-64 characters, start with a lowercase letter, and contain only lowercase letters, numbers, and underscores. Auto-suggested from the question text but fully customizable.Immutability After Sync
Immutability After Sync
Once data has been synced to an external platform, certain configuration fields become locked: the field key, data type, multi-select mode, and choices override. This prevents breaking existing data on the external platform. Display name, description, and platform-specific settings like pinning can still be updated.
Non-Blocking Participation
Non-Blocking Participation
External platform sync is always asynchronous. If Shopify is down or a sync fails, the user’s challenge participation still succeeds. Failed syncs are automatically retried by the queue system.
Schema Consistency
Schema Consistency
If two actions share the same field key, they must use the same data type. Nudj tracks field definitions per community and rejects conflicting type assignments. This ensures data integrity across your entire question library.
Next Steps
Configure Data Hydration
Learn how to enable and configure data hydration on your question actions in the admin panel.
Shopify Integration
Set up Shopify customer metafield sync for native segmentation in your Shopify store.

