Create an Affiliate Program with Outseta
Step-by-step guide to integrating affiliate tracking with your Outseta SaaS and membership platform
Outseta is an all-in-one platform for SaaS businesses that combines CRM, billing, email marketing, and membership management. If you're using Outseta to run your SaaS or membership business and want to grow through affiliate marketing, AffiliateBase provides seamless integration.
This comprehensive guide will walk you through everything you need to know about setting up an affiliate program with Outseta, from webhook configuration to tracking subscription sign-ups, membership purchases, and customer upgrades.
Whether you're running a SaaS product, membership site, or subscription service, an affiliate program can help you acquire new customers while rewarding your partners for successful referrals.
Follow these steps to integrate AffiliateBase with Outseta:
Set Up Outseta Webhooks
https://api.affiliatebase.com/webhooks/outseta
Select Webhook Events
Add Webhook Secret to AffiliateBase
Configure Commission Rules
Pass Affiliate IDs to Outseta
Test the Integration
Outseta Webhook Handler Example
Here's an example of how to handle Outseta webhooks for affiliate tracking:
// Example: Next.js API route for Outseta webhooks
import { headers } from 'next/headers';
import crypto from 'crypto';
import { AffiliateBase } from '@affiliatebase/sdk';
const affiliateBase = new AffiliateBase({
apiKey: process.env.AFFILIATEBASE_API_KEY!,
});
export async function POST(request: Request) {
const body = await request.text();
const signature = headers().get('x-outseta-signature')!;
// Verify webhook signature
const expectedSignature = crypto
.createHmac('sha256', process.env.OUTSETA_WEBHOOK_SECRET!)
.update(body)
.digest('hex');
if (signature !== expectedSignature) {
return new Response('Invalid signature', { status: 401 });
}
const event = JSON.parse(body);
// Handle different event types
switch (event.type) {
case 'subscription.created':
await affiliateBase.trackConversion({
affiliateId: event.data.subscription.metadata?.affiliateId,
type: 'subscription',
amount: event.data.subscription.amount,
currency: event.data.subscription.currency,
customerId: event.data.subscription.customer_id,
subscriptionId: event.data.subscription.id,
metadata: {
plan_id: event.data.subscription.plan_id,
plan_name: event.data.subscription.plan_name,
},
});
break;
case 'transaction.completed':
await affiliateBase.trackConversion({
affiliateId: event.data.transaction.metadata?.affiliateId,
type: 'transaction',
amount: event.data.transaction.amount,
currency: event.data.transaction.currency,
customerId: event.data.transaction.customer_id,
metadata: {
transaction_id: event.data.transaction.id,
subscription_id: event.data.transaction.subscription_id,
},
});
break;
case 'customer.created':
// Only track if customer has a paid subscription
if (event.data.customer.subscription_id) {
await affiliateBase.trackConversion({
affiliateId: event.data.customer.metadata?.affiliateId,
type: 'customer_signup',
amount: event.data.customer.subscription?.amount,
currency: event.data.customer.subscription?.currency,
customerId: event.data.customer.id,
subscriptionId: event.data.customer.subscription_id,
});
}
break;
case 'subscription.updated':
// Track subscription upgrades/downgrades
if (event.data.subscription.previous_amount !== event.data.subscription.amount) {
await affiliateBase.trackConversion({
affiliateId: event.data.subscription.metadata?.affiliateId,
type: 'subscription_upgrade',
amount: event.data.subscription.amount - event.data.subscription.previous_amount,
currency: event.data.subscription.currency,
customerId: event.data.subscription.customer_id,
subscriptionId: event.data.subscription.id,
});
}
break;
}
return new Response(JSON.stringify({ received: true }), { status: 200 });
}
Why Use AffiliateBase with Outseta?
AffiliateBase is the perfect solution for Outseta users who want powerful affiliate tracking without complexity.
Native Outseta Integration
Built-in integration with Outseta webhooks. Automatically tracks subscription sign-ups, transactions, and upgrades without custom code.
SaaS-Focused Features
Perfect for SaaS businesses using Outseta. Tracks subscription lifecycle events including renewals, upgrades, and downgrades.
Subscription Lifecycle Tracking
Tracks subscription renewals, upgrades, downgrades, and cancellations. Ensures affiliates receive commissions for recurring revenue.
Multiple Subscription Plans
Support for different commission rates based on subscription plan or tier. Perfect for SaaS products with multiple pricing tiers.
Real-Time Tracking
Track conversions in real-time as customers subscribe or upgrade. No delays or batch processing.
Affiliate Dashboard
Give your affiliates a professional dashboard to track their performance, view commissions, and generate affiliate links for your SaaS product.
Frequently Asked Questions
Does AffiliateBase work with Outseta? ▼
Yes! AffiliateBase integrates seamlessly with Outseta through webhooks. It automatically tracks subscription sign-ups, transactions, and subscription upgrades.
How are subscription sign-ups tracked? ▼
AffiliateBase tracks Outseta subscriptions through webhooks. When a customer subscribes via an affiliate link, the subscription.created or customer.created webhook triggers affiliate tracking and commission calculation.
Can I track subscription renewals? ▼
Yes! AffiliateBase tracks Outseta subscription renewals automatically through the transaction.completed webhook. When a customer's subscription renews, the original affiliate receives commission for the renewal, ensuring they're rewarded for recurring revenue.
What happens when a customer upgrades or downgrades? ▼
AffiliateBase tracks subscription changes through the subscription.updated webhook. The original affiliate maintains attribution, and commissions can be calculated based on the upgrade amount or new subscription level.
Can I set different commission rates for different subscription plans? ▼
Yes! You can configure different commission structures in AffiliateBase based on subscription plan, tier, or price. This gives you full control over your affiliate program.
How do I add affiliate tracking to my Outseta sign-up URLs? ▼
Add affiliate tracking parameters to your Outseta sign-up URLs (e.g., ?ref=AFFILIATE_ID). AffiliateBase will capture these parameters and attribute conversions correctly when customers subscribe.
Does it work with Outseta's CRM and email features? ▼
Yes! Since Outseta is an all-in-one platform, AffiliateBase integrates with Outseta's subscription and billing features. The webhook integration works seamlessly with Outseta's complete platform.
Related Platform Guides
Create an Affiliate Program with Next.js
Complete guide to setting up an affiliate program in Next.js. Step-by-step integration with code examples and best practices for Next.js developers.
Create an Affiliate Program with Nuxt
Complete guide to setting up an affiliate program in Nuxt. Step-by-step integration with Nuxt 3, server routes, and composables for Vue developers.
Create an Affiliate Program with WordPress
Complete guide to setting up an affiliate program in WordPress. Step-by-step integration with plugins, themes, and Stripe for WordPress SaaS and membership sites.
Create an Affiliate Program with Webflow
Complete guide to setting up an affiliate program in Webflow. Step-by-step integration with Webflow CMS, custom code, and forms for no-code developers.
Create an Affiliate Program with React
Complete guide to setting up an affiliate program in React. Step-by-step integration with React hooks, context, and components for React developers.
Ready to Launch Your Outseta Affiliate Program?
Get started with AffiliateBase today and start growing your Outseta SaaS or membership business through affiliate marketing.