Skip to content
@grovs-io

Grovs

Grovs generates dynamic links, tracks attributions, and analyzes referrals, seamlessly directing users to your app or the app store for downloads.
Grovs

Open-source deep linking, attribution and analytics for mobile apps.

One SDK for iOS, Android, Flutter, React Native and web. Run it on your own servers or use the cloud.

Cloud · Docs · Self-host · Pricing


Grovs does what an MMP does, deep links, install attribution and campaign analytics, without sharing your users' data with ad networks. There are no ad-network partnerships, no cross-app tracking and no probabilistic fingerprinting. The cloud service is paid by subscription and hosted in the EU; the self-hosted edition keeps everything on your infrastructure. Why that matters.

Features

  • Smart links. One link that opens the right destination on iOS, Android or web, with per-platform redirect rules and social previews.
  • Deferred deep linking. Users land on the right in-app screen after installing from the store.
  • Attribution. Installs, reinstalls and reactivations tied back to links, campaigns, referrals or organic.
  • Campaigns. Group links, compare performance, UTM tracking.
  • Analytics. Dashboard overview, event explorer with filters, sessions and retention, served from ClickHouse.
  • In-app messages. Announcements, promos and onboarding flows without an app update.
  • Custom domains. Serve links from a domain you or your customers own.
  • Migration from Branch and AppsFlyer. Old short links resolve upstream on first click, then become native Grovs links.
  • REST API and MCP server. Create and manage links programmatically or from an AI assistant.
  • Multi-tenant. One instance serves several apps and teams.

Enterprise Edition adds single sign-on (OIDC) with SCIM provisioning, a tamper-evident audit log with a SIEM export API, and in-app purchase revenue tracking through Apple and Google webhooks. See Editions.

Quick start

Cloud

Sign up at app.grovs.io, create a project and add the SDK:

// iOS — SPM: https://github.com/grovs-io/grovs-iOS.git
Grovs.configure(APIKey: "your-api-key", useTestEnvironment: false, delegate: self)
// Android — io.grovs:Grovs:1.1.0
Grovs.configure(this, "your-api-key")
// Flutter — grovs_flutter_plugin: ^1.0.1
final grovs = Grovs();
// Web — npm install grovs
const grovs = new Grovs('your-api-key', (data) => console.log(data));
grovs.start();
# React Native — npm install react-native-grovs-wrapper

Setup guides: iOS · Android · Flutter · React Native · Web

Self-hosted

The self-hosted Community Edition runs from two published images, ghcr.io/grovs-io/backend and ghcr.io/grovs-io/dashboard, released together under one version. One command downloads the stack, asks for your domain and admin email, generates every secret and starts everything: the backend, the dashboard, PostgreSQL, Redis, ClickHouse, the background workers and a Caddy proxy with automatic TLS.

curl -fsSL https://raw.githubusercontent.com/grovs-io/self-host/main/install.sh | bash

Press Enter at the domain prompt to run a local trial on your machine at http://dashboard.lvh.me:3002, no DNS or TLS needed. For a real install, point your domain at the host first: the fixed hosts (dashboard, api, sdk, go, mcp, preview) plus a wildcard for project links and one for test links. A separate branded domain for links is supported.

Upgrading is changing GROVS_VERSION in .env and running docker compose pull && docker compose up -d. About 4 vCPU and 8 GB of RAM handle roughly 150,000 to 200,000 monthly users on one host; beyond that the same images run against managed PostgreSQL, ClickHouse and Redis.

Everything is in the self-host repo: DNS, environment reference, optional features, SDK configuration, backups and scaling.

Editions

Community Edition Enterprise Edition
Deep links, attribution, campaigns, analytics, messages, custom domains, migration Yes Yes
Single sign-on (OIDC) and SCIM provisioning No Yes
Audit log with SIEM export No Yes
In-app purchase revenue tracking No Yes
Source backend and dashboard repos, MIT ee/ directory, Enterprise License
Image ghcr.io/grovs-io/backend, public built with GROVS_EE=true, provided under contract

The Community Edition image is built without the ee/ directory, so enterprise features are not present in it and cannot be switched on by configuration. The cloud service includes the enterprise features on the corresponding plans.

How it compares

