Advocate start and invite send
Campaign
Referral Campaign Execution
From advocate start to reward issuance, referral campaigns stay traceable, policy-aware, and measurable. Every step in the referral lifecycle produces a clean record your team can act on.
Short-link click resolution
Order attribution and conversion lifecycle
Reward issuance and reporting
Step 1: Capture advocates
Start every referral with a real advocate identity, not an anonymous share link. Collect name and email before generating a personal campaign link. This gives you advocate-level analytics, enables targeted follow-up, and blocks anonymous abuse patterns before they start.
- Name and email collected as entry point to link generation
- Personal share link issued per advocate per campaign
- Advocate record created immediately in campaign analytics
- Entry form embeds into storefront via widget or headless API
- Duplicate advocate detection across existing program participants
Step 2: Drive referred sessions
When an advocate shares their link and a friend clicks, Sorae captures the referral context immediately, before the friend reaches your storefront. App proxy routing and session-persistent tokens keep that context intact through navigation, cart, and Shopify checkout transitions.
- App proxy short links route through Sorae before storefront landing
- Session token writes referral context on first page load
- Context persistence through storefront navigation and cart steps
- Checkout-aware attribution survives Shopify checkout transitions
- Click events logged for funnel analytics and conversion matching
Step 3: Convert and reward
After a referred order is placed, Sorae matches the referral context to the order and runs conversion eligibility checks. Self-referral, new-customer, and subtotal rules run before conversion is finalized. Once approved, reward issuance runs through the delay-window and retry-safe pipeline.
- Order attribute matching ties checkout to referral record
- Eligibility checks: self-referral, customer status, subtotal minimum
- Structured suppression for failed eligibility with operator visibility
- Delay window hold before reward issuance begins
- Retry-safe discount code generation with idempotent keys
- Reward status updates cascade through advocate funnel analytics
- Conversion and reward events sync to Klaviyo if connected