Skip to content

Basics

Smart links and redirects

Your smart link, mapps.one/habitly, looks at each visitor's device and decides where to send them in a few milliseconds. This page explains the default rules, how to change them, what link preview bots see and how campaign tags travel on to the stores.

Default routing

VisitorGoes toIf that link is missing
iPhone, iPad, iPodApp StoreLanding page
AndroidGoogle PlayLanding page
Huawei and Honor devices, HarmonyOSAppGalleryGoogle Play, then the landing page
WindowsMicrosoft StoreLanding page
macOSApp StoreLanding page
Unrecognised devices ("Other")Landing page—
Linux and ChromeOSLanding page—

The device is detected from the browser's user agent. Tablets follow the same rules as phones of the same system. iPads that request desktop sites identify themselves as a Mac, and still reach the App Store because macOS goes there by default.

Redirect rules

Open the app's Links tab to choose a destination for each of these platforms: iOS, Android, Huawei, Windows, macOS and Other. The choices are:

  • App Store, Google Play, AppGallery or Microsoft Store: redirect to that store listing,
  • Web URL: redirect to the web address saved on the app, for example a web version or a waitlist,
  • Landing page: show the landing page at the smart link address.

If the destination you choose has no link saved, the visitor falls back: Huawei visitors try Google Play and then the landing page, everyone else sees the landing page. The rules preview in the dashboard shows where each platform ends up right now and marks the rows that use a fallback.

Example: Habitly has no Mac app. Set macOS to Landing page so Mac visitors see screenshots and both store badges instead of the iPhone listing in the Mac App Store.

Redirects use HTTP 302 with Cache-Control: no-store, so browsers and proxies do not cache them and rule changes apply to the next visit.

Link previews and bots

When someone pastes your link into a chat or a post, the app fetches the page to build a preview. These crawlers always receive the landing page, never a redirect, so the preview shows your app name, tagline and image from the page's Open Graph tags. This covers Facebook, Instagram, WhatsApp, X, LinkedIn, Slack, Discord, Telegram, iMessage, Pinterest, Reddit, Mastodon, Bluesky, Snapchat, Skype, Zoom and Microsoft Teams, among others.

Search engine crawlers, SEO tools, uptime monitors, AI crawlers and command-line clients such as curl, wget or python-requests are treated as bots too. Bots get the landing page and are never counted in analytics.

In-app browsers

Links opened inside Instagram, Facebook, TikTok, X, LinkedIn, Snapchat, Pinterest, LINE, Telegram, WeChat, Reddit and Threads are recognised. The visitor is routed by device like any other visit. In analytics, the app they came from is recorded as the traffic source, even though these browsers usually send no referrer.

Campaign tags

Add standard UTM tags to your smart link to compare channels:

https://mapps.one/habitly?utm_source=instagram&utm_medium=social&utm_campaign=launch

mapps.one always records utm_source, utm_medium and utm_campaign in your analytics. With Pass campaign parameters to the stores turned on (the default), the tags are also passed on to the destination in the format it understands:

DestinationWhat we add
Google Play A referrer parameter containing the URL-encoded UTM tags, which your app can read with the Play Install Referrer API.
https://play.google.com/store/apps/details?id=com.habitly.app&referrer=utm_source%3Dinstagram%26utm_medium%3Dsocial%26utm_campaign%3Dlaunch
App Store A ct campaign token: the value of utm_campaign, or utm_source when there is no campaign, up to 40 characters.
https://apps.apple.com/app/id1612345678?ct=launch
Web URL The UTM tags themselves.
https://habitly.app/?utm_source=instagram&utm_medium=social&utm_campaign=launch
AppGallery, Microsoft StoreNothing. The listing opens without extra parameters.

All five tags are forwarded: utm_source, utm_medium, utm_campaign, utm_term and utm_content. Each value is cut to 100 characters.

About App Store campaigns: App Store Connect only attributes a ct token to a campaign when the link also carries your provider token (pt). Store links are saved in canonical form, so a pt pasted into your App Store link is not kept. Use the campaign breakdown in mapps.one analytics to compare channels.

Store badge links

The store badges on the landing page point to a tracked redirect, mapps.one/habitly/go/{store}. The click is counted as a store click, then the visitor is sent to the listing. If the app has no link for that store, the visitor is sent back to the landing page.

You can use these URLs yourself when you want a specific store regardless of device, for example in an Android-only campaign. UTM tags added to a /go/ URL are forwarded the same way as on the smart link.

Store keyURL
app_storemapps.one/habitly/go/app_store
google_playmapps.one/habitly/go/google_play
app_gallerymapps.one/habitly/go/app_gallery
microsoft_storemapps.one/habitly/go/microsoft_store
webmapps.one/habitly/go/web

URL reference

URLPurpose
/habitlySmart link: redirect by device, or the landing page
/habitly/pageLanding page on every device
/habitly/go/{store}Tracked redirect to one store
/habitly/open/{path}Deep link into the installed app
/habitly/privacy, /habitly/privacy/{language}Privacy policy
/habitly/terms, /habitly/terms/{language}Terms of service
/habitly/press, /habitly/press.zipPress kit page and download
/habitly/qr.svg, /habitly/qr.pngQR code for the smart link

When a link does not work

  • 404 Not Found: no app uses this slug. Check the spelling, or whether the slug was changed.
  • 410 Gone, "paused": the app is paused in the dashboard. Turn it back on.
  • 410 Gone, "no longer available": the app was suspended by trust and safety. Contact support.
  • Always the landing page: the platform's destination has no link saved, the rule is set to Landing page, or you are testing with a bot-like client.