Skip to main content
How do you know if a message was successful? The answer depends on the message and its purpose.
  • If the message is about your referral program, you would naturally measure success by looking at increases in referral events
  • If the message is about using some specific product feature, you would measure success by monitoring usage of that product
Reward Functions are how you tell Aampe what success looks like for different each message.

Overview: How Aampe Evaluates Messages

Aampe measures the success of a message by looking for changes each user’s event feed. Each event in the event feed has a numeric value (“reward”). An agent compares the sum of event rewards in a period before and after the message was sent to determine if the user increased their activity in response to the message.

But not all events are equally important. Agents typically places small rewards on log-ins, button clicks, and similar events. They place larger rewards on key conversion events and other events that frequently precede them.
How do we determine the reward for each event?

Building A Reward Function

Step 1: What specific outcome do you want to see as the result of a message?

Building a Reward Function starts by identifying the one desired outcome you want to see as a result of a message. Examples of key outcomes include:
  • Making a purchase
  • Enrolling in a paid subscription
  • Streaming a movie or a song
  • Referring a friend
  • Trying out a new product feature
  • Signing up for a webinar
In the Aampe composer, navigate to the Reward Function builder under Settings > Reward Functions.
Guide Page
Provide a name and description. If you like, you can assign the Reward Function to specific messages. You can also do this later from the Messages > setup screen.
New Function
Finally, you can designate a Reward Function as the default for future messages.
Click Save & Proceed.

Step 2: Identify Target Events

With the key outcome in mind, we need to determine which events in the event feed are the best indicators of success for any assigned messages. Aampe calls these events target events. These events receive full points when observed within an attribution window. All other positive events receive some amount of partial credit. See our page on Event Types for a refresher of positive, negative, and irrelevant events.
Example: Let’s say I want to set up a Reward Function for messages focused on selling a product. I am going to name my Reward Product “Selling Products” and look for events in my event feed mean someone bought my product.
Reality check: Two things tend to make this exercise difficult
  • Event streams are messy
  • Not all events are equally useful as target events
Agents can quickly learn user preferences when the target events are voluntary and repeatable. Agents struggle when target events are infrequent, delayed, or impossible to repeat. (For a deeper look at which events make good learning signals, see our page on the characteristics of good target events.) With this in mind, Aampe scores all your events based on their potential for being a strong target event. Suitable and Unsuitable Events Events that Aampe considers to be suitable as target events are called “suitable events.” You will find them easily in the main list of events. Aampe’s Learning Quality score indicates the strength of that event as a potential target event.
Select Events
It’s possible an event of interest is infrequent or unrepeatable and so is categorized as an unsuitable event. But it is the event you need. What do you do now?

You can still use unsuitable events as target events. There is some nuance to consider.
  • If the Reward Function is intended to be broadly applied to many different messages, you will want to pair up your unsuitable event(s) with at least one suitable event.
  • If the Reward Function is for a focused set of messages with a distinct call to action and the unsuitable event is the result of that action, you can confidently proceed with the unsuitable event as your target event.

Step 3: Review the Individual Event Rewards

Once you’ve selected your target event(s), Aampe automatically score all other events based on how often they precede the chosen target events.
Partial Credit
The partial credit Aampe assigns for these events is central to how Aampe works. Not every message will lead to a purchase, but Aampe agents can still learn from changes in other routine events.

Sometimes Individual Event Rewards are Negative

Not every event in a user’s event stream is good. How does an Aampe agent account for unsubscribes, order cancellations, or other similarly bad events?

Negative events receive negative rewards. Since agents learn from the sum of individual event rewards, agents will learn to avoid negative events.
Click Save & Proceed.

Reward Function FAQs

Aampe recommends a Reward Function for each distinct customer experience you encourage through your content.Most Aampe customers have 3 to 5 Reward Functions. It is not necessary or helpful to have a unique Reward Function for each offering. Buying shoes, hats, and shirts can all share one Reward Function for making a purchase.
No. If anything it helps provide agents with helpful context when evaluating the success of a message.Messages about referrals should be evaluated on how they generate referrals while messages about purchases should be evaluated on whether they generate incremental purchases.
While you can create multiple Reward Functions in the Aampe UI, agents really have one objective which is to increase the sum of event rewards as much as possible.The global objective is very flexible and resilient to adjustments on a per-message basis. In every case, we’re simply summing the value of individual event rewards.
Event Types is how Aampe categorizes events as positive, negative, or irrelevant. Target events can only be selected from positive events. Negative events will have negative event rewards. Agents ignore irrelevant events when calculating the final reward for a message. See the Event Types page for setup instructions.