Early access preview

Methodology

A “how did you hear about us” survey is only worth wiring into your attribution stack if the number it produces survives scrutiny. Four design choices are what make a Caliper percentage defensible enough to multiply against revenue.

Randomized response order

An un-randomized HDYHAU survey measures its own option list as much as it measures reality. Whatever sorts first — alphabetically, or by however the list was authored — gets an attention premium and over-indexes. People scan from the top, and the top of a fixed list collects clicks it did not earn.

Caliper randomizes option order on every impression. Across enough installs the position bias averages out instead of accumulating on one answer, so the share each channel earns reflects what people actually report rather than where it happened to sit in the list.

Closed taxonomy keeps answers classifiable

If the first thing someone sees is a blank text box, you get a hundred spellings of the same channel and nothing you can aggregate. Caliper presents a closed set of options tuned per category. Every answer lands in a known bucket, so “TikTok” is always TikTok and the counts add up to a denominator you can trust. The auto-suggest layer for creators and shows (see Survey configuration) refines within a chosen bucket without breaking that structure — the person commits to a category first, then narrows.

The skip button is big on purpose

Forced answers are noise. When a survey makes dismissal harder than answering, people tap whatever is nearest to get rid of it, and that fabricated signal is worse than silence because it looks like data. Caliper makes the skip control prominent: a skipped survey is better than a guessed answer. The result is that the answers you do collect are answers people meant, and the skips are recorded as their own honest outcome rather than being laundered into a random channel.

Non-responder modeling

Not everyone answers, and pretending otherwise inflates whatever channel happens to attract the responders. Caliper does not assume responders look like non-responders. It tracks the response rate per channel and applies response-rate-aware estimates so the modeled share accounts for who tends to skip.

This matters because the percentage you multiply against revenue has to represent all installs, not just the talkative ones. If podcast-driven users answer at a different rate than search-driven users, a raw tally of responses would tilt toward the more responsive group. Modeling each channel against its own response rate corrects that tilt, so the share you report is an estimate of the whole population rather than a self-selected slice.

What you end up with

Put together — order that does not favor the top option, a taxonomy that keeps every answer countable, a skip that keeps noise out, and modeling that accounts for who did not answer — the share Caliper reports for each channel is a number you can defend when finance asks where it came from. From there it flows to your stack exactly like any other event: see MMP sync for how each response lands in Adjust or AppsFlyer.