> ## Documentation Index
> Fetch the complete documentation index at: https://docs.userjourneys.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Audience prompts

> Launch in-app interviews for synced Mixpanel cohort members without generating one link per user.

Audience prompts are for users who match a synced analytics cohort. They do not
require an app event at the moment of launch and they do not require you to
generate a short link for every user ahead of time.

## Flow

```text theme={null}
Mixpanel cohort membership changes
  -> Mixpanel sends cohort members to UserJourneys
  -> UserJourneys stores active audience members
  -> An interview Study Launch Rule connects that audience to a study
  -> app fetches SDK config with referenceId
  -> matching audience member materializes a respondent short code
  -> SDK receives pendingInvite
  -> app shows the native prompt
  -> accepted prompt opens WebView or browser fallback
```

The mobile app only uses the public SDK key and the current `referenceId`.
Private Mixpanel credentials, webhook secrets, and project API keys stay on the
server side.

## Identity

`referenceId` is the join key between the installed app user and the synced
audience member. Use the same stable person id your app uses for analytics,
such as Mixpanel `distinct_id`, or your canonical app user id when that is what
you sync to UserJourneys.

UserJourneys also matches against the provider member id when `reference_id` is
not present on the synced member. That lets teams start with Mixpanel
`distinct_id` and move to a canonical app user id later without changing the
SDK surface.

## Prompt behavior

Audience membership does not push a user directly into an interview. The SDK
sets a pending invite and `InterviewHost` shows the in-app prompt.
Accepting the prompt resolves the respondent short code and opens the in-app
WebView or the server-selected browser fallback.

## Attribution

When an audience prompt is materialized, UserJourneys stores:

* the Study Launch Rule id;
* the study id;
* the audience id;
* the audience member id;
* the respondent short code;
* the app `referenceId`;
* primitive, allowlisted audience traits used for context.

That same respondent short code works for in-app WebView launches and browser
fallback, so attribution is preserved if the app cannot open the WebView path.

## What changes after setup

After the SDK is installed and the cohort sync is configured, UserJourneys can
change which synced audience prompts which study by updating Study Launch Rules.
The app does not need a release for each new study, prompt copy change, or
event-to-study mapping change.
