- 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
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


Finally, you can designate a Reward Function as the default for future messages.
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

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.
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
How many Reward Functions should we have?
How many Reward Functions should we have?
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.
Will adding additional Reward Functions confuse my default?
Will adding additional Reward Functions confuse my default?
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.
How does Aampe allow multiple objectives when so many AI products struggle with multiple objectives?
How does Aampe allow multiple objectives when so many AI products struggle with multiple objectives?
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.
How do Reward Functions differ from Event Types?
How do Reward Functions differ from Event Types?
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.