Skip to content
Tolinku
Tolinku
Sign In Start Free
Use Cases · · 5 min read

Promotional Deep Links: Driving Flash Sale Traffic

By Tolinku Staff
|
Tolinku e commerce deep linking dashboard screenshot for use cases blog posts

Flash sales and promotional campaigns live or die on speed. Users need to go from seeing the offer to buying before the deal expires or stock runs out. Deep links compress that journey: one tap goes from the promotional message to the exact sale page or discounted cart in your app.

For product page linking, see Product Page Deep Links. For the broader e-commerce strategy, see Deep Linking for E-Commerce Apps.

A promotional deep link carries three types of information:

  1. Destination: Where the user should land (sale page, product, category)
  2. Promo data: Discount code, offer details, or pricing override
  3. Attribution: Which campaign, channel, and creative drove the click
https://go.yourapp.com/sale/summer-2026?promo=SUMMER30&utm_source=email&utm_campaign=summer-flash-sale

When a user taps this link:

  • App opens to the /sale/summer-2026 page
  • The promo code SUMMER30 is auto-applied
  • The click is attributed to the email campaign

Link directly to a dedicated sale page in your app:

https://go.yourapp.com/sale/summer-2026
https://go.yourapp.com/deals/flash-friday
https://go.yourapp.com/clearance

Best for: large sales with multiple products. The user sees the full sale catalog.

Link to a specific product with an automatic discount:

https://go.yourapp.com/product/SKU-12345?promo=FLASH40

Best for: single-product promotions, "deal of the day" campaigns.

Link to a pre-built cart with promotional pricing:

https://go.yourapp.com/cart/add?items=SKU-001:1,SKU-002:1&promo=BUNDLE25

Best for: curated bundles, gift sets, "buy this combo and save" campaigns.

Link to a filtered product category:

https://go.yourapp.com/category/shoes?on_sale=true&sort=discount

Best for: category-wide sales ("All shoes 30% off").

Auto-Applying Promo Codes

The most powerful pattern for promotional deep links: the promo code is in the URL and applies automatically.

Implementation

function handlePromoDeepLink(url) {
  const parsed = new URL(url);
  const promoCode = parsed.searchParams.get('promo');
  const path = parsed.pathname;

  if (promoCode) {
    // Auto-apply the promo code
    promoStore.apply(promoCode);

    // Show a toast confirming the discount
    toast.show(`Promo code ${promoCode} applied!`);
  }

  // Navigate to the destination
  navigation.navigate(routeFromPath(path));
}

Validation

Before applying, validate the promo code:

  • Is it still active? (within date range)
  • Has the user already used it? (single-use codes)
  • Is it applicable to the items in the current view?

If the code is expired or invalid, show a clear message. Don't silently fail; the user expects the discount they were promised.

Promotional links often have an expiration. After the sale ends, the link should redirect to a graceful fallback.

Route-Level Expiration

Configure your deep linking platform to expire the route:

  • During sale: /sale/summer-2026 resolves to the sale page in the app
  • After sale: /sale/summer-2026 redirects to a "Sale ended" page or the home screen

On Tolinku, you can set expiration dates on routes. See the route expiration documentation.

App-Level Expiration

Handle expiration in your app code:

function handleSaleLink(saleSlug) {
  const sale = saleStore.get(saleSlug);

  if (sale === null || sale.endDate < Date.now()) {
    // Sale ended or doesn't exist
    navigation.navigate('SaleEnded', {
      message: 'This sale has ended. Check out our current deals.'
    });
    return;
  }

  navigation.navigate('Sale', { sale });
}

Countdown Urgency

When the link includes a sale end time, the app can display a countdown:

https://go.yourapp.com/sale/flash?ends=2026-06-15T23:59:59Z

The app parses the ends parameter and shows "Sale ends in 3h 42m" on the page.

Push Notifications

Push is the fastest channel for time-sensitive promotions:

{
  "notification": {
    "title": "Flash Sale: 40% Off Everything",
    "body": "Ends at midnight. Don't miss it."
  },
  "data": {
    "deep_link": "https://go.yourapp.com/sale/flash-friday?promo=FLASH40"
  }
}

Email Campaigns

Promotional emails with deep linked CTAs:

<a href="https://go.yourapp.com/sale/summer-2026?promo=SUMMER30&utm_source=email&utm_campaign=summer-sale">
  Shop the Sale →
</a>

Include product previews in the email, each linking to their specific product page with the promo applied.

Social Media

Share promotional links on social platforms. Set OG metadata so the link preview shows the promotion:

og:title: Summer Sale - Up to 50% Off
og:description: Shop our biggest sale of the year. App exclusive.
og:image: summer-sale-banner.jpg

SMS

Short links work well in SMS (character limits matter):

Flash sale! 40% off for 24 hours.
Shop now: https://go.yourapp.com/s/flash40

The short link (/s/flash40) redirects to the full sale URL with the promo code.

In-App Messages

For users already in the app, display a banner or modal linking to the sale:

// Deep link within the app (internal navigation)
navigation.navigate('Sale', { slug: 'flash-friday', promo: 'FLASH40' });

Per-Campaign Metrics

Metric What It Tells You
Click-through rate How compelling the offer is
App open rate Whether users have the app and engage
Conversion rate Percentage of clicks that purchase
Average order value Whether promos attract valuable orders
Revenue per click The total revenue efficiency of the link
Promo redemption rate Whether users complete the discount flow

Channel Comparison

Use UTM parameters to compare channel performance:

Push:  ?utm_source=push&utm_campaign=flash-sale
Email: ?utm_source=email&utm_campaign=flash-sale
SMS:   ?utm_source=sms&utm_campaign=flash-sale
Social:?utm_source=instagram&utm_campaign=flash-sale

Compare conversion rates and ROI across channels to optimize spend.

Cohort Analysis

Track whether users acquired through promotional deep links:

  • Have higher or lower lifetime value than organic users
  • Become repeat purchasers or only buy during sales
  • Engage with the app beyond the initial promotion

This data informs whether to continue investing in promotional link campaigns.

Best Practices

  1. One link per promotion: Don't reuse the same link for multiple campaigns. Create distinct links with clear attribution.
  2. Test before launch: Tap the link yourself before distributing. Verify the promo applies, the page loads, and the fallback works.
  3. Set link expiration: After the promotion ends, the link should show a clear "ended" message, not a broken page.
  4. Personalize when possible: If you know the user, show products they've browsed before, in their preferred categories.
  5. Measure incrementality: Not all users who click would have purchased without the promotion. Run holdout tests to measure true incremental revenue.

For link expiration strategies, see Link Expiration Strategies. For deep linking features, see Tolinku deep linking.

Get deep linking tips in your inbox

One email per week. No spam.

Ready to add deep linking to your app?

Set up Universal Links, App Links, deferred deep linking, and analytics in minutes. Free to start.