---
title: "How to Use Custom Short Links for SaaS Product Onboarding"
url: https://uselinkpilot.com/blog/how-to-use-custom-short-links-for-saas-product-onboarding
description: "Put a branded short link at each onboarding milestone, in emails, in-app messages and docs, to see which step users click and repoint links when pages move."
lang: en
---

Link Tracking (https://uselinkpilot.com/blog/category/link-tracking)

# How to use custom short links for SaaS product onboarding

Put a branded short link at each onboarding milestone, in emails, in-app messages and docs, to see which step users click and repoint links when pages move.

LinkPilot Team (https://uselinkpilot.com/author/linkpilot-team) · The people who build and run LinkPilot at TetraCore, LLC October 26, 2026 · About LinkPilot (https://uselinkpilot.com/about)

Onboarding is a sequence of steps you want a new user to take, and each step is a link: verify your email, connect the integration, invite a teammate, finish the first project. Those links go into welcome emails, in-app messages, docs and support replies, and then they sit there for months while the product changes underneath them.

Custom short links for SaaS product onboarding solve two problems at once. Each link is tracked, so you can see which step people actually click. Each link's destination is editable, so the welcome email you wrote in March still lands in the right place after the September redesign. This guide covers how to structure them, where to put them, and how to read the result against activation.

## Start from the milestones

List the steps a new user has to complete to get value, in order. Most products have four to six:

1. Confirm email
2. Complete the first setup action
3. Connect the integration that makes the product useful
4. Invite a teammate
5. Reach the first real outcome

Each milestone gets a short link, or several if it is prompted from more than one place. The milestone token becomes the link's tag and its `utm_campaign` value, so the link report and your product analytics speak the same names.

## Name links by milestone and channel

```
go.yourapp.com/connect-slack-email-d1
go.yourapp.com/connect-slack-inapp
go.yourapp.com/invite-team-email-d3
go.yourapp.com/invite-team-docs
```

Milestone, then channel, then placement or day. One link per place a step is prompted, so you can tell whether the day-one email or the in-app banner is doing the work. Lowercase, hyphens, the same milestone token everywhere.

Use a subdomain (https://uselinkpilot.com/glossary#subdomain) of your product's domain. A link from your welcome email that reads `go.yourapp.com` is yours. A generic shortener domain in the same email is a small trust tax on every send.

## Put links where users actually are

**Welcome and lifecycle emails.** Each email's primary call to action is its own short link. If the email has a button and a text link, two links tell you which one gets clicked.

**In-app messages and checklists.** The onboarding checklist, empty states and tooltips can all carry short links to the relevant step. Tag them `inapp` so the report separates them from email.

**Role or plan variants.** An admin's first step differs from an invited member's. Create links per segment where the destination or message differs, and tag the segment.

**Docs and help content.** Setup guides and the support macro that answers "how do I connect X" should use the same short links as the emails, so help-driven completions show up in the same report.

**Return paths.** A short link in the "you haven't finished setting up" nudge should land on the exact unfinished step, not the dashboard. Short links make that destination easy to keep accurate.

## Keep the destination right as the product changes

This is where short links earn their place. Product pages move, settings get reorganised, the integration flow gets a new route. With a long URL (https://uselinkpilot.com/glossary#long-url) in a sent email, every copy is now wrong. With a short link, edit the destination once in the dashboard and every email, message and doc that carried it points at the new page.

Build two habits around that:

- **Edit, never recreate.** A new link for a moved page splits the history and leaves the old link broken in old emails.
- **Check redirects every release.** Run the redirect checker (https://uselinkpilot.com/tools/redirect-checker) across onboarding links when a release touches navigation. A welcome email that lands on an error is a first impression you cannot take back.

Links created through the LinkPilot API (https://uselinkpilot.com/glossary#api) fit a product that generates onboarding links per account or per segment, and the API is on every plan.

## Measure clicks beside activation

Click counts tell you where people are willing to go. Activation data tells you whether they finished. Read them together.

| Link report | Product analytics | What a gap means | | --- | --- | --- | | Clicks on connect-slack-email-d1 | Slack connections completed | Click high, completion low: the step itself is the problem | | Clicks on invite-team-* across channels | Invites sent | One channel clicks, the other does not: placement or copy | | Clicks by device | Completions by device | Mobile clicks, desktop completions: the step does not work on mobile |

Match on the milestone token in `utm_campaign`, filter the link report by tag, exclude flagged bots (email security scanners click onboarding links too), and lead with unique clicks (https://uselinkpilot.com/glossary#unique-clicks). The campaign reports guide (https://uselinkpilot.com/blog/how-to-use-short-link-performance-reports-by-campaign) covers the monthly routine, and practical multi-touch attribution (https://uselinkpilot.com/blog/practical-multi-touch-attribution) covers reading a sequence of steps rather than one.

## Protect the user's trust

Onboarding links are the first links a new customer receives from you, and they set expectations.

- **HTTPS on the branded domain (https://uselinkpilot.com/glossary#branded-domain)**, provisioned automatically when the domain is verified.
- **Limit who can edit destinations** to the people who own onboarding. A redirect (https://uselinkpilot.com/glossary#redirect) changed by mistake sends every new user somewhere wrong.
- **Check previews.** Links unfurl in Slack and iMessage into the destination's Open Graph (https://uselinkpilot.com/glossary#open-graph) card. Make sure the connect-integration page has a card that says what it is, using the preview checker (https://uselinkpilot.com/tools/open-graph-preview).
- **No personal data in URLs.** Identify the user with your own signed token on the destination, never with an email address in a query string. Why URLs leak sensitive information (https://uselinkpilot.com/blog/why-urls-leak-sensitive-information) explains the failure modes.
- **Plan for expiry.** If a step should only be available for a time, such as a trial extension, use an expiring link (https://uselinkpilot.com/tools/temporary-link) with a fallback rather than a link that simply dies.

Onboarding is the one funnel every customer passes through. Short links turn each step of it into something you can measure and something you can fix without resending a single email.

## Related reading

- How to use short link performance reports by campaign: https://uselinkpilot.com/blog/how-to-use-short-link-performance-reports-by-campaign
- How to shorten a URL (free, with a custom slug or your own domain): https://uselinkpilot.com/blog/how-to-shorten-a-url
- Beyond last-click: practical multi-touch attribution: https://uselinkpilot.com/blog/practical-multi-touch-attribution
- How to track clicks on links shared with customers: https://uselinkpilot.com/blog/how-to-track-clicks-on-links-shared-with-customers

## Tools for this article

Free URL Shortener

Turn a long URL into a short one with the slug you choose.
https://uselinkpilot.com/tools/url-shortener

Also for: your TikTok bio (https://uselinkpilot.com/tools/url-shortener/tiktok-bio) · your Instagram bio (https://uselinkpilot.com/tools/url-shortener/instagram-bio) · LinkedIn posts and articles (https://uselinkpilot.com/tools/url-shortener/linkedin-post) · X and Twitter campaigns (https://uselinkpilot.com/tools/url-shortener/twitter)

UTM Builder

Build campaign-tagged URLs in seconds.
https://uselinkpilot.com/tools/utm-builder

Also for: LinkedIn campaigns (https://uselinkpilot.com/tools/utm-builder/linkedin) · Facebook & Meta campaigns (https://uselinkpilot.com/tools/utm-builder/facebook) · email campaigns (https://uselinkpilot.com/tools/utm-builder/email) · Instagram campaigns (https://uselinkpilot.com/tools/utm-builder/instagram) · TikTok campaigns (https://uselinkpilot.com/tools/utm-builder/tiktok) · YouTube descriptions and ads (https://uselinkpilot.com/tools/utm-builder/youtube) · Google Ads campaigns (https://uselinkpilot.com/tools/utm-builder/google-ads) · X / Twitter campaigns (https://uselinkpilot.com/tools/utm-builder/twitter) · Reddit posts and ads (https://uselinkpilot.com/tools/utm-builder/reddit) · Pins and Promoted Pins (https://uselinkpilot.com/tools/utm-builder/pinterest)

Link Click Checker

See clicks, referrers and locations for a short link.
https://uselinkpilot.com/tools/link-analytics

Smart Link Suggestions

AI suggestions for naming, UTM hygiene, and branded domains.
https://uselinkpilot.com/tools/smart-link-suggestions

## Frequently asked questions

### Why use short links in SaaS onboarding?

### Should every onboarding link use a custom domain?

### How should onboarding links be named?

### Can you change a destination after the link has been sent?

### What should you measure besides clicks?

### How often should onboarding links be checked?

## Run smarter links with LinkPilot

Tracking, UTMs, QR codes, AI insights, and white-label reporting — in one workspace. Free to start.

Create your free account (https://uselinkpilot.com/signup)

## Read next

Link Tracking

### How to Use Custom Branded Short Links for Client Campaigns

A campaign routine for agencies: the client's domain, one link per channel and creative, an approval step, a client-friendly report, and the links' afterlife.
https://uselinkpilot.com/blog/how-to-use-custom-branded-short-links-for-client-campaigns

Link Tracking

### How to Track Clicks on Links Shared With Customers

Track clicks on links shared with customers: a short link per touchpoint, UTM tags for web analytics, bot filtering, and no personal data in the URL.
https://uselinkpilot.com/blog/how-to-track-clicks-on-links-shared-with-customers

Link Tracking

### How to Track Clicks on Branded Short URLs (and Read the Engagement Report)

What a branded short URL records on each click, how to set tracking up on your domain, which engagement metrics matter, and why they differ from web analytics.
https://uselinkpilot.com/blog/how-to-track-clicks-on-branded-short-urls

## Structured data

```json
[
  {
    "@context": "https://schema.org",
    "@type": "SoftwareApplication",
    "@id": "https://uselinkpilot.com/#software",
    "name": "LinkPilot",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "Web",
    "description": "LinkPilot is a secure link management platform for creating branded short links, tracking engagement, and sharing secrets with expiring, protected, self-destructing links.",
    "url": "https://uselinkpilot.com",
    "offers": [
      {
        "@type": "Offer",
        "name": "Free",
        "price": "0",
        "priceCurrency": "USD",
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Pro",
        "price": "29",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "29",
          "priceCurrency": "USD",
          "billingDuration": "P1M"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency",
        "price": "299",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "299",
          "priceCurrency": "USD",
          "billingDuration": "P1M"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency Plus",
        "price": "799",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "799",
          "priceCurrency": "USD",
          "billingDuration": "P1M"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Enterprise",
        "priceSpecification": {
          "@type": "PriceSpecification",
          "priceCurrency": "USD"
        },
        "url": "https://uselinkpilot.com/pricing"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Organization",
    "@id": "https://uselinkpilot.com/#organization",
    "name": "LinkPilot",
    "alternateName": "LinkPilot by TetraCore",
    "url": "https://uselinkpilot.com",
    "contactPoint": {
      "@type": "ContactPoint",
      "contactType": "customer support",
      "email": "support@uselinkpilot.com",
      "url": "https://uselinkpilot.com/support"
    },
    "parentOrganization": {
      "@type": "Organization",
      "@id": "https://tetracorehq.com/#organization",
      "name": "TetraCore",
      "url": "https://tetracorehq.com/"
    },
    "logo": {
      "@type": "ImageObject",
      "url": "https://uselinkpilot.com/logo-512.png",
      "width": 512,
      "height": 512
    },
    "description": "LinkPilot is a secure link management platform for creating branded short links, tracking engagement, and sharing secrets with expiring, protected, self-destructing links.",
    "sameAs": [
      "https://x.com/uselinkpilot",
      "https://www.linkedin.com/company/uselinkpilot",
      "https://facebook.com/uselinkpilot",
      "https://github.com/TetraCoreHQ/linkpilot-cli",
      "https://github.com/TetraCoreHQ/linkpilot-mcp",
      "https://www.npmjs.com/package/linkpilot",
      "https://www.npmjs.com/package/@uselinkpilot/sdk",
      "https://www.npmjs.com/package/@uselinkpilot/mcp",
      "https://chromewebstore.google.com/detail/linkpilot-short-links-and/mnmppadihpcncicldpkmgknhnjkondad"
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebSite",
    "name": "LinkPilot",
    "url": "https://uselinkpilot.com",
    "potentialAction": {
      "@type": "SearchAction",
      "target": "https://uselinkpilot.com/blog?q={search_term_string}",
      "query-input": "required name=search_term_string"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "Home",
        "item": "https://uselinkpilot.com/"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "Blog",
        "item": "https://uselinkpilot.com/blog"
      },
      {
        "@type": "ListItem",
        "position": 3,
        "name": "How to Use Custom Short Links for SaaS Product Onboarding",
        "item": "https://uselinkpilot.com/blog/how-to-use-custom-short-links-for-saas-product-onboarding"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "BlogPosting",
    "@id": "https://uselinkpilot.com/blog/how-to-use-custom-short-links-for-saas-product-onboarding#article",
    "headline": "How to Use Custom Short Links for SaaS Product Onboarding",
    "description": "Put a branded short link at each onboarding milestone, in emails, in-app messages and docs, to see which step users click and repoint links when pages move.",
    "datePublished": "2026-10-26",
    "dateModified": "2026-10-26",
    "image": "https://uselinkpilot.com/logo-512.png",
    "author": {
      "@type": "Organization",
      "@id": "https://uselinkpilot.com/author/linkpilot-team#organization",
      "name": "LinkPilot Team",
      "url": "https://uselinkpilot.com/author/linkpilot-team"
    },
    "publisher": {
      "@type": "Organization",
      "name": "LinkPilot",
      "url": "https://uselinkpilot.com",
      "logo": {
        "@type": "ImageObject",
        "url": "https://uselinkpilot.com/logo-512.png",
        "width": 512,
        "height": 512
      }
    },
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://uselinkpilot.com/blog/how-to-use-custom-short-links-for-saas-product-onboarding"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Why use short links in SaaS onboarding?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Onboarding links live in emails, in-app messages, docs and support replies for months. A short link on your domain can be tracked, so you see which step users click, and its destination can be edited, so the link survives when the product page it pointed to moves."
        }
      },
      {
        "@type": "Question",
        "name": "Should every onboarding link use a custom domain?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Every link a user sees should. A link on your own domain, such as go.yourapp.com/connect-slack, is trusted in an email from you in a way a generic shortener domain is not."
        }
      },
      {
        "@type": "Question",
        "name": "How should onboarding links be named?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "By milestone and channel: connect-slack-email-day1, invite-team-inapp. The milestone token goes in the tag and in utm_campaign so the link report and your product analytics group the same step the same way."
        }
      },
      {
        "@type": "Question",
        "name": "Can you change a destination after the link has been sent?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Yes. That is the main reason to use short links in onboarding. Edit the destination in the dashboard and every email already sent points at the new page."
        }
      },
      {
        "@type": "Question",
        "name": "What should you measure besides clicks?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Whether the user completed the step the link pointed at. Match the milestone name in your product analytics to the link's campaign tag and read activation beside clicks, so you can see where people click and still do not finish."
        }
      },
      {
        "@type": "Question",
        "name": "How often should onboarding links be checked?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Monthly with a redirect check, and at every product release that moves a page. A welcome email that links to an error is the first impression you least want."
        }
      }
    ]
  }
]
```