How to set up dynamic rewards using Zapier/Webhooks

Let's say you want to give different ("dynamic") rewards based on an attribute of the referred friend (e.g, you want to give certain rewards based on the pricing plan the referred friend signed up for).

To set up dynamic rewards you will need to use Zapier or Webhooks and follow these steps:

  1. Your GrowSurf campaign referral trigger must be "Sign Up + Qualifying Action" and you should be adding participants to your campaign programmatically via JavaScript growsurf.addParticipant() or via REST API /POST Add Participant.
    1. At participant signup, you will need to add metadata (e.g., plan they chose [STARTER, PROFESSIONAL, TEAM], country [USA, CAD, GB, AUS]).
  2. Once you set up your referral trigger, and a participant unlocks a reward, you can now use their custom metadata to determine which reward they get:
    1. At the reward automation level, you will need to set up a Zap with a Zapier Filter that rewards a participant a certain amount when they select a specific plan. The metadata of each participant (referrer/referred friend) are available to use, so you can use a Zapier Filter to set something up like this: "If a participant has CAD as their country, then give them <specific-to-CAD-reward>".
      1. If your campaign is using a single-sided reward, then you will have to additionally call /GET Participant By ID using the referredId value from the New Participant Reward event payload to get the referred friend's metadata. This is common in the use-case where you want to provide a dynamic reward to the referrer and also have a coupon code instantly available for a referred friend before they sign up (see article).

Note: If you need to update participant metadata at anytime, you can do so by calling the following REST API endpoints:

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.