Table of Contents

How to Configure an Earning Event in your Loyalty Program

Anton Co Updated by Anton Co

How to Configure an Earning Event in your Loyalty Program

Earning events determine when and how customers earn rewards. This guide covers the backend configuration of earning events, what rewards to distribute and when. For frontend styling of Earning Event tiles, navigate to the Widgets page.

  1. Go to the Earning Events page in your Friendbuy account
  1. Click + Add Earning Event
  2. Select an earning event type
  3. Configure the reward, conditions, and optional advanced settings (see sections below)
  4. Click Save Changes (draft) or Save & Activate (to set the Earning Event live immediately)

General Settings

Earning Event Name

The name you assign here appears in your customer's loyalty dashboard. Choose something clear and customer-friendly.

Reward Type

Select how customers will be rewarded:

  • Points: Award a specific number of points
  • Coupon Code: Award a unique code from your uploaded code bank
  • Gift Card: Award a unique gift card from your uploaded code bank
  • Shopify Coupon: Award a Shopify coupon (requires Shopify integration)
  • Custom: Send a webhook to your system for custom reward handling (requires configuration in Developer Center)

Subscription Integration: If you have Ordergroove or Stripe integrated, you can set different rewards for Subscribers vs. Non-Subscribers. In the earning event, click AND to reveal the Subscriber status option, then choose Ordergroove or Stripe store credit or free products to auto-apply to their next subscription order.

Send Email (Optional)

Enable to automatically send a notification email when the reward is earned. The email must be pre-designed in the Loyalty Emails section. Contact your Client Success Manager if you need assistance.

Adding Rules and Conditions

Rules let you make earning events conditional. For example, for a Make A Purchase earning event you might reward points only for purchases over a certain amount, or only if specific products are purchased.

How to Add a Rule
  1. Click the + icon to add a rule
  2. Select a rule type from the dropdown
  3. Configure the rule parameters
  4. Choose AND or OR logic
  5. Add additional rules as needed

AND Logic vs. OR Logic

AND Logic (all conditions must be true):

  • Every rule you add is an additional requirement
  • The customer must satisfy ALL rules to earn the reward
  • Use when you want restrictive conditions
  • Example: Purchase > $50 AND from Collection "Premium"

OR Logic (any one condition can be true):

  • Conditions within an OR group act as alternatives
  • The customer must satisfy ANY ONE of the rules in the group
  • Use for flexible options
  • Available new rule types: SKU and Included Collection
  • Example: Purchase from (SKU "SHIRT-001" OR SKU "SHIRT-002")

Activation Status
  • Save Changes: Saves the event as inactive (draft mode)
  • Save & Activate: Immediately activates the event for your live loyalty program

Earning Events

  • Make a Purchase — Base purchase earning event with optional conditions
  • Loyalty Opt-In — Reward for joining the program
  • Sign Up — Reward for signup
  • Refer a Friend — Reward for successful referrals
  • Birthday Entry — Reward for providing birthday
  • Birthday Reward — Recurring annual reward on customer's birthday
  • Time Based Event — Recurring rewards for anniversaries or milestones
  • Social Media Follow — Reward for following social accounts
  • Klaviyo Flow — Triggered by Klaviyo automation
  • Attentive SMS / Email — Triggered by Attentive campaigns
  • Upload Receipt — Reward for receipt scans
  • Custom Event — Send rewards via API/JavaScript
  • Has Reached X Tier — Reward customers when they reach a Loyalty tier
  • Subscription Renewal — Reward members for an Ordergroove subscription renewal
  • Subscription Activation — Reward members for purchasing a new Ordergroove subscription
  • Subscription Re-Activation — Reward members for re-activating their Ordergroove subscription
Refer a Friend

Reward your Customers for referring a Friend.

To enable this event rule, at least one Referral campaign must be active. However, the reward conditions for this event rule are independent of the rules and rewards configured in your Referral campaign(s). Loyalty rewards will be distributed in addition to any Advocate rewards set up in your Referral campaign(s).

Make a Purchase

If your purchase tracking is already configured where purchase data is automatically sent to Friendbuy (if you are on Shopify, this is done automatically if you installed the Shopify integration), then you are ready to reward points for making a purchase.

If you want to add additional criteria for making a purchase, select the "+" icon and choose an option from the dropdown list.

Advanced Options

  • Friendbuy will validate Purchases with Shopify: if you are on Shopify this is on by default. This ensures that we are validating the purchase automatically through Shopify and ensure that the order was real.
  • Set custom reward validation: if you are not on Shopify, we can ask your system if we should reward the points. Input an API endpoint that Friendbuy can make requests to. Here is the developer documentation for this.
  • Set Reward Delay: distribute the reward after x amount of days. This is useful in tandem with the reward validation if you want to protect yourself against returns/cancellations. For example, if you set this to 5 days, then we will wait 5 days before distributing the reward and will also check against Shopify or your custom reward validation endpoint if the purchase was returned or not.
  • Set Max Reward Allowance: Customers can earn this reward up to x amount of times.

If you'd like to reward different amounts based on member tier status, you'll want to set up a separate purchase earning event and add a criteria for the chosen member tier. See information in this article.

Loyalty Opt-In

When customers sign up to be a member of your loyalty program, reward them by giving them an opt in bonus!

Sign Up

Reward Customers for signing up for your loyalty program.

Birthday Entry

Reward customers for entering in their birthday. Friendbuy will only collect the month and day. By collecting their birthday, you can now start using this data to send them communications on their birthday. Customer's birthdate (dd/mm) is provided by the customer via an Earning Events widget, or by the merchant using either the Friendbuy Javascript SDK or the REST API.

Birthday Reward

Reward customers on their birthday, which can be provided by the customer when they enter their birthdate, or by the merchant using either the Friendbuy Javascript SDK or the REST API.

In this earning event, you can specify if the reward will be sent on the exact birthday date, or x days before it.

This is a recurring event and it will be triggered annually. You may limit the amount of birthday rewards a single customer can receive by setting a Max Reward Allowance, under the Advanced Settings.

Note: Customers can receive a birthday reward only once per calendar year. If their birthdate is updated after they receive a birthday reward, the changes will take affect starting the following calendar year.

Time Based Event

Reward customers for recurring events, such as their anniversary.

When creating the event, you may specify the event trigger:

  • First Purchase Date
  • Account Creation Date
  • Loyalty Opt in Date
  • Subscription Start Date ( Available only to merchants integrated with Recharge)

Use the Repeat every field to specify how often the reward will be triggered (Yearly, every X months or X days), and use the Distribute Reward fields to configure when the reward will be distributed to the customer.

You may limit the amount of rewards a single customer can receive by setting a Max Reward Allowance, under the Advanced Settings.

Social Media Follow

You can configure an earning event for following your Facebook, Instagram, Twitter, TikTok or Youtube account.

Please note that you can only add one earning event per social media type.

In this screen, select a reward option and input the quantity to reward. You will input the social media account details when you set up the Earning Events widget in the widgets page.

Klaviyo Flow

You can leverage Klaviyo "Flows" to trigger when rewards should be distributed to customers. Please note that the Klaviyo-Friendbuy integration needs to be installed prior to setting this up.

  1. First you'll want to create a Klaviyo flow. Determine the "trigger" of when this event should happen. After the trigger, add a webhook to the flow. Within the webhook settings, input the destination URL. You can find the destination URL in your Friendbuy account -> Settings -> Integrations -> Klaviyo.

  1. Within the JSON body of the webhook, include the following
    {
    "email":"{{ person.Email}}",
    "attributes": {
    "flowTag": "email"
    }
    }
    The "flowTag" portion is the part that you will want to customize for each earning event. For example, if this Klaviyo flow is rewarding for signing up for email marketing, then i might call this flowTag "email".
  2. On the Friendbuy side, click the "+" icon and select "Custom Attribute". Input "flowTag" in the custom attribute and set this "is equal to". Then input the name of the flowTag in the last email. In this example. The flowTag is "email".

Custom Event

If you don't see an option for a the type of reward you'd like to configure, you can set up a custom event and send Friendbuy and API / Javascript call whenever the reward should be distributed.

First, input the custom event name e.g. "submit_review". Whenever Friendbuy receives this custom event, the reward will be distributed to the customer. Here is the API version of the custom event documentation. Here is the Javascript version of the custom event documentation.

You can also click on the "+" icon to add additional requirements for the custom earning event.

Has Reached X Tier

Reward customers for continued engagement with your brand when they reach new Loyalty tiers. Member Loyalty Tiers first must be set up before configuring your Has Reached X Tier earning event. Member Tiers can be set up as purchased-based or points-based.

How did we do?

Cashback Rewards for Loyalty (Shopify Integration)

How to set up expiration for Points or Account Credit

Contact