Create your affiliate program in under 15 minutes with the help of our quickstart guide. Then invite your dev team to complete installation.

Follow your program checklist to test, launch, and promote your affiliate program. With GrowSurf, you'll get guided every step of the way to ensure you find success with your affiliate marketing efforts.

Real-time analytics and admin dashboard give you powerful insights like who your top affiliates are and the engagement funnel for your affiliate program, while weekly and monthly email reports keep you in the loop.

Track referrals on your existing user signup flow. No need to set up any new landing pages or change your current form and automations that are already in place.
Paste the GrowSurf Universal Code on your webpage to automatically track referrals based on cookies. When you set up automagic form detection, we'll automatically track the form or input fields on your webpage and ensure proper referral attribution. Setup takes minutes.
<script type='text/javascript'>
(function(g,r,s,f){g.grsfSettings={campaignId:'45hxmj',version:'2.0.0'};s=r.getElementsByTagName('head')[0];f=r.createElement('script');f.async=1;f.src='https://app.growsurf.com/growsurf.js'+'?v='+g.grsfSettings.version;f.setAttribute('grsf-campaign', g.grsfSettings.campaignId);!g.grsfInit?s.appendChild(f):';})(window,document);
</script>
Once installed, GrowSurf will inject your landing page with referral elements to optimize the experience for referred visitors. They will still sign up as they normally would. See a before/after example below:
Before AfterAlternatively, use our JavaScript method
growsurf.addParticipant() to track referrals on a non-standard web form or single-page application. Your users won't need to enter a referral code. At the bare minimum, just provide email and we'll handle getting the referrer's unique ID automatically based on cookies.growsurf.addParticipant({
email: '[email protected]',
firstName: 'Gavin',
lastName: 'Belson',
// Optional: Save any custom data as participant metadata
country: 'UK',
subscriptionPlan: 'Pro',
});
You can also save any additional custom information as metadata, which can be referenced via API or webhooks.
Use our REST API endpoint
/POST Add Participant to track referrals on users who sign up through your mobile app or if you want a cookieless server-side solution. At the bare minimum, just provide email and referredBy, which can be the referrer's unique ID or their email address β or retrieve it using growsurf.getReferrerId() .curl -X POST 'https://api.growsurf.com/v2/campaign/45hxmj/participant' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d $'{
"email": "[email protected]",
"firstName": "Gavin",
"lastName": "Belson",
"referredBy": "richard-h8kp6l",
# Optional: Save custom fields as participant metadata
"metadata": {
"country": "UK",
"subscriptionPlan": "Pro"
}
}'
You can also save any additional custom information as metadata, which can be referenced via API or webhooks.
Connect to your payment processor and GrowSurf will automatically calculate commissions. We'll also handle adjustments for refunds, chargebacks, and other payment-related events.
Connecting to an integration takes less than one minute.
Connect to Stripe in less than one minute
Alternatively, use our JavaScript method
growsurf.triggerReferral() to trigger referrals on any front-end event. Just provide the email address of the referred friend who completes the action that you deem as the qualifying event.growsurf.triggerReferral('[email protected]');Alternatively, if your payment processor isn't supported, use our REST API endpoint
/POST Add Transaction by Participant Email to generate commissions when a customer makes a purchase. Just provide the email address of the referred customer who made the purchase along with the transaction details.curl -X POST 'https://api.growsurf.com/v2/campaign/45hxmj/participant/[email protected]/transaction' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d $'{
"currency": "USD",
"grossAmount": 9900,
"amountCashNet": 7900,
"invoiceId": "invoice_54",
"paidAt": 1733702400000,
"description": "Renewal for Pro subscription"
}'
When affiliates become eligible for payouts, you can pay them out in bulk via PayPal from your admin dashboard.
Connect to PayPal in less than one minute.
Connect to PayPal in less than one minute
You can define a payout threshold (e.g, $50 minimum in payouts required), which helps you save on PayPal transaction fees by only paying out affiliates when they reach the threshold. GrowSurf does not charge any payout processing fees.

Alternatively, use Webhooks as a programmatic solution to automatically issue out any custom reward. If you use reward metadata, your dev team only needs to set up webhooks once and your marketing team doesn't need to involve them again if they ever want to make changes to reward values in the future.
// Node.js webhook example
app.post('/your/webhook/payload-url', function(req, res) {
const body = req.body;
try {
if (body.event === 'PARTICIPANT_REACHED_A_GOAL') {
// Write code here to do something when a participant wins a reward
console.log(`${body.data.participant.email} just won this reward: ${body.data.reward.description}`);
// If the reward is approved
if (body.data && body.data.reward && body.data.reward.approved) {
// Do something
// Optional: If there is any reward metadata, use it:
if (body.data.reward.metadata && body.data.reward.metadata["proRewardValue"]) {
console.log(`${body.data.participant.email} earned an amount of ${body.data.reward.metadata["proRewardValue"]}.`);
}
}
// If this is a double-sided reward, use body.data.reward.isReferrer to determine if this is for the referrer or referred person
if (body.data && body.data.reward && body.data.reward.isReferrer) {
// Do something
}
}
} catch (err) {
res.status(400).end();
}
res.json({received: true});
});
A referral portal lets your affiliates easily share their referral link and track their referral progress. GrowSurf provides the following low/no-code solutions.
GrowSurf also provides a hosted referral portal, which comes out-of-the-box with every program. You can use this for affiliates who are non-users of your product or external partners. Custom domains are supported (e.g, https://refer.yoursite.com).

The GrowSurf window is a popup that will display the user's unique referral link, along with other details like their referrals, stats, commissions, and payouts. You can make it open when a user clicks on a button in your UI. Simply add the CSS class
growsurf-window-open to your button and pass in your logged-in user's email address to the data-grsf-email data attribute.Copy/paste this code:
<a class="growsurf-window-open"
data-grsf-email="[email protected]"
data-grsf-first-name="Gavin"
data-grsf-last-name="Belson">
Give $100, Get $100
</a>
Create your own "Refer and Earn" page and simply paste Embeddable Element snippets onto it to create your own user portal. When your users are logged in, they will automatically see their referral link and can start sharing without having to sign up. If they don't have a referral link yet, one will automatically be generated for them if you pass in their email address in the
data-grsf-email attribute.Referral Link - Embed a referral link widget directly into your user portal

Copy/paste this code into your user portal:
<div data-grsf-block-form
data-grsf-email="[email protected]"
data-grsf-first-name="Gavin"
data-grsf-last-name="Belson"
></div>
Invite Form - Let your users send direct email invites to their friends

Copy/paste this code into your user portal:
<div data-grsf-block-invite></div>Referral Status - Display a participant's referral status

Copy/paste this code into your user portal:
<div data-grsf-block-referral-status></div>Embeddable elements can be customized to match your brand's look and feel. See our docs for more details.
Connect to an email service provider (ESP) integration to display referral links to your users from your own emails.
Display referral links in your transactional and promotional emails

Chargebee
Webhooks

