Short answer
RaftLabs built GrowViral, a white-label referral and viral SaaS marketing platform for a US digital marketing agency. The platform enables marketers, agencies, and businesses to create and manage referral programs, sweepstakes, social contests, and affiliate campaigns from one dashboard. GrowViral integrates with 12+ third-party tools, delivers 2.5x higher conversion rates for active campaigns (client-reported), and uses unique URL tracking for precise referral attribution across social, email, and direct links. Features include an embeddable campaign builder, custom domain hosting with SSL, automated winner selection, and affiliate commission management. Built in 14 weeks using Hasura, NestJS, Next.js, and React.
The situation
A digital marketing agency managing referral campaigns for multiple clients across separate tools (email in one platform, social contests in another, affiliate tracking in a spreadsheet) cannot give any client a clear picture of what drove a conversion. When attribution is fragmented, the strategic value of referral marketing disappears into manual reconciliation.
The agency needed a platform that could house every campaign type in one place, attribute conversions to specific referrers, and let non-technical marketers build and embed campaigns without a developer on every project. We built GrowViral for that. Referral programs, sweepstakes, social contests, and affiliate campaigns all run from the same dashboard with unique URL tracking across every channel. The client reported that conversion rates increased 2.5x for active campaigns. The platform integrates with 12+ marketing tools.
Most referral programs fail for a boring reason: they are launched as a substitute for word-of-mouth instead of an amplifier of it. A bigger reward cannot rescue a program with nothing real underneath. And the code kills the recommendation: hand someone a code to paste and you have quietly told them the thing they are doing is affiliate marketing, not gratitude, with a bounty on their friend's head. GrowViral's job is to amplify what is already real and attribute every conversion honestly.

Engagement
The GrowViral engagement
- Product
- GrowViral, a referral and viral marketing SaaS platform for agencies and businesses
- What we built
- One dashboard for referral programs, sweepstakes, social contests, and affiliate campaigns: a drag-and-drop campaign editor, embeddable widgets, unique URL attribution across every channel, and automated affiliate payouts
- Stack
- SaaS platform, drag-and-drop editor, unique URL tracking layer, 12+ marketing tool integrations
- Status
- Live. The client reported 2.5x higher conversion rates for active campaigns
Before and after
What changed
- The agency ran separate tools for email marketing, referral tracking, social contests, and affiliate management: no unified view of campaign performance across channels existed
- Creating a campaign for a client required configuring multiple third-party platforms and manually reconciling performance data from each source
- Referral attribution was unreliable; clients could not trace which referrer, channel, or campaign drove a specific conversion, making optimization guesswork
- Running a sweepstakes or social contest required custom development work for each campaign; no reusable structure existed for the agency's full client roster
- Affiliate partner performance and commission tracking happened in spreadsheets with no automation, frequent payout errors, and hours of monthly reconciliation
- All campaign types (referral programs, sweepstakes, social contests, affiliate programs) are created, launched, and monitored from one dashboard with consistent attribution logic
- Unique tracking URLs attribute each conversion to the specific referrer, channel, and campaign that drove it, giving clients a clear picture of what is working
- Non-technical marketers use a drag-and-drop campaign editor to build embeddable campaign widgets and embed them on any client website without developer involvement
- Sweepstakes and social contests run from the same campaign structure with automated winner selection and public results pages published at close
- Affiliate partner performance, commission tracking, and payout records are automated within the platform, replacing spreadsheet management
What we had to solve
Building a template editor that produces professional, embeddable output for non-technical marketers
A drag-and-drop campaign editor that looks flexible in a demo but produces brittle HTML when embedded on client websites is worse than a simple static template. The editor had to generate clean, embeddable widgets that displayed correctly on any website's existing stylesheet, scaled for mobile, and did not require the receiving site to add any CSS override. Building that underlying output layer while keeping the editing experience accessible to marketers with no HTML knowledge was the front-end engineering challenge at the core of the product.
Tracking referral attribution reliably across social platforms, email, and direct links
Referral attribution is only useful if it is accurate. Social platform sharing, email forwarding, and direct link copying each handle tracking parameters differently: some strip query strings, some truncate URLs, some cache pages that lose the original parameters. Building a unique URL system that maintained attribution through those paths, handled edge cases where the tracking parameter was lost, and flagged suspicious patterns (same referral link used from many different IPs in a short window) required careful design of the tracking layer before any campaign mechanic was built on top of it.
Proof
What the client reported, and what this page can't claim
Performance and integration figures reported by the client. These are operator reports, not independently audited measurements.
| Result | What changed | Period or context | Evidence and limitation |
|---|---|---|---|
| Conversion lift | 2.5x higher conversion rate for active campaigns | Unique tracking URLs attribute each conversion to the specific referrer, channel, and campaign that drove it, giving clients a clear picture of what is working | Client-reported |
| Integrations | 12+ third-party marketing tools connected | Replacing manual data export and import between the email, CRM, and analytics tools clients already used | Client-reported |
| Delivery | Concept to a live SaaS platform in 14 weeks | Referral programs, sweepstakes, social contests, and affiliate campaigns, all from the same dashboard with a drag-and-drop campaign editor | Product-recorded |
the build
What we built
GrowViral is built around one commitment: every campaign mechanic a marketer configures in the dashboard maps directly to an attributable, embeddable output their clients can deploy on any website.
Marketers build campaigns without HTML or a developer
Marketers create campaigns using a visual editor that requires no HTML knowledge. Campaign components (entry forms, referral links, social share buttons, prize descriptions, countdown timers) are dragged, configured, and previewed in real time. The output is a clean embeddable widget that drops into any client website via a script tag without requiring CSS overrides or developer involvement on the receiving site.

