> ## 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.

# Quickstart

> Connect FloKit to your subscription app and see your first payback report in 30–60 minutes.

<Note>
  FloKit needs 7–14 days of subscription data to generate payback curves. Connect your subscription source first for the fastest time-to-insight.
</Note>

<img src="https://mintcdn.com/flokitai/mI45ffd9dJDwT_kI/images/data-fabric.svg?fit=max&auto=format&n=mI45ffd9dJDwT_kI&q=85&s=f43270cb34af41989ae8ba8115d3ff11" alt="FloKit data fabric connecting subscription sources, attribution, and payback recommendations" width="920" height="420" data-path="images/data-fabric.svg" />

```mermaid theme={null}
sequenceDiagram
    participant Team as Your team
    participant FloKit as FloKit dashboard
    participant Sub as Subscription source
    participant MMP as Attribution source
    Team->>FloKit: Create workspace
    Team->>FloKit: Connect App Store / Play / Stripe
    FloKit->>Sub: Pull trials, activations, renewals, refunds
    Team->>FloKit: Connect AppsFlyer / Adjust
    FloKit->>MMP: Pull install attribution and campaign data
    Team->>FloKit: Send lifecycle events (Events API, optional)
    FloKit->>FloKit: Stitch identities, build cohorts
    FloKit-->>Team: First payback report (after 7–14 days of data)
    Team->>FloKit: Enable recommendations (read-only)
```

<Steps>
  <Step title="Create a workspace">
    Sign up at [flokitai.com](https://flokitai.com). Create a workspace for your app. Keep staging and production workspaces separate — each workspace maintains its own integrations, identity graph, and reports.
  </Step>

  <Step title="Choose your integration path">
    Select the path that fits your stack:

    * **No app release / server-side (recommended)** — Connect App Store Connect, Google Play, or Stripe plus an MMP (AppsFlyer or Adjust). No mobile SDK changes required. Most teams see their first report within 48 hours.
    * **Warehouse-first** — Connect BigQuery, Snowflake, or Redshift with a historical cohort export. Best for data teams that want retroactive analysis before wiring live sources.
    * **SDK/API-enhanced** — Send server-side events via the FloKit Events API for richer funnel signals, custom properties, and real-time payback updates.

    See [Integration paths](/getting-started/integration-paths) for a full comparison.
  </Step>

  <Step title="Connect your subscription / revenue source">
    Go to **Settings → Integrations → Subscriptions**. Connect one of:

    * **App Store Connect** — App Store Connect API key
    * **Google Play** — service account with financial data access
    * **Stripe** — Restricted key with read access to customers, subscriptions, and invoices
    * **CSV import** — Upload a historical subscription export

    FloKit will start pulling trial starts, subscription activations, renewals, cancellations, and refunds as soon as the connection is live.

    See [Connect App Store Connect](/integrations/app-store-connect) or [Connect Stripe](/integrations/stripe) for step-by-step setup.
  </Step>

  <Step title="Connect your attribution / MMP source">
    Go to **Settings → Integrations → Attribution**. Connect one of:

    * **AppsFlyer** — API token + app ID
    * **Adjust** — API token + app token

    FloKit reads install attribution, campaign source, ad set, creative, and country. This is what enables the spend → retained revenue join.

    See [Connect AppsFlyer](/integrations/appsflyer) or [Connect Adjust](/integrations/adjust).
  </Step>

  <Step title="Send or import product and funnel events">
    Send lifecycle events via the FloKit Events API or import a CSV. The minimum set for payback analysis:

    * `paywall_viewed`
    * `trial_started`
    * `subscription_started`

    See the [full event taxonomy](/send-data/event-taxonomy) for the complete list.

    <Warning>
      The Events API is in [design-partner preview](/api-reference/authentication) and has no
      public host yet — `YOUR-FLOKIT-API-HOST` is a placeholder your FloKit team fills in. For a
      live path today, use [`@flokitai/subscriptions-sdk`](/sdks/overview) or a CSV import.
    </Warning>

    **Example — send a single event:**

    ```bash theme={null}
    curl -X POST https://YOUR-FLOKIT-API-HOST/v1/events \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "event": "paywall_viewed",
        "user_id": "usr_abc123",
        "anonymous_id": "anon_xyz789",
        "timestamp": "2024-03-15T10:30:00Z",
        "properties": {
          "paywall_id": "annual_upsell_v3",
          "placement": "onboarding_step_3"
        }
      }'
    ```
  </Step>

  <Step title="Validate identity mapping">
    Go to **Data → Identity**. FloKit stitches four identity layers:

    1. `anonymous_id` (pre-login device ID)
    2. `user_id` (post-login app user)
    3. `subscription_customer_id` (billing platform customer)
    4. `mmp_customer_user_id` (AppsFlyer / Adjust attributed install)

    Resolve any join gaps before reading your first report — unlinked users will appear as unattributed installs and inflate direct/organic numbers.

    See [Identity mapping](/send-data/identity-mapping).
  </Step>

  <Step title="Review your first payback report">
    Go to **Reports → Payback**. Once FloKit has collected 7–14 days of subscription data, cohort payback curves will populate automatically.

    The report shows:

    * **CAC** by campaign, creative, country, and offer
    * **ROAS** at 7, 14, 30, 60, and 90 days
    * **Payback window** — how long until a cohort covers its acquisition cost
    * **Projected LTV** at 6 and 12 months

    See [Payback reports](/product/payback-reports).
  </Step>

  <Step title="Enable recommendations in read-only mode">
    Go to **Actions → Settings**. Leave write access disabled. FloKit will populate the action queue with recommended budget moves, creative pauses, audience shifts, offer tests, and paywall experiments — all queued for human review.

    Approve, reject, or defer each action before enabling write access to ad platforms.

    See [Action queue](/product/action-queue).
  </Step>
</Steps>
