Define your first offer

Before we dive in, let's lay out some terms. In the Resonance console you will notice the term offer as well as offer definition, among other offer-related entities like offer campaigns and so on. In this guide, we are creating an offer definition. When we actually make that offer to a user, then it is an offer. There can be many offers made to many users that all come from the same offer definition. The definition simply tells us what the offer we made to the user is—what's the reward, and what does the user need to do to earn the reward. The offer record tells us which user we made that offer to.

At their simplest, offer definitions are just a reward and a condition. If a user satisfies the condition, they earn the reward. There's other information we often associate with an offer: entry methods, the date when we want to start making certain offers, the date when they should end, all of the copy and wording we want to use when presenting the offer to users, and so on. But we can worry about all of that later (much of that is handled by offer campaigns). For our first offer definition, let's simply use the condition and the reward we created in the earlier steps of the guide.

First, navigate to the offer definition tab in the console. Hit the button to create a new offer definition. Come up with a human-readable name that describes the offer. Select the reward you created earlier from the dropdown menu, and then select the condition from the other dropdown. Hit submit. Done! You've made your first offer definition! With a few more clicks you'll be able to launch your first offer campaign and start making offers to real users.

Next steps

Great work! You will need to put together an offer campaign next. The campaign might be an extremely simple evergreen campaign that new users are entered into automatically via events, or it might be a complex, time-boxed campaign that tests two offer definitions against each other, or maybe you want to make both of those campaigns! Offer definitions can be reused across campaigns and their data is all stored for you to review and compare any time.

Also check out the offer API endpoints if you want to work with offers programmatically: