Grow
Analytics
mapps.one counts visits to your smart link, landing page, store badges and deep links, so you can see which channels bring people to your app. Analytics work without cookies and without building profiles of visitors, which means you do not need a cookie banner for them.
What is counted
| Event | Recorded when |
|---|---|
| Link click | Someone opens mapps.one/habitly. It is recorded with the destination: a store, the web URL or the landing page. |
| Page view | Someone opens the landing page directly, at /habitly/page or on your custom domain. |
| Store click | Someone taps a store badge on the landing page, or opens a /go/{store} URL. |
| Deep link open | A phone or tablet opens a /open/ URL and mapps.one tries to open the installed app. |
Metrics
| Metric | How it is calculated |
|---|---|
| Clicks | Link clicks + store clicks + deep link opens |
| Visitors | Unique people behind those clicks, counted per day. Someone who comes back on another day is counted again. |
| Page views | Page views + link clicks that showed the landing page |
| Store clicks | Store badge taps and /go/ redirects |
| Conversion | Store clicks ÷ page views: the share of page visitors who went on to a store |
| iOS and Android share | Share of clicks from iOS and iPadOS, and from Android and HarmonyOS |
Every figure is compared with the previous period of the same length.
mapps.one/habitly, sees the landing page and taps the App Store badge. That is 2 clicks (a link click and a store click), 1 page view, 1 store click and 1 visitor.Breakdowns
- Platform and device: operating system and version, device type (mobile, tablet or desktop), device model and browser
- Location: country only. It is derived from the IP address when the request arrives, and the IP address is not stored.
- Traffic source and referring site
- Campaigns:
utm_source,utm_mediumandutm_campaign - Destination: App Store, Google Play, AppGallery, Microsoft Store, web URL, landing page or deep link
- In-app browser: Instagram, TikTok, Facebook and others
- A/B variant and custom domain
The dashboard also lists the most recent clicks with time, device, country, source and destination.
How the traffic source is decided
Each click gets exactly one source. The first rule that matches wins:
src=qrin the URL: QR code.utm_sourcein the URL: that value. Common short forms are merged, for exampleigbecomes Instagram,fbbecomes Facebook,twandtwitterbecome X,ttbecomes TikTok,ytbecomes YouTube,libecomes LinkedIn, andnewsletterbecomes Email.- Opened inside an app's in-app browser: that app.
- A known referring site, such as Google, Bing, Reddit, Product Hunt, Hacker News, GitHub, Medium, WhatsApp, Telegram or Ekşi Sözlük: that site.
- Any other referring site: its host name.
- No referrer: Direct.
What is not counted
- Search engine crawlers, link preview bots, SEO tools, uptime monitors, AI crawlers and command-line clients
- Visits to apps that are paused or suspended
- Universal link or App Link opens that go straight into your installed app, because those never reach mapps.one
Counting visitors without cookies
To count unique visitors, mapps.one computes a short identifier for each click: a SHA-256 hash of the visitor's IP address and user agent, combined with the app, the current date in UTC and a secret server key. Only the first 16 characters are kept.
- The identifier changes every day at midnight UTC, so visits cannot be linked across days.
- It is different for every app, so visitors cannot be followed from one app to another.
- The IP address and the full user agent are not stored with the event.
- Public app pages set no analytics cookies and use no local storage or fingerprinting scripts.
The one exception is a first-party cookie that keeps the same page version for a visitor while an A/B experiment is running. See the cookie policy.
History and date ranges
| Plan | History you can view |
|---|---|
| Free | 30 days |
| Pro and Lifetime | 1 year |
| Studio | 2 years |
Choose the last 7 days, 30 days, 90 days or 12 months, or a custom range. Ranges longer than your plan's history are shortened, and the dashboard tells you when that happens. Events are kept for up to 2 years in total and then deleted, so if you upgrade, older data that is still stored becomes visible. Dates are shown in the time zone from your account settings.
New clicks usually show up within a few seconds. They are recorded after the redirect is sent, so counting never slows your visitors down.
Getting the data out
- CSV export of the raw events for the selected range, for one app or the whole workspace (Pro, Studio and Lifetime).
- API:
GET /api/v1/apps/{id}/analyticsreturns totals, a daily series and breakdowns (Studio). See the API reference. - Webhooks:
link.clickedfor every smart link click, andanalytics.daily_summarywith the previous day's totals (Studio). See Webhooks and Zapier.