Skip to content
Private betaTreebars is letting teams in from the waitlist.Join the waitlist

Track every install. Understand every user. Reach them at the right moment. All powered by an AI agent that works like an entire growth team.

Works with the platforms and providers you already use

  • Web
  • iOS
  • Android
  • React Native
  • APNs
  • FCM
  • Twilio
  • Vonage
  • Meta Cloud API
  • Resend
  • SendGrid
  • Postmark

One SDK

Three jobs, one SDK. Usually three vendors.

Attribution says where a user came from, analytics what they do, engagement what reaches them next. Here all three read the same event, recorded once — with nothing exported or synced in between.

Attribution

Credited to the ad that brought this person — Meta, the spring sale, creative B — and added to that campaign's return on spend.

Analytics

The last step of the checkout funnel, a point on the revenue line and a row in retention.

Engagement

It ends the cart-recovery journey for that person, so nobody is reminded about something they already bought.

The same jobs, usually three tools

Each of these is good at its own job. The difference is how many of them it takes, and how many SDKs ship in your app.

CapabilityMobile measurement partnere.g. AppsFlyer, Adjust, BranchProduct analyticse.g. Mixpanel, AmplitudeCustomer engagemente.g. Braze, OneSignal, Customer.iotreebarsOne SDK
Install attributionBuilt inNot offeredNot offeredBuilt in
Ad spend and return on spendBuilt inNot offeredNot offeredBuilt in
Deep links and smart linksBuilt inNot offeredPartlyInside messagesBuilt in
Funnels · retention · paths · SQLPartlyCohort reportsBuilt inPartlyCampaign statsBuilt in
Journeys on live eventsNot offeredPartlySynced to another toolBuilt inBuilt in
Push · email · SMS · WhatsApp · in-appNot offeredNot offeredBuilt inBuilt in
An AI agent that drafts the workNot offeredPartlyAnswers questionsPartlyWrites copyBuilt inIris
One SDK, one billNoPlus two more toolsNoPlus two more toolsNoPlus two more toolsYes

01Attribution

Know which ad paid for itself. Down to the creative.

Every install is credited once, from evidence — the Play Install Referrer, Apple's AdServices, the click a link carried. Spend arrives beside it, revenue follows the user, and return on ad spend is a column rather than a spreadsheet.

SourceInstallsSpendRevenueReturn on ad spend
Meta4 campaigns6,210£18,400£44,1602.40×
spring_sale · creative BMeta2,140£5,300£16,4303.10×
Google Ads3 campaigns4,380£14,200£29,8202.10×
TikTok2 campaigns1,950£6,100£9,7601.60×
Apple Ads1 campaign1,390£2,600£7,2802.80×
Links and QR codesgo.northwind.com1,370—£5,200No spend
OrganicStore search, word of mouth3,120—£18,900No spend

Links that know the device

One short link sends an iPhone to the App Store, an Android phone to Google Play and a laptop to your site — and opens the right screen on first launch.

Results go back to the networks

Purchases and sign-ups are sent back to Meta, Google Ads and TikTok, so their bidding learns from what happened in your app. Audiences sync to them too.

Deep links that survive the installThe screen the link pointed at opens on first launch, on iPhone and Android.
Landing pagesA page before the store, designed once, picked per link.
From your website to the appThe ad click on your site — gclid, fbclid, ttclid — carried into the install.
SKAdNetworkApple's postbacks, received and counted beside every other install.
Re-engagementA user a link brings back is credited to it, not counted as a new install.
Switching from your MMPCompare install numbers side by side, and bring your history with you.

02Analytics

The board builds itself. Then you go deeper.

Send events and Insights draws the numbers that matter before anybody configures anything. Funnels, retention, paths, breakdowns and SQL are there afterwards, for whoever wants them.

Active users
Nine kinds of reportTrends, funnels, retention, paths, breakdowns, lifecycle, stickiness and more, from the events you already send.
SQL when you want itAny report opens as SQL, and every query shows what it will cost before it runs.
Revenue, from where it is paidRevenueCat, Stripe, the App Store and Google Play, tied to the campaign that earned it.
LiveEvents as they arrive, and who is in the app right now.
Boards on your own domainShare numbers with people who have no login, on a hostname you own.
Digests and alertsReports to email, Slack, Google Sheets or Notion on a schedule, and a message when a number moves.

03Engagement

Journeys that act on the same events. And check before they send.

Someone adds to cart and leaves. Thirty minutes later they get a push; if they still have not bought a day after that, an email. Anyone who buys along the way drops out, so nobody is reminded about something they already paid for.

Four kinds of campaign

Nothing can bypass the rules.

Frequency caps and quiet hours are checked at the moment of sending, for every campaign and every journey.

A retry cannot double-send.

Each delivery has one record, so a step that runs again finds the first send and stops.

Everyone is reachable, not just phones.

Email, SMS, WhatsApp and voice reach people by address and number, whether or not they ever installed the app.

Channels

Seven channels. Each on keys you own.

Every channel says what it is addressed by — which is what decides who a campaign can reach. Push runs on your own keys, email sends from your domain through the provider you already pay.

Push

a deviceAPNs, FCM and web push, on your keys

In-app

a deviceModals, banners, surveys, an inbox

Email

an addressResend, SendGrid, Postmark, SES or SMTP

SMS

a numberTwilio or Vonage

WhatsApp

a numberMeta Cloud API

Voice

a numberTwilio

Webhooks

a URLAny endpoint you run

ButtonInspector
Style
Colour
Corners
Size
On tap
Open deep linkbasket

The message wears your customer-facing brand, not ours.

