Why Your SaaS Needs an Affiliate Program
Affiliate marketing is one of the most cost-effective growth channels for SaaS. Here is why:
The problem? Setting up an affiliate program has historically been complex: tracking scripts, payout management, tax forms, fraud prevention. Tolt eliminates all of that.
In this guide, I will walk through the complete technical setup.
Step 1: Create Your Tolt Account (2 minutes)
1. Go to tolt.io and click "Start your 14 days trial"
2. Enter your email and create a password
3. Fill in your company name and website URL
4. Select your payment processor (Stripe, Paddle, or Chargebee)
No credit card required. You get full access for 14 days.
Step 2: Connect Your Payment Processor (5 minutes)
Stripe Integration
Tolt uses OAuth to connect with Stripe. Click "Connect Stripe" and authorize the connection. Tolt will:
Important: Tolt offers both client-side and server-side tracking.
Client-side tracking (easiest):
Add the Tolt script to your website's head tag:
<script src="https://cdn.tolt.io/tolt.js" data-tolt="YOUR_TOLT_ID"></script>For Next.js apps, add it to your `layout.tsx`:
import Script from 'next/script';
export default function RootLayout({ children }) {
return (
<html>
<body>
{children}
<Script
src="https://cdn.tolt.io/tolt.js"
data-tolt="YOUR_TOLT_ID"
strategy="afterInteractive"
/>
</body>
</html>
);
}Server-side tracking (more reliable):
For SaaS apps where the signup happens on a different subdomain (e.g., app.yourdomain.com), server-side tracking is more reliable:
// When a user signs up, pass the tolt_referral cookie to Stripe
import Stripe from 'stripe';
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);
async function createCustomer(email: string, toltReferral: string | null) {
const customer = await stripe.customers.create({
email,
metadata: {
// Tolt reads this metadata to attribute the referral
tolt_referral: toltReferral || '',
},
});
return customer;
}Tolt automatically reads the `tolt_referral` metadata from Stripe customers to attribute referrals.
Cross-Subdomain Tracking
If your marketing site is on `yourdomain.com` and your app is on `app.yourdomain.com`, Tolt handles this automatically. The tracking cookie is set on the root domain, so it persists across subdomains.
Step 3: Configure Your Commission Structure (3 minutes)
Go to Tolt Dashboard > Settings > Commissions.
Recommended Structures
For low-price SaaS ($10-30/month):
For mid-price SaaS ($50-200/month):
For high-price SaaS ($200+/month):
Setting Up Double-Sided Rewards
This is the most effective strategy I have tested. Go to Settings > Coupons:
1. Create a coupon in your Stripe dashboard (e.g., 20% off first 3 months)
2. Link the coupon in Tolt
3. Affiliates share a link that automatically applies the discount
Result: The referred customer gets a deal AND the affiliate earns commission. Win-win.
Step 4: Set Up Your Branded Affiliate Portal (5 minutes)
Custom Domain
1. Go to Settings > Domain
2. Enter your subdomain: `affiliates.yourdomain.com`
3. Add a CNAME record in your DNS:
- Host: `affiliates`
- Value: `custom.tolt.io`
4. Wait for DNS propagation (usually 5-30 minutes)
Branding
1. Go to Settings > Branding
2. Upload your logo (recommended: 200x50px PNG with transparency)
3. Set your primary color (matches your brand)
4. Set your background color
5. Add a welcome message for new affiliates
Resources Page
Tolt lets you create a resources page for affiliates with:
This is crucial. The easier you make it for affiliates to promote your product, the more they will do it.
Step 5: Set Up Auto Payouts (2 minutes)
On the Growth plan ($99/mo) or higher:
1. Go to Settings > Payouts
2. Enable Auto Payouts
3. Choose your payout method (PayPal, Wise, or Payoneer)
4. Set payout frequency (monthly recommended)
5. Set minimum payout threshold ($50 recommended)
Tolt will automatically pay affiliates on the schedule you set. A 2% processing fee applies.
On the Basic plan, you export a CSV of pending payouts and process them manually through PayPal Mass Payments or Wise Batch Payments.
Step 6: Recruit Your First Affiliates
The hardest part of affiliate marketing is not the technology -- it is finding good affiliates.
Strategy 1: Convert Your Users into Affiliates
Your happiest customers are your best affiliates. They already know and love your product.
Strategy 2: Find Niche Bloggers and YouTubers
Search for people already reviewing products in your category:
Reach out with a personalized message:
"Hey [Name], I saw your review of [Competitor]. We built [Your Product] which does X differently. Would you be interested in trying it? We also have an affiliate program (30% recurring commission)."
Strategy 3: Join Affiliate Networks
List your affiliate program on:
Strategy 4: Use Tolt's Approval System
Tolt lets you choose between:
I recommend starting with manual approval and switching to auto-approve once you have a good screening process.
Step 7: Track and Optimize
Key Metrics to Watch
Conversion Rate = Paid Conversions / Total Clicks
Target: 2-5% is good, 5%+ is excellent
Affiliate Activation Rate = Affiliates with 1+ referral / Total Affiliates
Target: 20-30% is normal
Revenue per Affiliate = Total Affiliate Revenue / Active Affiliates
Target: Varies, but track monthly growthCommon Issues and Fixes
Low click volume:
High clicks but low conversions:
High trial signups but low paid conversions:
Advanced: Webhook Integration
For custom workflows, Tolt sends webhooks for key events:
// API route to handle Tolt webhooks
import { NextRequest, NextResponse } from 'next/server';
export async function POST(req: NextRequest) {
const event = await req.json();
switch (event.type) {
case 'referral.created':
// New referral tracked
console.log(`New referral from affiliate: ${event.data.affiliate_id}`);
// Send Slack notification, update CRM, etc.
break;
case 'referral.converted':
// Referral became a paying customer
console.log(`Conversion! Revenue: $${event.data.amount}`);
// Trigger celebration in Slack
break;
case 'payout.completed':
// Affiliate was paid
console.log(`Paid $${event.data.amount} to ${event.data.affiliate_email}`);
break;
}
return NextResponse.json({ received: true });
}The Affiliate Page for Your Website
Create a public `/affiliates` page on your site to attract new affiliates:
export default function AffiliatePage() {
return (
<div>
<h1>Join Our Affiliate Program</h1>
<p>Earn 30% recurring commission for every customer you refer.</p>
<div className="benefits">
<div>30% Recurring Commission</div>
<div>90-Day Cookie Duration</div>
<div>Monthly Auto Payouts</div>
<div>Branded Dashboard</div>
</div>
<a href="https://affiliates.yourdomain.com/signup">
Apply Now
</a>
</div>
);
}Results and ROI
After 4 months with Tolt:
| Investment | Amount |
|---|---|
| Tolt subscription | $396 (4 months x $99) |
| Commission paid | $4,520 |
| Total cost | $4,916 |
| Revenue generated | $15,060 |
| Net profit | $10,144 |
| ROI | 3.1x |
And it compounds. Affiliates continue promoting month after month. The revenue grows while the Tolt cost stays flat.
Conclusion
Launching an affiliate program with Tolt is genuinely a 15-minute task. The harder part is recruiting quality affiliates and optimizing your funnel. But Tolt handles all the technical complexity so you can focus on growth.
My recommendation:
1. Start with the 14-day free trial
2. Connect Stripe and set 30% recurring commission
3. Invite your top 10 customers as affiliates
4. Create a /affiliates page on your site
5. Iterate from there
The affiliate channel will not explode overnight, but it compounds. And at $69-99/month with zero commission, the economics are hard to beat.
Get started: tolt.io