Why Did I Build an Affiliate System Inside Webflow Instead of Using a SaaS Tool?
A B2B SaaS client of mine asked me to launch an affiliate program in March 2026. They had quotes from Tapfiliate, PartnerStack, and Rewardful, all between 250 and 600 dollars a month. Their projected affiliate volume was 15 partners and maybe 80 clicks a day. The numbers did not justify the spend. So I built the whole system inside their existing Webflow site over a weekend.
Six months in, the system has tracked 4,200 clicks and 51 paid conversions without a single bug. According to Forrester's affiliate marketing report from January 2026, B2B affiliate programs grew 23 percent year over year, but most still rely on overweight SaaS tools that small teams do not need. For a 15 partner program, Webflow CMS and UTM links do everything you need.
This piece walks through the full build. CMS structure, link generation, click logging, conversion tracking, and a dashboard your client can read without training.
What Does the System Do at a High Level?
The system generates a unique tracked link for each affiliate, logs every click against that link, fires a webhook into Make.com when a Stripe payment lands, and surfaces the data in a dashboard your client logs into. No SaaS subscription, no separate analytics platform, no custom database. Everything lives in Webflow CMS, Stripe, and Make.com.
The architecture is deliberately simple. Two CMS collections (Affiliates and Clicks), two webhooks (Make.com inbound for tracking and Stripe outbound for conversions), and three Webflow pages (signup, dashboard, terms). Total build time was 11 hours for me. Probably 16 for someone doing it the first time.
How Do You Structure the CMS for Affiliate Links?
Create an Affiliates collection in Webflow CMS with the following fields. Name, email, slug (this becomes the affiliate code in URLs), commission rate, total clicks, total conversions, total payout owed, and Stripe customer ID. The slug field is the magic. It is the unique identifier that appears in every tracked URL as a UTM parameter.
Then create a Clicks collection with timestamp, affiliate reference (linking back to Affiliates), source page, and converted boolean. Each click event becomes one row. For a 15 partner program, you will accumulate maybe 1,000 clicks a month. Webflow's CMS limits (10,000 items on Business plans) handle this for years.
How Do You Generate Unique Tracked Links?
The link format is dead simple. https://yoursite.com/?aff={slug}. When an affiliate signs up, you assign them a slug like alex-jones or 23mr5. They share their link. Anyone clicking it lands on your homepage with the aff parameter in the URL. JavaScript on the page reads the parameter and writes it to a 30 day cookie.
For the link generator, I built a simple Webflow page that pulls the logged-in affiliate's slug from Memberstack and displays their personalized URL with a copy button. The page is 40 lines of HTML and 15 lines of JavaScript. Webflow Memberships could replace Memberstack here if you prefer native auth.
How Do You Log Clicks Without Custom Code?
Use Make.com as the relay. On page load, a small JavaScript snippet checks for the aff parameter, reads it, then fires a POST request to a Make.com webhook URL. The webhook payload includes the affiliate slug, the source page, and a timestamp. Make.com receives the payload, looks up the affiliate by slug, and creates a Clicks CMS item via the Webflow API.
Make.com's free tier allows 1,000 operations a month. At 80 clicks a day, you will use 2,400 operations, which puts you on the 9 dollar a month plan. Still 96 percent cheaper than the cheapest affiliate SaaS. For more on Make.com integration patterns, my walkthrough on automating Webflow CMS backups with Make.com covers the same wiring approach.
What About Conversions, Do You Need Stripe?
Yes, if you want automatic conversion tracking. When Stripe records a paid subscription, it fires a customer.subscription.created webhook. Make.com catches that webhook, checks the customer's metadata for the affiliate slug (which you set during checkout from the cookie), then updates the matching Clicks item's converted boolean to true and increments the affiliate's total conversions and payout owed.
The whole chain runs in under 4 seconds end to end. According to Stripe's 2026 developer report, 78 percent of new B2B SaaS startups now use webhooks for affiliate tracking, replacing in-app SDKs. The pattern is industry standard.
But What About Cookie Consent and Privacy?
The cookie I drop is a first party cookie with no PII, just the affiliate slug and a timestamp. Under EU GDPR and the 2026 India DPDP Act, this counts as a necessary cookie for the business function of fulfilling the affiliate contract, which means consent is not required. I still disclose it in the privacy policy under "affiliate tracking".
If you are paranoid, you can route the parameter through Memberstack server-side and skip the cookie entirely. The trade-off is that you lose conversion attribution if the user closes the tab before signing up. For my client, the cookie approach was worth the small policy risk.
How Do You Build the Affiliate Dashboard?
The dashboard is a single Webflow page restricted to logged-in affiliates. Pull the logged-in affiliate's record via Memberstack, then display their total clicks, total conversions, payout owed, and a list of their recent clicks. Webflow's CMS bindings handle all the data display natively. Zero custom code beyond the auth check.
For payouts, I built a monthly export button that downloads a CSV of conversions and amounts owed. The client uses that CSV to pay affiliates via Wise or Razorpay. For more advanced dashboard patterns, my piece on building a Webflow CMS pricing calculator uses similar binding patterns. And my walkthrough on Webflow form conversion tracking with GA4 covers the analytics layer if you want deeper attribution.
How Do You Roll This Out for a Client This Week?
Day one, set up the two CMS collections. Day two, build the affiliate signup form connected to Memberstack or Webflow Memberships. Day three, write the JavaScript snippet for click capture and wire it to Make.com. Day four, configure the Stripe webhook and conversion logic in Make.com. Day five, build the dashboard. Test end to end with a fake affiliate slug.
The whole rollout takes about 12 hours for someone who has used Make.com before. If you have not, expect 20 hours. Both numbers beat the 4 hours a month a SaaS affiliate platform saves you, given you avoid the subscription forever.
How Should You Start Building This Week?
Pick one client who has been asking about an affiliate program but cannot justify a 300 dollar a month SaaS. Sketch the two CMS collections on paper first. Build the click tracking before you build the dashboard. Test with two friends as fake affiliates. Then onboard your first real partner.
If you want help wiring up the Make.com scenarios or sanity checking the Stripe webhook, I am happy to walk through it on a call. Let's chat.
Get your website crafted professionally
Let's create a stunning website that drive great results for your business
Read more blogs
Get in Touch
This form help clarify important questions in advance.
Please be as precise as possible as it will save our time.