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

# Set up without an app release

> Connect FloKit using RevenueCat or Adapty + an MMP, with no mobile SDK changes required.

**Goal:** Get FloKit generating payback reports and recommendations using your existing subscription and attribution stack, without shipping any mobile SDK changes.

This path works because FloKit reads from RevenueCat or Adapty (subscription events) and AppsFlyer or Adjust (attribution) via server-to-server APIs and webhooks. No mobile SDK is required.

***

## Before you start

* RevenueCat or Adapty is live in your production app.
* AppsFlyer or Adjust is live in your production app.
* Your RevenueCat or Adapty `app_user_id` matches your MMP `customer_user_id` — or you know the mapping between them.

If your user IDs don't match, read the [identity mapping guide](/send-data/identity-mapping) before proceeding. A mismatched identity join is the most common reason FloKit's payback numbers diverge from your source of truth.

***

## Steps

<Steps>
  <Step title="Create a FloKit workspace">
    Go to [flokit.ai](https://flokit.ai) and create a workspace for your app. You'll connect your integrations and configure guardrails within this workspace.
  </Step>

  <Step title="Connect RevenueCat or Adapty">
    **RevenueCat:**
    Go to **FloKit → Settings → Integrations → RevenueCat**.

    * Enter your RevenueCat V1 API key (found in RevenueCat → Project Settings → API Keys).
    * Optionally configure the RevenueCat webhook to push events in real time (recommended for faster data freshness).

    **Adapty:**
    Go to **FloKit → Settings → Integrations → Adapty**.

    * Enter your Adapty API key.
    * Enable the Adapty webhook in Adapty → App Settings → Integrations → FloKit.

    FloKit will immediately begin a historical backfill — typically 30–90 days of subscription event history — which completes within 2–4 hours.
  </Step>

  <Step title="Connect AppsFlyer or Adjust">
    **AppsFlyer:**
    Go to **FloKit → Settings → Integrations → AppsFlyer**.

    * Enter your AppsFlyer V2.0 API token and App ID.
    * FloKit will pull install and attribution data via the AppsFlyer Pull API.

    **Adjust:**
    Go to **FloKit → Settings → Integrations → Adjust**.

    * Enter your Adjust API token and App Token.
    * FloKit will pull attribution data via the Adjust Reporting API.
  </Step>

  <Step title="Map identities">
    Go to **FloKit → Data → Identity**.

    FloKit displays your current identity join rate — the percentage of subscription events that FloKit successfully matched to an attributed install. A join rate above 90% is required for reliable payback reports.

    If your join rate is below 90%:

    * Verify that `app_user_id` in RevenueCat or Adapty matches `customer_user_id` in AppsFlyer or Adjust.
    * Check for RevenueCat anonymous IDs (`$RCAnonymousID` prefix) — these cannot be matched to MMP attribution.
    * Follow the [identity mapping guide](/send-data/identity-mapping) for resolution steps.
  </Step>

  <Step title="Wait for initial sync">
    Historical backfill takes 2–4 hours. You can monitor sync progress in **FloKit → Data → Sources**.

    Once sync completes, each source will show a green status and an event count.
  </Step>

  <Step title="Review the payback report">
    Go to **Reports → Payback**. Set the date range to the past 30 days.

    Verify that:

    * CAC figures are in the expected range for your acquisition channels.
    * Trial conversion rate matches what you see in RevenueCat or Adapty.
    * Renewal rate is consistent with your subscription platform's retention chart.

    If numbers diverge more than 10% from your source of truth, check the identity join rate and review the [validate CAC payback](/recipes/validate-cac-payback) recipe before enabling recommendations.
  </Step>

  <Step title="Enable recommendations">
    Go to **Actions → Settings → Enable recommendations**.

    FloKit will start analyzing your payback data and populating the action queue. In read-only mode, FloKit generates recommendations but does not execute any changes — your team reviews and acts on recommendations manually.

    Configure [guardrails](/product/guardrails) before enabling write access to any ad platform.
  </Step>
</Steps>

***

## Expected results

| Timeline    | What to expect                                   |
| ----------- | ------------------------------------------------ |
| 0–4 hours   | Historical data synced, integration health green |
| 24–48 hours | First payback report visible with cohort curves  |
| 3–7 days    | First action recommendations in the queue        |

***

## Validation checklist

* [ ] Subscription events visible in FloKit → Data → Sources
* [ ] Attribution events visible in FloKit → Data → Sources
* [ ] Identity join rate above 90% in FloKit → Data → Identity
* [ ] Payback report shows expected campaigns with recognizable CAC figures
* [ ] Action queue populated with at least one recommendation

***

## Troubleshooting

* **Subscription events not appearing:** See [RevenueCat integration guide](/integrations/revenuecat) or [Adapty integration guide](/integrations/adapty).
* **Low identity join rate:** See [Identity mapping](/send-data/identity-mapping).
* **Payback numbers don't match your BI tool:** See [Validate CAC payback](/recipes/validate-cac-payback).