Audiences with live reachBuild one from events and properties, and see who it reaches on each channel before you send.
A/B tests and holdoutsSplit a message, keep a control group, and read the lift against people who got nothing.
Surveys, NPS and prize wheelsIn-app forms, ratings, carousels and countdowns, and prizes decided on the server.
Every languageOne campaign carries each language you write, right to left included, and sends each person theirs.
Replies and keywordsSMS and WhatsApp answers come back, and STOP and START are honoured on their own.
A notification inboxEvery message kept for each user, with a ready-made inbox for your web app.

Iris · AI agent

An entire growth team. Inside the product.

Iris reads the same installs, events and revenue you do. She notices what changed, says what it is costing, and drafts the report, the audience or the campaign — for a person to check and apply.

  1. 1
    She speaks first.Every hour she looks at what moved — installs, funnels, revenue — and tells you before you ask.
  2. 2
    Every number can be checked.Her tools are named, and each answer links to the report it came from.
  3. 3
    She drafts, a person applies.A report says Apply. A campaign says Create campaign. Nothing goes out on its own.
In SlackAsk her in a direct message or mention her in a channel, and get the chart back in the thread.
In your repositoryThe code agent adds the SDK and your tracking plan as a pull request, and reviews the branches it watches.
In your own AI toolsConnect Claude, ChatGPT, Cursor or Gemini to your project, and ask them about your data.

Integrations

Fits the stack you have. Leaves when you want.

Revenue from your billing provider, users from your CDP, results back to your CRM, and a copy of every event exported to your warehouse. Nothing is locked in.

Ad networks

Spend in, conversions and audiences out.

  • Meta
  • Google Ads
  • TikTok
  • Apple Ads

Revenue

Every payment, wherever it is taken.

  • RevenueCat
  • Stripe
  • App Store
  • Google Play

Data in

Users and events you already collect.

  • Segment
  • RudderStack
  • Hightouch
  • Server API
  • Mixpanel history
  • Amplitude history

CRM and support

What a person did, where your team works.

  • HubSpot
  • Salesforce
  • Intercom
  • Zendesk

Export

A copy of every event, hourly, for your own warehouse.

  • Amazon S3
  • Google Cloud Storage
  • Cloudflare R2
  • BigQuery

Workflow

Where alerts land and work gets filed.

  • Slack
  • Zapier
  • Make
  • n8n
  • Webhooks
  • GitHub
  • Jira
  • Linear
  • Sentry

How it works

One SDK. Then all three start working.

No schema to design and no dashboards to build first. Install the SDK — or let the code agent open the pull request — send the events you already have, and the product takes it from there.

Read the quickstart
  1. 1

    Install the SDK

    Web, iOS, Android or React Native, plus an API for your server — one event contract across all of them.

    $ npm install @treebars/web-sdk
     
    treebars.init({ writeKey: 'pk_live_…' })
    treebars.track('add_to_cart')
    
  2. 2

    Installs are credited, charts fill in

    Each install is tied to the link or ad that brought it, and Insights builds a board from the event names it sees.

  3. 3

    Iris and journeys act

    Journeys start on those same events, and Iris drafts what to do about what changed.

Platform

What a careful buyer checks. Answered here.

Where events go, who a person is, what is never collected, what happens when they leave, and how you take a copy out.

Events land in seconds

Charts, live views and event triggers read them as they arrive, not after a nightly job.

One person across devices

An anonymous visitor who signs in becomes one person. A shared device is a handover, never a merge.

Erasure that really erases

One request removes a person everywhere they appear, and campaign totals stay honest afterwards.

Your keys stay yours

Channel credentials are encrypted, never shown back, and used only to send your messages.

Private by default

No advertising IDs, attribution only after your app asks, and an opt-out in every SDK.

A copy for your warehouse

Every event exported each hour to your own bucket or BigQuery, for your team to query alongside everything else.

Questions

Asked before anyone signs up.

Anything else is in the docs.

Can Treebars replace my MMP?

Yes. Installs are credited from the Play Install Referrer, Apple AdServices, SKAdNetwork and the links you share; spend comes in from Meta, Google Ads, TikTok and Apple Ads; and conversions go back to each network. While you switch, run both, compare the install numbers side by side, and bring your history.

Can I keep my current analytics?

Yes. Treebars runs beside it. Send the same events to both while you compare, import your Mixpanel or Amplitude history, and turn off whichever one you stop opening.

Do I need a data team?

No. Install the SDK and send events. Insights builds a board from the event names it sees, and funnels, retention and paths are a few clicks from there. SQL is there for whoever wants it.

Which platforms are supported?

Web, iOS, Android and React Native, plus an API for events your server sends. Every SDK sends the same event contract, so one report reads every platform together.

What does Iris see?

The project's own data, through read tools she names as she uses them. She drafts reports, audiences and campaigns; a person checks and applies them. Bring your own model key if you prefer.

Can I use my own email or SMS provider?

Yes. Email sends through Resend, SendGrid, Postmark, Amazon SES or your own SMTP server; SMS through Twilio or Vonage; WhatsApp through Meta's Cloud API. Push uses your APNs and FCM keys.

Does it collect the advertising ID?

No. Attribution works from referrers, AdServices and link clicks, never the IDFA or GAID, and install attribution is off until your app asks for consent.

What happens when someone asks to be deleted?

One request removes that person everywhere: their identity, aliases, device history, push tokens and deliveries, and the copies sent to your exports and ad networks. A campaign that reached 1,240 people still says 1,240.

How much does it cost to start?

Nothing. Signing up takes an email address, and there is no credit card to enter.Nothing. Treebars is in private beta, so it starts with joining the waitlist — an email address, no credit card. We email you when you’re in.

Send your first event today.Get your place in line.

Free to start, with no credit card. Web, iOS, Android and React Native.

Treebars is in private beta. Join the waitlist and we’ll email you the day you’re in. Web, iOS, Android and React Native.