Branch AppsFlyer Grovs
Deep linking Yes No Yes
Attribution Yes Yes Yes
Campaign analytics Limited Yes Yes
Revenue tracking No Yes Yes, Enterprise
Open source No No Yes, MIT core
Self-hostable No No Yes
Data shared with ad networks Yes Yes No
Pricing Contact sales Contact sales Published

Architecture

┌──────────────┐      ┌──────────────────────────────────────────────┐
│  Dashboard   │────▶ │              Backend (Rails)                 │
│  (Next.js)   │      │   api.* · sdk.* · go.* · preview.* · links   │
└──────────────┘      │                                              │
                      │  ┌────────────┐ ┌────────────┐ ┌──────────┐ │
┌──────────────┐      │  │ PostgreSQL │ │ ClickHouse │ │ Redis +  │ │
│  SDKs & web  │────▶ │  │ links,     │ │ events,    │ │ Sidekiq  │ │
└──────────────┘      │  │ users      │ │ analytics  │ │ workers  │ │
                      │  └────────────┘ └────────────┘ └──────────┘ │
                      └──────────────────────────────────────────────┘

The backend routes by subdomain: api.* serves the dashboard API (OAuth2), sdk.* the mobile and web SDKs, go.* and the project subdomains resolve links, preview.* renders link previews. PostgreSQL holds projects, links, users and devices; ClickHouse is the event store and serves every analytics read; Redis queues events and backs the Sidekiq workers that ingest events, build sessions, rebuild analytics rollups and run maintenance. The dashboard is a Next.js app configured at start, so one image serves every deployment.

SDKs

Platform Install Source
iOS SPM / CocoaPods grovs-io/grovs-iOS
Android implementation("io.grovs:Grovs:1.1.0") grovs-io/grovs-android
Flutter grovs_flutter_plugin: ^1.0.1 grovs-io/grovs-flutter
React Native npm install react-native-grovs-wrapper grovs-io/grovs-react-native
Web npm install grovs grovs-io/grovs-web

Repos

Repo What it is
self-host Installer, Compose stack and self-hosting guide
backend Rails API, link engine, attribution, analytics, workers
dashboard Next.js web dashboard
mcp MCP server for AI-assisted link management

Releases are versioned together: a backend, dashboard and self-host tag with the same number belong to one release.

Roadmap

  • Event analytics, sessions and retention
  • Self-hosted Community Edition with published images and a one-command installer
  • Push campaigns: segmentation, scheduling, A/B testing (2027)
  • Marketing automation: triggered campaigns based on user behaviour (2027)

To influence what comes next, open an issue.

Migrating?

Docs

docs.grovs.ioGetting started · REST API · Self-hosting

License

The backend core and the dashboard are MIT. The backend's ee/ directory is covered by the Grovs Enterprise License and requires a commercial agreement for production use.

Pinned Loading

  1. grovs-iOS grovs-iOS Public

    Open-source deep linking and first-party attribution SDK for iOS. Universal Links, deferred deep linking, and revenue tracking in Swift. MIT-licensed alternative to Branch.io, AppsFlyer, and Fireba…

    Swift 4 1

  2. grovs-js grovs-js Public

    JavaScript SDK for deep linking and link tracking on the web. Generate smart links, capture click attribution, and route users to your app. Part of Grovs, the open-source attribution platform.

    JavaScript 3

  3. grovs-Android grovs-Android Public

    Open-source deep linking and first-party attribution SDK for Android. App Links, deferred deep linking, and revenue tracking in Kotlin. MIT-licensed alternative to Branch.io, AppsFlyer, and Firebas…

    Kotlin 6

  4. website-content website-content Public

    1

  5. dashboard dashboard Public

    Open-source dashboard for mobile app growth. Manage deep links, push notification campaigns, revenue tracking, and audience analytics. Self-hostable Next.js 15 + React 19 + shadcn/ui frontend for t…

    TypeScript 3

  6. backend backend Public

    Self-hostable, open-source deep linking, attribution, and analytics platform for mobile apps. An MIT-licensed alternative to Branch.io, AppsFlyer, and Firebase Dynamic Links. Built with Rails 8, Po…

    Ruby 9 2

Repositories

Showing 10 of 16 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…