tutorials

Event-Driven Loyalty: How Resonance's Architecture Lets You Reward Anything

February 9, 2026 10 min read By Resonance Team

A deep dive into event-driven loyalty architecture and why it enables rewarding any customer behavior.

Traditional loyalty systems reward one thing: purchases. Event-driven architecture lets you reward anything: signups, referrals, reviews, social engagement, community participation, and behaviors that haven't been invented yet.

The Problem with Purchase-Only Rewards

Purchase-only loyalty misses 90% of customer engagement:

👥
The Referrer
Refers three friends but only buys once. No reward.
The Reviewer
Writes detailed reviews (valuable social proof). No reward.
📣
The Sharer
Shares your content (free marketing). No reward.
💬
The Community Builder
Participates in your Discord daily. No reward.

All of these behaviors indicate loyalty. None of them trigger traditional rewards.

Event-Driven Architecture

Instead of hardcoding "purchase = points," event-driven systems let you define what earns rewards:

event-config.js Flexible
// Define any event type
const events = {
  purchase:          { rsncPerDollar: 10 },
  signup:            { rsncFlat: 100 },
  referral_complete: { rsncFlat: 500 },
  review_submitted:  { rsncFlat: 50 },
  social_share:      { rsncFlat: 25 },
  discord_message:   { rsncFlat: 1 },
  event_attendance:  { rsncFlat: 200 }
};

// Trigger any event
await resonance.triggerEvent({
  eventType: 'review_submitted',
  userEmail: customer.email,
  metadata: {
    product_id: product.id,
    rating: 5,
    has_photo: true
  }
});

How Resonance Events Work

1

Event Definition

In the Partner Portal, define what behaviors earn RSNC:

Event Type Reward Conditions
purchase 10 RSNC per $1 order_value > 0
signup 100 RSNC flat First-time only
referral_complete 500 RSNC flat Referred user purchases
review_submitted 50 RSNC flat Verified purchase
2

Event Triggering

When the behavior occurs, trigger the event via API:

trigger-event.js
// Server-side event triggering
async function triggerLoyaltyEvent(eventType, user, metadata) {
  await fetch('https://api.rsnc.network/resonance-api/manual-event', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': `Bearer ${API_KEY}`
    },
    body: JSON.stringify({
      brandId: BRAND_ID,
      eventType,
      userEmail: user.email,
      metadata
    })
  });
}
3

Event Processing

Resonance processes the event:

  • Validates the event against your configuration
  • Checks conditions (first-time, rate limits, etc.)
  • Awards RSNC based on your rules
  • Updates the customer's balance

Event Metadata

Metadata makes events powerful. Include context for analytics and conditional rewards:

rich-metadata.js
// Rich event metadata
await triggerLoyaltyEvent('purchase', user, {
  order_id: order.id,
  order_value: order.total,
  items: order.line_items.map(item => ({
    product_id: item.product_id,
    category: item.category,
    quantity: item.quantity
  })),
  coupon_used: order.discount_code,
  first_purchase: user.orders_count === 1,
  acquisition_source: user.utm_source
});

Advanced Patterns

Conditional Bonus for High-Value Orders
if (order.total > 100) {
  await triggerLoyaltyEvent('high_value_purchase', user, {
    order_value: order.total,
    bonus_multiplier: 2
  });
}
Streak Consecutive Engagement Rewards
const streak = await getEngagementStreak(user.id);
if (streak >= 7) {
  await triggerLoyaltyEvent('weekly_streak', user, {
    streak_length: streak
  });
}
Milestone Achievement-Based Rewards
const totalSpend = await getUserTotalSpend(user.id);
if (totalSpend >= 1000 && !user.reached_1k_milestone) {
  await triggerLoyaltyEvent('milestone_1000', user, {
    total_spend: totalSpend
  });
  await markMilestoneReached(user.id, '1k');
}
The Power: Any behavior you can detect, you can reward. The architecture doesn't constrain you to purchases.

Why This Matters

1
Full Journey Rewards
Not just transactions
2
Growth Incentives
Referrals, reviews, shares
3
Future-Proof
Add events without platform changes
4
A/B Test Rewards
Experiment with what drives engagement

Purchases are one behavior.

Loyalty encompasses many behaviors.

Event-driven architecture lets you reward them all.

See Also

Tags
architecture events technical behaviors