Early access preview

MMP sync

Caliper does not ask you to build a pipeline. Each survey response is forwarded as a custom in-app event through your mobile measurement partner’s own SDK-to-SDK event API, attached to the install it came from. The answer then behaves like any other in-app event you already report — it shows up in dashboards, segments, and postbacks with no special handling.

How responses land in Adjust and AppsFlyer

When someone answers, the Caliper SDK hands the response to the MMP SDK that is already running in your app and asks it to record an in-app event on the current install. Because the event is created through the MMP’s SDK on the device, it is attached to that install’s record the same way a purchase or a level-complete event would be. There is no server-to-server reconciliation to set up and no separate identifier to join on — the install context is whatever the MMP already knows.

You name the destinations in the sync chain from the quickstarts:

Caliper.configure(apiKey: "cal_live_…")
Caliper.survey(.howDidYouHear)
    .after(.firstOpen)
    .sync(to: [.adjust, .slack])

Supported destinations:

Event naming

Every response is recorded as an event named how_did_you_hear. The chosen answer travels as a property on that event — for example answer: "podcast" — with the auto-suggest refinement included where the person provided one (for example the specific show). Skips are recorded distinctly so they do not masquerade as a channel. Map how_did_you_hear to a token or event name in your MMP the same way you map any custom event, and it will flow into your existing reports.

Appears like any other event

Once it lands, the survey answer is a first-class in-app event. You can build cohorts on it, break installs down by the answer property, route it through postbacks to downstream tools, and line up self-reported source against network-claimed attribution in the same dashboard. Nothing about it is a special export format — that is the point. For why the share each answer represents is trustworthy, see Methodology.

Slack daily digest

Add slack (or Destination.SLACK) to the sync list and Caliper posts a once-a-day digest to the channel you connect: response and skip counts, the channel breakdown for the day, and movement against the prior period. It is the at-a-glance read for people who do not live in the MMP dashboard.

Warehouse export

On Growth+ plans, Caliper can export responses to your data warehouse, one row per response with the answer, the refinement, the skip flag, timestamps, and the install context needed to join against your other tables. This is for teams that model attribution themselves and want the raw responses next to revenue.