Skip to main content

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:

FieldDescriptionExample
UIDUnique identifier used in API calls. Must be lowercase, no spaces.pointsuser_leveldaily_streak
TitleHuman-friendly name displayed in the dashboard.“Points”, “User Level”, “Daily Streak”
TypeData type for the attribute (Number for MVP).Number
DefaultStarting value when a user is first added to the system.0, 1, 100
MinimumLowest value a user can reach (optional).0, -100, 1
MaximumHighest 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:

ScenarioMinimumMaximumReasoning
User Points0NonePoints can’t go negative, no upper limit
User Level1100Levels start at 1, cap at reasonable maximum
Daily Streak0365Streaks reset to 0, max one year
Health Score0100Percentage-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 than wp
  • 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