{"id":942,"date":"2026-04-29T13:00:00","date_gmt":"2026-04-29T18:00:00","guid":{"rendered":"https:\/\/tolinku.com\/blog\/?p=942"},"modified":"2026-03-07T04:46:04","modified_gmt":"2026-03-07T09:46:04","slug":"ecommerce-referral-deep-links","status":"publish","type":"post","link":"https:\/\/tolinku.com\/blog\/ecommerce-referral-deep-links\/","title":{"rendered":"E-Commerce Referral Deep Links: Share and Earn"},"content":{"rendered":"\n<p>Referral programs are one of the highest-ROI acquisition channels for e-commerce apps. A customer who loves your product shares a link with friends, the friends get a discount on their first order, and the referrer earns a reward. Deep links make this seamless: the referred friend taps one link, installs the app (if needed), and lands on a page with their discount already applied.<\/p>\n\n\n\n<p>For the general referral deep link guide, see <a href=\"https:\/\/tolinku.com\/blog\/referral-deep-links\/\">How Referral Deep Links Work<\/a>. For e-commerce referral program design, see <a href=\"https:\/\/tolinku.com\/blog\/referral-program-ecommerce\/\">Referral Programs for E-Commerce Apps<\/a>. For broader e-commerce deep linking patterns, see <a href=\"https:\/\/tolinku.com\/blog\/deep-linking-ecommerce-apps\/\">Deep Linking for E-Commerce Apps<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How Referral Deep Links Work in E-Commerce<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">The Flow<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Referrer shares a link<\/strong>: The app generates a unique referral link for the user<\/li>\n<li><strong>Friend taps the link<\/strong>: The link opens the app (or app store if not installed)<\/li>\n<li><strong>Attribution<\/strong>: The deep linking platform matches the click to the install\/open<\/li>\n<li><strong>Reward triggered<\/strong>: When the friend makes their first purchase, both parties get rewarded<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">The Deep Link<\/h3>\n\n\n\n<pre><code>https:\/\/go.yourapp.com\/invite\/JANE-SMITH-12?ref=user_abc123\n<\/code><\/pre>\n\n\n\n<p>This link carries two pieces of data:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>JANE-SMITH-12<\/code><\/strong>: A human-readable referral code<\/li>\n<li><strong><code>ref=user_abc123<\/code><\/strong>: The referrer&#39;s user ID (for attribution)<\/li>\n<\/ul>\n\n\n\n<p>When the friend opens the app, the referral data is available for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Auto-applying the friend&#39;s discount<\/li>\n<li>Displaying a personalized welcome (&quot;Jane invited you!&quot;)<\/li>\n<li>Tracking the referral for reward payout<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Generating Referral Links<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">In-App Link Generation<\/h3>\n\n\n\n<p>When the user taps &quot;Share&quot; or &quot;Invite Friends&quot; in your app:<\/p>\n\n\n\n<pre><code class=\"language-javascript\">async function generateReferralLink(userId, userName) {\n  const referralCode = generateCode(userName); \/\/ e.g., &quot;JANE-SMITH-12&quot;\n\n  const link = await Tolinku.createLink({\n    path: `\/invite\/${referralCode}`,\n    params: { ref: userId },\n    ogTitle: `${userName} invited you to [Your App]`,\n    ogDescription: &#39;Get $10 off your first order!&#39;,\n    ogImage: &#39;https:\/\/cdn.yourapp.com\/referral-og.jpg&#39;,\n  });\n\n  return link.url; \/\/ https:\/\/go.yourapp.com\/abc123 (short link)\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Share Sheet Integration<\/h3>\n\n\n\n<pre><code class=\"language-javascript\">import { Share } from &#39;react-native&#39;;\n\nasync function shareReferralLink() {\n  const link = await generateReferralLink(user.id, user.name);\n\n  Share.share({\n    message: `Here&#39;s $10 off your first order at [Your App]! Use my link: ${link}`,\n  });\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Pre-Generated Links<\/h3>\n\n\n\n<p>For users who want to share their link later (copying to social media, messaging apps):<\/p>\n\n\n\n<pre><code class=\"language-javascript\">\/\/ Store the user&#39;s permanent referral link\nconst permanentLink = `https:\/\/go.yourapp.com\/invite\/${user.referralCode}`;\n\n\/\/ Display in the referral screen\n&lt;TouchableOpacity onPress={() =&gt; Clipboard.setString(permanentLink)}&gt;\n  &lt;Text&gt;Copy your referral link&lt;\/Text&gt;\n&lt;\/TouchableOpacity&gt;\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Handling Referral Links in the App<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Direct Open (App Installed)<\/h3>\n\n\n\n<p>When a referred user with the app installed taps the link:<\/p>\n\n\n\n<pre><code class=\"language-javascript\">function handleReferralDeepLink(url) {\n  const parsed = new URL(url);\n  const pathParts = parsed.pathname.split(&#39;\/&#39;);\n  const referralCode = pathParts[pathParts.indexOf(&#39;invite&#39;) + 1];\n  const referrerId = parsed.searchParams.get(&#39;ref&#39;);\n\n  if (referralCode) {\n    \/\/ Store referral data\n    referralStore.setReferral({\n      code: referralCode,\n      referrerId: referrerId,\n    });\n\n    \/\/ Navigate to welcome screen or apply discount\n    navigation.navigate(&#39;ReferralWelcome&#39;, {\n      discount: &#39;$10 off your next order&#39;,\n      referrerName: referralCode.split(&#39;-&#39;).slice(0, -1).join(&#39; &#39;),\n    });\n  }\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Deferred Deep Link (App Not Installed)<\/h3>\n\n\n\n<p>This is the critical path. The friend doesn&#39;t have the app yet:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Friend taps the link<\/li>\n<li>Web page loads (showing the referral offer + app install buttons)<\/li>\n<li>Friend installs the app from the App Store \/ Play Store<\/li>\n<li>On first launch, the SDK checks for deferred deep link data<\/li>\n<li>The referral data is retrieved and applied<\/li>\n<\/ol>\n\n\n\n<pre><code class=\"language-javascript\">\/\/ On app first launch\nuseEffect(() =&gt; {\n  Tolinku.checkDeferredLink().then((result) =&gt; {\n    if (result &amp;&amp; result.path.startsWith(&#39;\/invite\/&#39;)) {\n      const referralCode = result.path.split(&#39;\/&#39;)[2];\n      referralStore.setReferral({\n        code: referralCode,\n        referrerId: result.params.ref,\n      });\n      navigation.navigate(&#39;ReferralWelcome&#39;);\n    }\n  });\n}, []);\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Reward Structures<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Double-Sided Rewards<\/h3>\n\n\n\n<p>The most effective structure rewards both parties. For a detailed breakdown of double-sided incentive design, see <a href=\"https:\/\/tolinku.com\/blog\/double-sided-referral-incentives\/\">Double-Sided Referral Incentives: Designing Rewards That Work<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Referrer Gets<\/th>\n<th>Friend Gets<\/th>\n<th>Example<\/th>\n<\/tr>\n<\/thead>\n<tbody><tr>\n<td>$10 credit<\/td>\n<td>$10 off first order<\/td>\n<td>Balanced incentive<\/td>\n<\/tr>\n<tr>\n<td>15% of friend&#39;s first order<\/td>\n<td>15% off first order<\/td>\n<td>Revenue-proportional<\/td>\n<\/tr>\n<tr>\n<td>Free product<\/td>\n<td>Free shipping<\/td>\n<td>Non-monetary<\/td>\n<\/tr>\n<tr>\n<td>Loyalty points<\/td>\n<td>Loyalty points<\/td>\n<td>Gamified<\/td>\n<\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Tiered Rewards<\/h3>\n\n\n\n<p>Increase rewards based on referral volume:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Referrals<\/th>\n<th>Reward Per Referral<\/th>\n<\/tr>\n<\/thead>\n<tbody><tr>\n<td>1-5<\/td>\n<td>$10 credit<\/td>\n<\/tr>\n<tr>\n<td>6-10<\/td>\n<td>$15 credit<\/td>\n<\/tr>\n<tr>\n<td>11-25<\/td>\n<td>$20 credit<\/td>\n<\/tr>\n<tr>\n<td>25+<\/td>\n<td>$25 credit<\/td>\n<\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Product-Specific Referrals<\/h3>\n\n\n\n<p>Instead of generic referral links, let users share specific products:<\/p>\n\n\n\n<pre><code>https:\/\/go.yourapp.com\/product\/running-shoes-v2?ref=user_abc123\n<\/code><\/pre>\n\n\n\n<p>The friend gets a discount on that specific product, and the referrer earns a reward when the friend purchases it. This works well because the referral comes with a specific product recommendation, which converts better than a generic invite.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Preventing Fraud<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Common Fraud Patterns<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Self-referral<\/strong>: User creates multiple accounts to refer themselves<\/li>\n<li><strong>Fake referrals<\/strong>: Bots or fake accounts clicking referral links<\/li>\n<li><strong>Reward farming<\/strong>: Referred users make the minimum purchase, get the reward, then return the item<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Prevention Measures<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Device fingerprinting<\/strong>: Detect multiple accounts from the same device<\/li>\n<li><strong>Purchase minimum<\/strong>: Require a minimum order value before the reward is issued<\/li>\n<li><strong>Return window<\/strong>: Only credit the reward after the return window closes (e.g., 14 days after purchase)<\/li>\n<li><strong>Unique email\/phone<\/strong>: Require verified email or phone number for new accounts<\/li>\n<li><strong>Rate limits<\/strong>: Cap the number of referrals per user per time period<\/li>\n<\/ul>\n\n\n\n<pre><code class=\"language-javascript\">\/\/ Only credit referral after purchase and return window\nasync function processReferralReward(referralId) {\n  const referral = await getReferral(referralId);\n  const order = referral.friendOrder;\n\n  \/\/ Check return window (14 days)\n  if (Date.now() - order.completedAt &lt; 14 * 24 * 60 * 60 * 1000) {\n    return; \/\/ Too early, wait for return window\n  }\n\n  \/\/ Check for returns\n  if (order.hasReturns) {\n    referral.status = &#39;invalidated&#39;;\n    return;\n  }\n\n  \/\/ Credit the referrer\n  await creditReferrer(referral.referrerId, referral.rewardAmount);\n  referral.status = &#39;rewarded&#39;;\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">OG Metadata for Referral Links<\/h2>\n\n\n\n<p>When shared on social media or messaging apps, the referral link preview should be compelling:<\/p>\n\n\n\n<pre><code>og:title: Jane invited you to [Your App]\nog:description: Get $10 off your first order. Shop thousands of products.\nog:image: referral-banner.jpg (branded image showing the offer)\n<\/code><\/pre>\n\n\n\n<p>Personalize the OG title with the referrer&#39;s name. This makes the link feel like a personal recommendation, not a generic ad.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Measuring Referral Program Performance<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Key Metrics<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table>\n<thead>\n<tr>\n<th>Metric<\/th>\n<th>Formula<\/th>\n<\/tr>\n<\/thead>\n<tbody><tr>\n<td>Referral link shares<\/td>\n<td>Total share actions per period<\/td>\n<\/tr>\n<tr>\n<td>Click-through rate<\/td>\n<td>Link clicks \/ Shares<\/td>\n<\/tr>\n<tr>\n<td>Install rate<\/td>\n<td>Installs from referral links \/ Clicks<\/td>\n<\/tr>\n<tr>\n<td>Conversion rate<\/td>\n<td>First purchases \/ Installs from referrals<\/td>\n<\/tr>\n<tr>\n<td>Referral revenue<\/td>\n<td>Total revenue from referred users<\/td>\n<\/tr>\n<tr>\n<td>Cost per acquisition<\/td>\n<td>Total rewards paid \/ New customers acquired<\/td>\n<\/tr>\n<tr>\n<td>Viral coefficient<\/td>\n<td>Average referrals per user that convert<\/td>\n<\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Viral Coefficient<\/h3>\n\n\n\n<p>The viral coefficient (K-factor) measures how many new users each existing user brings in:<\/p>\n\n\n\n<pre><code>K = (invites per user) x (click rate) x (install rate) x (conversion rate)\n<\/code><\/pre>\n\n\n\n<p>If K &gt; 1, your referral program drives exponential growth. Most successful e-commerce referral programs achieve K = 0.3-0.7, meaning referrals contribute 30-70% of new user growth alongside other channels.<\/p>\n\n\n\n<p>For referral features, see <a href=\"https:\/\/tolinku.com\/features\/referrals\">Tolinku referrals<\/a>. For referral program documentation, see <a href=\"https:\/\/tolinku.com\/docs\/user-guide\/referrals\/\">referral docs<\/a>. For the e-commerce use case guide, see the <a href=\"https:\/\/tolinku.com\/docs\/use-cases\/e-commerce\/\">e-commerce documentation<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Build referral sharing for your shopping app. Create deep links that track referrals, apply discounts, and reward both referrer and friend.<\/p>\n","protected":false},"author":2,"featured_media":941,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"E-Commerce Referral Deep Links: Share and Earn","rank_math_description":"Build referral sharing for your shopping app. Create deep links that track referrals, apply discounts, and reward both referrer and friend.","rank_math_focus_keyword":"e-commerce referral deep links","rank_math_canonical_url":"","rank_math_facebook_title":"","rank_math_facebook_description":"","rank_math_facebook_image":"https:\/\/tolinku.com\/blog\/wp-content\/uploads\/2026\/03\/og-ecommerce-referral-deep-links.png","rank_math_facebook_image_id":"","rank_math_twitter_title":"","rank_math_twitter_description":"","rank_math_twitter_image":"https:\/\/tolinku.com\/blog\/wp-content\/uploads\/2026\/03\/og-ecommerce-referral-deep-links.png","footnotes":""},"categories":[18],"tags":[20,58,113,192,45,205,151,26],"class_list":["post-942","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-use-cases","tag-deep-linking","tag-e-commerce","tag-growth","tag-mobile-commerce","tag-referrals","tag-rewards","tag-sharing","tag-user-acquisition"],"_links":{"self":[{"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/posts\/942","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/comments?post=942"}],"version-history":[{"count":4,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/posts\/942\/revisions"}],"predecessor-version":[{"id":2818,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/posts\/942\/revisions\/2818"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/media\/941"}],"wp:attachment":[{"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/media?parent=942"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/categories?post=942"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tolinku.com\/blog\/wp-json\/wp\/v2\/tags?post=942"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}