Referral share moments across the SaaS lifecycle
A referral share moment converts best when triggered at SaaS activation, upgrade, and renewal, each needing its own widget placement and reward prompt.

Referral share moments across the SaaS lifecycle
A referral share moment in B2B SaaS is a specific, timed referral prompt, not a floating widget bolted onto every page. The strongest moments fire at three points: activation, upgrade, and renewal. Each stage carries different user intent, so each needs its own trigger, copy, and reward logic.
What counts as a referral share moment in a SaaS product
A referral share moment is any point in the product where ReferralFlo's embeddable widget or SDK-triggered custom flow asks a user to share a referral link. ReferralFlo supports both a default React widget or iframe embed and a TypeScript/JS SDK for building a custom moment tied to a specific in-app event, like a plan upgrade or contract renewal.
ReferralFlo's default widget covers the low-effort case: a persistent share icon or embedded block that appears via a set placement, with copy and reward terms configured once in the dashboard. High-intent moments work differently. An SDK-triggered custom moment fires off a specific webhook event, such as a Stripe subscription update or a HubSpot deal-stage change, and can show a tailored reward only to users who just crossed that threshold.
Activation: the first share moment a new user sees
Activation is the first trigger point. It usually lands the moment a new account completes onboarding or hits a defined 'aha' event. ReferralFlo's default widget can appear at account setup completion with a generic double-sided offer. A custom SDK moment instead fires only after a specific product event, like connecting a data source or sending a first campaign.
Firing the default widget too early, before a user has experienced value, usually produces low-quality referrals: friends invited out of politeness rather than conviction. A better pattern ties the SDK trigger to a real usage milestone and holds the reward in escrow until that milestone repeats for the referred account. For a deeper breakdown of where in the activation flow to place the prompt, see where to place your in-product share moment.
Upgrade: prompting referrals when the account expands
An upgrade share moment should fire right after a plan change closes, not on a fixed schedule. ReferralFlo's SDK can listen for a Stripe subscription-updated event or a HubSpot deal-stage change via webhook, then surface a custom moment to the specific account that just moved tiers, often with a bigger reward reserved for higher-value plans.
ReferralFlo's default widget has no concept of plan tier. It shows the same offer to a free user and an enterprise admin. A custom moment fixes that by reading the event payload and branching the reward logic accordingly. Stripe's own webhook documentation describes exactly this pattern: subscribe to a specific event type, verify the payload signature, then act only on the fields relevant to that account.
Renewal: the contract window most teams skip
Renewal is the least-used referral trigger in B2B SaaS, even though it sits next to the moment a customer is most convinced the product is worth paying for again. A custom moment fired at contract renewal, with the reward held in ReferralFlo's escrow until the renewal actually closes, captures that conviction before it fades.
A renewal date rarely lives inside the product UI. The default widget has nothing to hook into there. An SDK-triggered moment instead listens for a closed-renewal event pushed from HubSpot or Salesforce, as described in HubSpot's webhook subscriptions documentation, and only then prompts the account owner. Holding the payout in escrow until the deal is marked closed keeps the reward tied to a completed renewal rather than an abandoned one.
Default widget or SDK-triggered moment: how the three stages compare
Choosing between ReferralFlo's default widget and an SDK-triggered custom moment comes down to how much the reward and copy need to vary by account state. Activation can often run on the default widget. Upgrade and renewal almost always need a custom moment, because the trigger condition and reward size depend on data the widget alone cannot see.
| Lifecycle stage | Default widget | SDK-triggered custom moment |
|---|---|---|
| Activation | Fixed copy, shown to every new account at onboarding completion | Fires only after a named product event, like a first campaign sent or a data source connected |
| Upgrade | Same offer regardless of plan tier | Branches reward by tier, triggered by a Stripe or HubSpot webhook |
| Renewal | No native trigger; a renewal date isn't a UI event | Listens for a closed-renewal event from HubSpot or Salesforce, reward held in escrow until the deal closes |
Getting referral widget placement right without hurting activation flow
Referral widget placement should never compete with the action that proves product value. A share prompt that interrupts a first campaign send or a checkout step costs more in activation drop-off than it gains in referrals. The safer pattern places the prompt immediately after the value moment completes, using the SDK to confirm the event fired before the share flow ever renders.
Run the attribution check inside ReferralFlo's Growth Graph before locking placement. Confirm the link format with the trackable link generator, and connect the triggering system through the integrations hub so the webhook actually fires when you think it does. Test each trigger point on a staging account first. A share moment that never renders is worse than one that renders at the wrong time.
Frequently asked questions
When should a B2B SaaS referral prompt appear during onboarding?
A referral prompt should appear only after a new account hits a defined activation event, such as sending a first campaign, not during the onboarding checklist itself.
Can the same referral widget work for activation, upgrade, and renewal?
A single default widget can cover activation, but upgrade and renewal usually need an SDK-triggered custom moment, because the reward size and trigger condition depend on plan tier or deal-stage data the widget can't read.
What triggers a renewal-stage referral share moment?
A closed-renewal event pushed from HubSpot or Salesforce through a webhook, with the reward held in ReferralFlo's escrow until the renewal deal is marked closed.
Does ReferralFlo support webhook-triggered referral moments?
Yes. ReferralFlo's SDK and webhook system let teams fire a custom share moment off events from Stripe, HubSpot, or Salesforce, instead of relying only on the default embeddable widget.

Referral program specialist and researcher who helps businesses turn referrals into a stable, scalable, and transparent distribution channel.
23 articles by this author →Put the share moment where it converts.
Drop-in React widget, iframe embed, or Shopify theme block. Live in an afternoon.
Related reading

A Shopify referral widget that won't slow checkout
A Shopify referral widget at the post-purchase step can lift referral signups without slowing checkout, provid…


Where to Place Your In-Product Share Moment for Maximum Conversion
Where to trigger in-product referral widgets: signup, activation, upgrade, renewal or post-purchase, plus A/B …


The referral email template that gets opened and clicked
A referral email template that covers subject lines, send timing tied to lifecycle triggers, one clear ask, an…

