intermediate
loyalty
achievements
gamification

Achievements

Complete guide to creating and managing achievement badges that reward customers for specific milestones in your loyalty program.

Levy Fleets TeamDecember 25, 202518 min read

Achievements

Achievements are milestone badges that reward customers for specific accomplishments. They create memorable moments of recognition and provide additional points rewards. This guide covers everything you need to know about creating and managing achievements for your loyalty program.

Understanding Achievements

Achievements are permanent badges that customers earn by completing specific milestones. Unlike challenges, achievements don't expire and are always available for customers to work toward.

Key Characteristics

  • Permanent: Once earned, achievements remain on the customer's profile
  • Trigger-Based: Automatically awarded when conditions are met
  • Points Rewards: Each achievement can award bonus points
  • Visual Recognition: Displayed as badges in the mobile app
  • One-Time or Repeatable: Can be earned once or multiple times

Purpose of Achievements

  1. Celebrate Milestones: Mark significant customer accomplishments
  2. Encourage Exploration: Motivate customers to try new behaviors
  3. Boost Engagement: Provide collection/completion goals
  4. Reward Loyalty: Give tangible recognition for continued usage

Achievement Trigger Types

Achievements are awarded when specific triggers are met. The system supports these trigger types:

Total Rides (rides_count)

Award based on cumulative lifetime ride count.

Example AchievementTrigger Value
First Timer1 ride
Regular Rider10 rides
Century Club100 rides
Road Warrior500 rides

Use case: Reward overall usage milestones.

Distance Traveled (distance_km)

Award based on cumulative kilometers traveled.

Example AchievementTrigger Value
First Mile1 km
Explorer50 km
Marathoner100 km
Globetrotter1000 km

Use case: Reward distance-based milestones.

Streak Days (streak_days)

Award for maintaining consecutive riding days.

Example AchievementTrigger Value
On a Roll3 days
Week Warrior7 days
Streak Master14 days
Unstoppable30 days

Use case: Encourage daily ridership habits.

First Ride (first_ride)

Award for completing the very first ride.

Example AchievementTrigger Value
Welcome Aboard1

Use case: Celebrate new customer onboarding.

Note

Trigger value is always 1 for this type.

Parking Zone Ends (parking_zone)

Award for ending rides in designated parking zones.

Example AchievementTrigger Value
Good Parker5 zone ends
Parking Pro25 zone ends
Parking Champion100 zone ends

Use case: Encourage proper parking behavior.

Weekend Rides (weekend_rides)

Award for rides taken on weekends (Saturday/Sunday).

Example AchievementTrigger Value
Weekend Explorer5 weekend rides
Weekend Regular20 weekend rides
Weekend Champion50 weekend rides

Use case: Drive weekend usage.

Points Earned (points_earned)

Award based on cumulative loyalty points earned.

Example AchievementTrigger Value
Point Starter100 points
Point Collector1000 points
Point Master10000 points

Use case: Reward overall program engagement.

Eco Distance (eco_distance)

Award based on estimated CO2 savings from rides.

Example AchievementTrigger Value
Eco Friend10 kg CO2 saved
Green Rider50 kg CO2 saved
Planet Protector100 kg CO2 saved

CO2 Calculation: The system estimates CO2 savings using the formula:

CO2 Saved (kg) = Distance (km) × 0.12

This assumes replacing a car trip with an electric vehicle ride saves approximately 120 grams of CO2 per kilometer.

Use case: Promote environmental consciousness.

Time of Day (time_of_day)

Award for rides completed during specific hours.

Example AchievementTrigger Value
Early BirdRides before 8 AM
Night OwlRides after 8 PM
Lunch RushRides between 11 AM - 1 PM

Use case: Recognize off-peak riders or specific time-based behaviors.

Tier Reached (tier_reached)

Award when a customer reaches a specific loyalty tier.

Example AchievementTrigger Value
Silver StatusReach Silver tier
Gold StatusReach Gold tier
Champion StatusReach Champion tier

Use case: Celebrate tier milestones with additional recognition.

Monthly Rides (monthly_rides)

Award for completing a certain number of rides within a calendar month.

Example AchievementTrigger Value
Monthly Rider10 rides/month
Power User25 rides/month
Super Commuter50 rides/month

Use case: Encourage consistent monthly usage.

Referrals (referrals)

Award based on successful referral count.

Example AchievementTrigger Value
First Referral1 referral
Social Butterfly5 referrals
Influencer10 referrals

Use case: Recognize top referrers.


Creating Achievements

