Deep links, attribution, and campaign analytics. One SDK. Self-host or cloud.
Cloud · Docs · Self-Host · Pricing
Branch charges $10,000+/year for deep linking and attribution -- and shares your users' data with ad networks. Grovs does the same job for $180/year, keeps your data in the EU, and the code is open source.
Your data stays yours. No ad network partnerships. No cross-platform tracking. No probabilistic fingerprinting. We make money from subscriptions, not from your users' data. Read why that matters.
- Smart links -- one link that routes to the right destination on iOS, Android, or web
- Deferred deep linking -- users land on the right in-app screen, even after installing from the store
- Attribution -- track installs, reinstalls, and reactivations back to campaigns, referrals, or organic sources
- Campaigns -- create, manage, and compare campaign performance
- Analytics dashboard -- clicks, installs, revenue, and campaign performance in real time
- Revenue tracking -- automatic IAP tracking with Apple and Google webhook integration
- In-app messages -- targeted announcements, promos, and onboarding flows without an app update
- REST API -- create and manage links programmatically
- Multi-tenant -- one instance serves multiple apps and teams
We're building toward a full mobile growth platform -- everything CleverTap and Branch do, in one open-source product. What's coming:
- Event analytics + user journeys -- custom events, funnels, user flows, session tracking (Q2 2026)
- Push campaigns -- segmentation, scheduling, A/B testing (Q4 2026)
- Marketing automation -- triggered campaigns based on user behavior (2027)
Want to shape what we build next? Open an issue or reach out.
Sign up at app.grovs.io, create a project, 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-wrapperSetup guides: iOS · Android · Flutter · React Native · Web
git clone https://github.com/grovs-io/backend.git && cd backend
cp .env.example .env
docker compose run --rm web bin/rails db:encryption:init
# Copy the three generated keys into .env
docker compose up --build
docker compose exec web bundle exec rails db:create db:migrate db:seedBackend starts on port 8765 with PostgreSQL, Redis, and Sidekiq workers. Deploy the dashboard and point your SDK:
Grovs.configure(APIKey: "key", useTestEnvironment: false, baseURL: "https://yourdomain.com", delegate: self)Full guide: Backend · Dashboard · SDK config
| Branch | AppsFlyer | Grovs | |
|---|---|---|---|
| Deep linking | Yes | No | Yes |
| Attribution | Yes | Yes | Yes |
| Campaign analytics | Limited | Yes | Yes |
| Revenue tracking | No | Yes | Yes |
| Open source | No | No | Yes (MIT) |
| Self-hostable | No | No | Yes |
| Data shared with ad networks | Yes | Yes | No |
| Pricing | "Contact sales" | $15K+/yr | From $2k/yr |
Rails backend with subdomain-based routing:
api.*— dashboard API (OAuth2)sdk.*— mobile SDK endpointsgo.*— short link redirectspreview.*— link preview pages
Background processing via five Sidekiq workers for event ingestion, batch processing, scheduling, device updates, and maintenance.
┌──────────────┐ ┌─────────────────────────────────┐
│ Dashboard │─────▶ │ Backend (Rails) │
│ (Next.js) │ │ │
└──────────────┘ │ api · sdk · go · preview │
│ │
┌──────────────┐ │ ┌────────────┐ ┌────────────┐ │
│ Mobile SDKs │─────▶ │ │ PostgreSQL │ │ Redis + │ │
│ & Web SDK │ │ │ │ │ Sidekiq │ │
└──────────────┘ │ └────────────┘ └────────────┘ │
└─────────────────────────────────┘
| 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 |
| Repo | What it is |
|---|---|
| backend | Rails API, link engine, attribution, workers |
| dashboard | Next.js web dashboard |
| mcp-server | MCP server for AI-assisted link management |
docs.grovs.io — Getting started · REST API · Self-hosting
Core is MIT. Enterprise features (ee/ directory) require a separate license for production use.