/conversion

POST

Conversion tracking endpoint. Records post-install events linked to attribution.

Overview#

Track conversion events (signups, purchases, etc.) that happen after install. Conversions are linked to the original attribution via the install ID.

The SDK handles this automatically via trackConversion(). You typically don't need to call this endpoint directly.

Endpoint#

POST https://YOUR_APP_ID.mobana.ai/conversion

Request#

Request
POST https://YOUR_APP_ID.mobana.ai/conversion
Content-Type: application/json

{
  "installId": "520e8400-c466-a554-40e0-0",
  "name": "purchase",
  "value": 49.99
}
ParameterTypeDescription
installIdRequiredstringThe same install ID used in the /find request. Links this conversion to the attribution.
nameRequiredstringConversion type name. Must be configured in your app settings in the Dashboard.
valuenumberMonetary value for revenue tracking (e.g., purchase amount).
flowSessionIdstringOptional flow session ID from startFlow() result. Links this conversion to a specific flow presentation.
timestampnumberUnix timestamp in milliseconds. Used when sending queued offline events. Defaults to current time.

With Flow Session

Request
{
  "installId": "520e8400-c466-a554-40e0-0",
  "name": "purchase",
  "value": 49.99,
  "flowSessionId": "abc123-session-id",
  "timestamp": 1706745600000
}

Response#

Response
{
  "success": true
}
Silent Success Pattern

This endpoint always returns { "success": true }, even for invalid conversion names or unconfigured types. This is intentional — conversion tracking should never block your app flow.

Invalid requests are logged server-side for debugging.

Configuration#

Conversion types must be configured in your app settings before they can be tracked:

  1. Go to Dashboard → Your App → Settings → Conversions
  2. Add conversion types (e.g., "signup", "purchase")
  3. Configure whether each type is repeatable or non-repeatable

Repeatable: Can be tracked multiple times per install (e.g., purchases)
Non-repeatable: Only counted once per install (e.g., signup)

Offline Support#

The SDK queues conversions when offline and sends them when connection is restored. The timestamp field preserves the original event time for accurate analytics.