Step-by-Step Guide

  1. Access Achievements Page

    • Navigate to Dashboard > Loyalty > Achievements
    • Or go directly to /dashboard/loyalty/achievements/
  2. Click "New Achievement"

    • Opens the achievement creation modal
  3. Fill in Basic Information

    • Name: Customer-facing achievement name (e.g., "First Ride")
    • Description: How to earn this achievement (e.g., "Complete your first ride")
  4. Configure Trigger

    • Trigger Type: Select from available types
    • Target Value: Set the threshold to earn
  5. Set Reward

    • Points Reward: Bonus points awarded when earned
  6. Configure Appearance

    • Badge Color: Select a hex color for the badge
  7. Optional Settings

    • Repeatable: Allow earning multiple times
    • Cooldown Days: Minimum days between repeated earnings
    • Secret: Hide until earned
  8. Save Achievement


Configuring Achievement Settings

Form Fields Explained

Basic Information

FieldRequiredDescription
NameYesDisplay name shown to customers (max 50 chars)
DescriptionNoInstructions on how to earn (max 200 chars)

Trigger Configuration

FieldRequiredDescription
Trigger TypeYesWhat action triggers the achievement
Target ValueYesNumeric threshold to reach
Trigger MetadataNoAdditional JSON data for complex triggers

Reward Configuration

FieldDefaultRange
Points Reward00 - 100,000

Appearance

FieldDefaultDescription
Badge Color#6366F1Hex color code
Badge Icon URLNoneOptional custom icon URL

Behavior Settings

FieldDefaultDescription
RepeatableNoCan be earned multiple times
Repeat Cooldown DaysNoneDays before re-earning
SecretNoHidden until earned
ActiveYesWhether achievement is enabled
Sort Order0Display order in lists

Example Configuration

Century Club Achievement:

Name: Century Club
Description: Complete 100 rides and join an elite group of riders
Trigger Type: Total Rides (rides_count)
Target Value: 100
Points Reward: 1000
Badge Color: #F59E0B (Gold)
Repeatable: No
Secret: No

Repeatable Achievements

Some achievements can be earned multiple times. This is useful for ongoing rewards:

How Repeatable Achievements Work

  1. Customer earns achievement for the first time
  2. Counter resets (if cooldown is set, must wait)
  3. Customer can work toward earning again
  4. Each earning awards the points reward again

Cooldown Period

Set a minimum time between earnings to prevent exploitation:

CooldownUse Case
0 daysNo limit (earn immediately after)
1 dayDaily achievement caps
7 daysWeekly achievements
30 daysMonthly achievements

Example: Weekly Warrior

Name: Weekly Warrior
Description: Complete 5 rides in a week
Trigger Type: Total Rides (rides_count)
Target Value: 5 (weekly count)
Points Reward: 50
Repeatable: Yes
Repeat Cooldown Days: 7

Tracking

The system tracks "times earned" for repeatable achievements.


Secret Achievements

Secret achievements add an element of surprise and discovery:

Characteristics

  • Not shown in the achievement list until earned
  • Create "surprise and delight" moments
  • Encourage sharing and word-of-mouth
  • Great for special or rare accomplishments

When to Use Secret Achievements

ScenarioExample
Rare milestones1000th ride, 1 year anniversary
Easter eggsRide on company anniversary date
Special behaviorsPerfect parking score
Exclusive clubsTop 1% of riders

Example: Secret Achievement

Name: Night Owl
Description: Complete a ride after midnight
Trigger Type: Time of Day (time_of_day)
Target Value: 0 (midnight)
Points Reward: 100
Secret: Yes

Managing Achievements

Viewing All Achievements

The achievements page shows:

  • Statistics Cards:

    • Total Achievements (active count)
    • Total Earned (sum of all customer earnings)
    • Most Popular (highest earned achievement)
  • Achievement Cards:

    • Name and description
    • Trigger type and value
    • Points reward
    • Times earned count
    • Repeatable/Inactive badges

Editing an Achievement

  1. Find the achievement card
  2. Click the pencil (Edit) icon
  3. Modify settings
  4. Click "Update"

Note

Changes to trigger values won't affect already-earned achievements.

Deactivating an Achievement

  1. Find the achievement card
  2. Click the trash (Delete) icon
  3. Confirm deactivation

What happens:

  • Achievement is marked inactive
  • No longer shown to new customers
  • Existing earned records are preserved
  • Can be reactivated by editing

Viewing Earning Statistics

Each achievement card shows:

  • Times Earned: Total number of times earned by all customers
  • Helps identify popular vs. rarely-achieved goals

Mobile App Experience

Achievement Display

The mobile app shows achievements in a horizontal scrolling gallery:

Earned Achievements:

  • Full-color badge icon
  • Achievement name
  • Points earned displayed

Locked Achievements:

  • Grayed-out badge icon
  • Lock overlay
  • Achievement name (unless secret)
  • Points available

Achievement Summary

The app header shows:

Achievements: 8/15 earned

Where:

  • 8 = Achievements earned by customer
  • 15 = Total available achievements (non-secret)

