Define custom attributes like points, levels, and badges to track user progress and engagement.
Attributes are the foundation of gamification in goldrush. They represent measurable values that you can associate with your users, such as points earned, level achieved, or badges collected.
What are Attributes?
An attribute is a custom data field that goldrush stores for each user in your connected userbase. Unlike your external user data, attributes are managed entirely within goldrush and can be updated via our dashboard or API.
🏆 Points
Track engagement and activity
📊 Level
Show user progression
🔥 Streak
Encourage daily habits
🎯 Score
Measure performance
Creating an Attribute
To create a new attribute, navigate to the Attributes section in your goldrush dashboard and click “Add Attribute”.
Attribute Configuration
Each attribute requires the following information:
Field | Description | Example |
---|---|---|
UID | Unique identifier used in API calls. Must be lowercase, no spaces. | points , user_level , daily_streak |
Title | Human-friendly name displayed in the dashboard. | “Points”, “User Level”, “Daily Streak” |
Type | Data type for the attribute (Number for MVP). | Number |
Default | Starting value when a user is first added to the system. | 0, 1, 100 |
Minimum | Lowest value a user can reach (optional). | 0, -100, 1 |
Maximum | Highest value a user can reach (optional). | 10000, 100, 365 |
Example: Creating a Points Attribute
Let’s walk through creating a points system:
UID: points
Title: Points
Type: Number
Default: 0
Minimum: 0
Maximum: (leave blank for unlimited)
Naming Convention: Use descriptive UIDs like engagement_points
or loyalty_score
rather than generic names like attr1
. This makes your API calls more readable.
Attribute Types
For the MVP, goldrush supports Number attributes only. Future versions will include:
- String: Text values like badge names or status labels
- Date: Timestamps for achievements or milestones
- Boolean: True/false flags for feature unlocks
Working with Defaults and Limits
Default Values
When a new user appears in your connected data source, they automatically receive the default value for all existing attributes. Choose defaults wisely:
- Points/Scores: Usually start at 0
- Levels: Typically start at 1 (not 0)
- Streaks: Start at 0 until first action
- Multipliers: Often start at 1.0
Minimum and Maximum Values
Setting limits helps prevent data integrity issues and provides guardrails for your gamification system:
Scenario | Minimum | Maximum | Reasoning |
---|---|---|---|
User Points | 0 | None | Points can’t go negative, no upper limit |
User Level | 1 | 100 | Levels start at 1, cap at reasonable maximum |
Daily Streak | 0 | 365 | Streaks reset to 0, max one year |
Health Score | 0 | 100 | Percentage-based scoring system |
Viewing Attributes in Your Dashboard
Once created, attributes appear in several places:
Attributes List
The main Attributes screen shows all your created attributes with their configuration details.
User Table
In the Connections section, attributes appear as additional columns in your user table:
user_id | points | level | streak | badges
usr_001 | 150 | 3 | 7 | 2
usr_002 | 89 | 2 | 1 | 1
usr_003 | 234 | 4 | 12 | 5
Sortable Columns
Click any attribute column header to sort users by that value:
- First click: Sort high to low
- Second click: Sort low to high
- Third click: Return to original order
Updating Attribute Values
There are two ways to update attribute values for your users:
Via API (Recommended)
Use our REST API to update attributes programmatically from your application:
POST /api/v1/users/{user_id}/attributes
{
"points": "+10",
"streak": 5,
"level": "=2"
}
Learn more about updating attributes via API in our Attributes API Reference.
Via Dashboard (Manual)
For testing or manual adjustments, you can update values directly in the user table by clicking on cells (coming in future updates).
Common Attribute Patterns
Points System
UID: engagement_points
Title: Engagement Points
Default: 0
Minimum: 0
Maximum: (unlimited)
Level Progression
UID: user_level
Title: User Level
Default: 1
Minimum: 1
Maximum: 50
Daily Streak
UID: daily_streak
Title: Daily Login Streak
Default: 0
Minimum: 0
Maximum: 365
Badge Count
UID: badges_earned
Title: Badges Earned
Default: 0
Minimum: 0
Maximum: 100
Best Practices
- Descriptive UIDs: Use clear, descriptive identifiers like
weekly_points
rather thanwp
- Consistent Naming: Establish naming conventions (e.g., always use underscores, consistent verb tenses)
- Reasonable Defaults: Choose defaults that make sense for new users
- Set Minimums: Prevent negative values where they don’t make sense
- Consider Maximums: Prevent runaway values that could break your system
- Start Simple: Begin with basic attributes and add complexity as needed
Managing Attributes
For MVP, you can perform these actions on attributes:
- Create: Add new attributes to track additional metrics
- View: See all attributes and their configurations
Future updates will include:
- Edit: Modify attribute settings after creation
- Delete: Remove attributes (with data preservation options)
- Clone: Duplicate attributes with slight modifications
- Archive: Hide unused attributes without losing data