Every referrer's contribution attributed, no spreadsheets
Each campaign participant receives a unique referral URL that persists across social sharing, email forwarding, and direct linking. Conversions and actions are attributed to the specific referrer who drove them. The attribution dashboard shows each referrer's contribution: clicks, conversions, commission earned, and campaign entries, replacing manual spreadsheet tracking with a live, queryable record.

Campaigns drop into any client site with one script tag
Campaign widgets embed on any web page with a single script tag: opt-in pages, welcome pages, product pages, thank-you pages. The widget renders the configured campaign mechanics without requiring the host site to use a specific CMS or framework. Campaigns can also be shared as standalone pages hosted on custom domains with automatic SSL certification, so clients with no website can still run the campaign.

All client campaigns in one view, results export at close
All active campaigns (referral programs, sweepstakes, social contests, affiliate programs) are visible in one dashboard. Real-time analytics show conversion rates, referral chain depth, top performers, and channel breakdown per campaign. Agencies see aggregate performance across all client accounts; individual clients see only their own data. At campaign close, the platform generates a full results page and exports winner data for payout processing.

The lesson
Attribution is the product
A referral platform that cannot say exactly which referrer drove which conversion is a campaign gallery with extra steps. When attribution is fragmented, the strategic value of referral marketing disappears into manual reconciliation. The agency could not tell clients what drove a conversion, which meant it could not optimize, which meant it could not prove the channel worked.
GrowViral was built tracking-first. The unique URL layer was designed before any campaign mechanic: social sharing, email forwarding, and direct link copying each handle tracking parameters differently, and the system had to maintain attribution through all of them while flagging suspicious patterns like the same referral link used from many different IPs in a short window. Campaigns are what the marketer sees. Attribution is what the client pays for.
How it runs
- Hasura
- Campaign performance data (referral events, click tracking, conversion attribution, affiliate activity) needed to update in real time across the dashboard. Hasura's auto-generated GraphQL API eliminated the need to write repetitive data-fetch endpoints for every campaign metric type.
- NestJS
- The business logic layer (campaign eligibility rules, unique URL generation, winner selection algorithms, affiliate commission calculation, and fraud pattern detection) required structured, testable service modules. NestJS's architecture kept each domain organized as the feature set expanded.
- Next.js
- Campaign landing pages needed fast server-side rendering so that a referral link shared on social media loaded instantly. A slow-loading campaign page kills the conversion the referral was meant to drive. Next.js served those pages from cache with ISR revalidation.
- React
- The drag-and-drop campaign template editor required a rich client-side interaction model that server rendering cannot support. A dedicated React SPA for the admin gave us full control over the editor's real-time preview, component drag behavior, and the embeddable widget output generation.
Common questions
GrowViral supports four campaign types from the same platform: referral programs (existing users earn rewards for bringing new signups or customers), sweepstakes (entries awarded for specific actions with a random winner at close), social contests (entries earned by sharing on social platforms with optional leaderboard ranking), and affiliate programs (external partners earn commission on attributed conversions). Each campaign type uses the same template editor, attribution infrastructure, and reporting dashboard. A single agency can run all four types for different clients without switching tools.
Each participant's referral URL carries a persistent tracking parameter that survives social platform sharing, email forwarding, and direct link copying in most scenarios. For cases where platforms strip query parameters (some social media platforms cache and redirect URLs), GrowViral uses a server-side redirect that reconstructs attribution from the original registration. The system also monitors for unusual patterns (the same referral link used from many distinct IP addresses in a short window) and flags those for review rather than crediting them automatically.
Yes. GrowViral was designed as a white-label platform from the start. Agencies can configure their own domain, branding, and client subdomain structure. Each client account operates independently within the agency's instance: clients see their own campaigns and data, not other clients' information. Campaign templates can be styled to match each client's brand without affecting the platform's underlying mechanics. The agency manages billing, onboarding, and support relationships directly; their clients interact only with the agency-branded interface.
Integrations cover the main categories marketing teams use: email marketing platforms (for syncing campaign subscribers directly into email sequences), CRM systems (for attribution data to appear in deal records), analytics tools (for campaign event data to flow into existing reporting), and social platforms (for share-trigger tracking). Integrations are configured per campaign from the dashboard without writing API code. For tools without a native connector, a webhook layer sends campaign events to any endpoint in real time.
We delivered GrowViral (drag-and-drop campaign editor, embeddable widget generation, unique URL tracking, four campaign type mechanics, affiliate commission management, automated winner selection, 12+ integrations, and a unified analytics dashboard) in 14 weeks. The most complex pieces were the attribution layer (reliable tracking across platforms) and the template editor's output quality (clean embeddable HTML). A platform supporting only one campaign type with basic tracking would be faster. Contact us to scope based on your campaign mechanics, integration requirements, and white-label needs.
Related work
More work like this

AI phone agents automate global feedback loops through voice interviews
Text surveys only reached people comfortable filling out forms. We built a voice platform that calls anyone with a phone, runs the interview, and has the findings ready when the last call ends.

Musgrave receipt scanning software case study for SuperValu and Centra
Musgrave's post-campaign report records 1,062 users and 1,610 receipt submissions. At the reporting snapshot, 1,158 were AI approved, 409 AI rejected, 4 manually approved, 10 manually rejected, and 29 remained processing.

Brux ships a dental marketing SaaS: AI smile previews, GoHighLevel sync, and self-serve onboarding built for 1,000-office scale
Brux Smile Makeover is a dental marketing SaaS where patients upload a selfie and get a lifelike AI smile preview in seconds. We built the AI pipeline, GoHighLevel two-way CRM sync, Stripe billing, and self-serve QR flyer onboarding built for 1,000-office scale.