Earning Notification

When a customer earns an achievement:

  1. Achievement unlocks visually
  2. Points are added to balance
  3. Achievement appears in recent activity

Best Practices

Achievement Design

  1. Create a Progression

    • Design achievements that build on each other
    • Example: 10 rides → 25 rides → 50 rides → 100 rides
  2. Balance Difficulty

    • Mix of easy, medium, and hard achievements
    • Most customers should earn 3-5 within first month
    • Some should be truly aspirational
  3. Reward Proportionally

    • Easy: 50-100 points
    • Medium: 100-500 points
    • Hard: 500-2000 points
    • Legendary: 2000+ points
AchievementTypeValuePointsDifficulty
Welcome Aboardfirst_ride1100Easy
Regular Riderrides_count10200Easy
Weekend Explorerweekend_rides5150Easy
Good Parkerparking_zone10200Medium
Century Clubrides_count1001000Hard
Streak Masterstreak_days7500Hard
Road Warriorrides_count5002500Legendary

Tips for Success

  1. Launch with 8-12 achievements - Enough variety without overwhelming
  2. Add 1-2 new achievements monthly - Keep it fresh
  3. Use secret achievements sparingly - 2-3 is enough
  4. Track earning rates - Adjust difficulty if too easy or hard
  5. Promote difficult achievements - Highlight customers who earn rare badges

Frequently Asked Questions

General Questions

Q: Can customers lose achievements they've earned? A: No, once earned, achievements are permanent.

Q: Are achievements account-specific? A: Yes, each account/fleet can have its own achievements.

Q: Can I create the same achievement for multiple subaccounts? A: Yes, you'll need to create it separately for each subaccount.

Trigger Questions

Q: When are achievements checked? A: After every ride completion, the system checks all applicable triggers.

Q: What if a customer meets multiple achievement criteria at once? A: All applicable achievements are awarded simultaneously.

Q: Can I use custom trigger logic? A: Not currently. Contact support for complex trigger requirements.

Reward Questions

Q: Do achievement points count toward tier qualification? A: No, only ride spending counts toward tier progress. Achievement points are bonus.

Q: Can I award something other than points? A: Currently, achievements only award points. Wallet credits can be done through challenges.

Q: Is there a limit to points I can award? A: Technically no, but we recommend keeping individual achievements under 10,000 points.

Technical Questions

Q: What happens to achievements if I delete them? A: They're deactivated but customer earning records are preserved.

Q: Can I edit an achievement's trigger after creation? A: Yes, but it won't retroactively award or revoke from customers.

Q: How do I make achievements available to all subaccounts? A: Create them for each subaccount individually, or contact support for bulk creation.


Technical Reference

Trigger Type Mapping

UI NameAPI ValueDescription
Total Ridesrides_countLifetime ride count
Distance (km)distance_kmCumulative distance
Streak Daysstreak_daysConsecutive riding days
First Ridefirst_rideCompletion of first ride
Parking Zone Endsparking_zoneRides ending in preferred zones
Weekend Ridesweekend_ridesSaturday/Sunday rides
Points Earnedpoints_earnedCumulative points
CO2 Savedeco_distanceEnvironmental impact (km × 0.12)
Time of Daytime_of_daySpecific hour triggers
Tier Reachedtier_reachedTier upgrade triggers
ReferralsreferralsSuccessful referral count
Monthly Ridesmonthly_ridesRides within calendar month

Database Schema

achievements table:

ColumnTypeDescription
iduuidPrimary key
account_iduuidParent account
nametextDisplay name
descriptiontextHow to earn
trigger_typetextTrigger identifier
trigger_valueintNumeric threshold
trigger_metadatajsonbAdditional config
points_rewardintPoints awarded
badge_icon_urltextCustom icon
badge_colortextHex color
is_repeatablebooleanMultiple earnings
repeat_cooldown_daysintDays between earnings
is_secretbooleanHidden until earned
is_activebooleanEnabled status
sort_orderintDisplay order
created_attimestampCreation date
updated_attimestampLast update

customer_achievements table:

ColumnTypeDescription
iduuidPrimary key
customer_iduuidCustomer reference
achievement_iduuidAchievement reference
account_iduuidParent account
times_earnedintEarning count
first_earned_attimestampInitial earning
last_earned_attimestampMost recent earning
total_points_earnedintCumulative points

API Endpoints

EndpointMethodDescription
/api/loyalty/achievementsGETList achievements
/api/loyalty/achievementsPOSTCreate achievement
/api/loyalty/achievements/[id]GETGet achievement
/api/loyalty/achievements/[id]PUTUpdate achievement
/api/loyalty/achievements/[id]DELETEDeactivate achievement

Need Help?

For achievements configuration assistance, contact support@levyelectric.com.