Early access — onboarding our first cohort
Your survey says influencer.
Adjust says organic.
You already ask “how did you hear about us.” Caliper sends every answer to Adjust or AppsFlyer as an install-level event — so influencer, podcast, and word of mouth stop hiding in organic.
One SDK · First survey live in under an hour
What users see
rendered natively — your brand, not a widget
Where it lands
Your MMP · events
synced as it happens
What you write
import Caliper
Caliper.configure(apiKey: "cal_live_4r9…")
Caliper.survey(.howDidYouHear)
.after(.firstOpen)
.sync(to: [.adjust, .slack]) Caliper.configure(context, apiKey = "cal_live_4r9…")
Caliper.survey(Survey.HOW_DID_YOU_HEAR)
.after(Trigger.FIRST_OPEN)
.sync(Destination.ADJUST, Destination.SLACK) import { Caliper } from '@caliper/react-native';
Caliper.configure({ apiKey: 'cal_live_4r9…' });
Caliper.survey('how_did_you_hear')
.after('first_open')
.sync(['adjust', 'slack']); The morning ritual
Every morning, three reports disagree.
Your survey says influencer. Adjust says Google. The platform says it deserves everything. So you triangulate: survey percentage times revenue in one column, platform-reported in the next, MMP last-click in the third — and you pick a number you can defend.
The survey is the data point you trust most. It’s also the only one that isn’t connected to anything.
And it’s homemade. Most teams that have one built it themselves — a hardcoded question a developer shipped once, a channel list someone maintains by hand, randomization nobody got around to. The most trusted number in the stack is also the most manual.
With ATT opt-in rates at 25–35%, most iOS installs are attribution-dark to deterministic measurement. The only party who always knows where they heard about you is the user.
| Channel | Survey × rev | MMP last-click | Platform |
|---|---|---|---|
| Influencer | $41,800 | $7,300 | — |
| Paid social | $26,400 | $31,900 | $58,200 |
| $9,100 | $24,700 | $19,400 | |
| Podcast | $12,600 | $1,100 | — |
Mechanism
One question, asked correctly,
written where you work.
- 01
Install the SDK.
iOS, Android, React Native, Flutter. No IDFA, no fingerprinting, no ATT prompt required — Caliper is first-party by construction.
- 02
The survey fires once, after first open.
Fully white-labeled — it renders as a native screen in your onboarding, your fonts and colors, not a third-party widget. Closed options, randomized order, auto-suggest for influencer and podcast names, and a deliberately prominent skip. Clean signal over response volume — a skipped survey is better than a guessed answer.
- 03
Answers land where you already look.
Install-level custom events in Adjust or AppsFlyer, rows in your warehouse, and a digest in Slack every morning. No new dashboard to open.
Integrations — writes to the tools you already check
- Adjust
- AppsFlyer
- Branch
- PostHog
- Amplitude
- Slack
Why the number holds up
Built like an instrument, not a form.
- Randomized response order.
- Un-randomized HDYHAUs over-index whatever sorts first. Caliper rotates options per impression.
- Closed taxonomy, tuned per category.
- Channels map to a maintained taxonomy with auto-suggest layering for creators and shows — answers stay classifiable.
- The skip button is big on purpose.
- Forced answers are noise. When a respondent answers, you can weight it.
- Non-responders are modeled, not ignored.
- Response-rate-aware estimates per channel, so the percentage you multiply by revenue is defensible.
Plans
Pricing
Growth
$149 /mo
- 10,000 responses /mo
- 3 apps
- All SDKs
- Slack digest
- Adjust / AppsFlyer sync
- Warehouse export
Scale
$499 /mo
- Unlimited responses
- Unlimited apps
- All SDKs
- Slack digest
- Adjust / AppsFlyer sync
- Warehouse export
- Custom taxonomy
Early-access cohort gets Growth free for 6 months.
FAQ
Questions
Does this replace Adjust or AppsFlyer?
No. Caliper writes into your MMP, it doesn’t compete with it. Last-click and SKAN postbacks tell you what the network claims; Caliper tells you what the user says. You triangulate — now in one place.
Does it work with SKAN / AdAttributionKit?
Yes, by design: self-reported attribution is deterministic at the install level and doesn’t depend on Apple’s crowd-anonymity tiers. Use SKAN for network-level truth, Caliper for channel-level truth.
We already built our own HDYHAU — why switch?
Because the survey is the easy part. The maintenance is the product: taxonomy upkeep as channels shift, randomization, auto-suggest lists for creators and shows, classification, response-rate modeling. Caliper ships all of it as a turnkey SDK — white-labeled, so your users never see a third party.
Will it annoy users?
It’s one question, once, after first open, with a prominent skip. Closed options, no typing required for most answers.
How does the Adjust/AppsFlyer connection actually work?
Survey responses fire as custom in-app events through the MMP’s SDK-to-SDK event API, attached to the install. They show up in your MMP dashboards and postbacks like any other event.
Which platforms?
Native iOS (Swift), Android (Kotlin), React Native, Flutter. Server-side API for everyone else.
Where does the data live?
US data residency. Your survey data is yours — exportable, deletable on request, never sold or pooled.
Early access
Create your account.
First cohort gets Growth free for 6 months and a direct line to the team building it.
You’re on the early-access list.
Caliper is pre-launch — we’re validating demand before we ship the SDK, and signups like yours are how we decide what to build first. You’ll be among the first in when integrations open. We’ll email you once with next steps; no spam, unsubscribe anytime.
You’re already on the list.
We’ll be in touch.