/find

POST

Attribution lookup endpoint. Called by the SDK to find attribution for an install.

Overview#

This endpoint is called by the SDK on first app launch to find attribution data. It matches the install to a previous click based on device signals.

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

Endpoint#

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

Request#

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

{
  "installId": "520e8400-c466-a554-40e0-0",
  "platform": "android",
  "dacid": "cm5abc123xyz...",
  "timezone": "America/New_York",
  "screenWidth": 393,
  "screenHeight": 852,
  "language": "en-US"
}
ParameterTypeDescription
installIdRequiredstringUnique ID for this install. Generate a UUID on first launch and store it locally. Used for idempotency and conversion linking.
platformRequiredstringios or android
dacidstringClick ID from Android Install Referrer. If present, enables deterministic (100% accurate) matching.
timezonestringUser's timezone in IANA format (e.g., America/New_York). Improves probabilistic matching.
screenWidthnumberScreen width in points. Improves probabilistic matching.
screenHeightnumberScreen height in points. Improves probabilistic matching.
languagestringDevice language in BCP 47 format (e.g., en-US). Improves probabilistic matching.

Response#

Match Found (Probabilistic)

Response
{
  "matched": true,
  "attribution": {
    "utm_source": "facebook",
    "utm_medium": "cpc",
    "utm_campaign": "summer_launch",
    "utm_content": "carousel_ad_1",
    "utm_term": null,
    "data": {
      "promo": "WELCOME10"
    }
  },
  "confidence": 0.8857
}

Match Found (Deterministic)

Response
{
  "matched": true,
  "attribution": {
    "utm_source": "google",
    "utm_campaign": "brand_campaign"
  },
  "confidence": 1.0
}

No Match

Response
{
  "matched": false
}
PropertyTypeDescription
matchedbooleanWhether an attribution match was found
attributionobjectAttribution data (only present if matched)
confidencenumberMatch confidence (0.0 - 1.0). 1.0 = deterministic match via Install Referrer. <1.0 = probabilistic match.

Matching Algorithm#

Deterministic Matching

If dacid (click ID) is provided and matches a stored click, the match is deterministic with 100% confidence. This is only available on Android via the Install Referrer API.

Probabilistic Matching

Without a click ID, the algorithm matches based on:

  • • IP address (strongest signal)
  • • Platform (must match)
  • • Timezone
  • • Screen dimensions
  • • Language
  • • Time since click (closer = better)

The confidence score reflects how many signals matched and their quality. Higher confidence = more reliable attribution.

Idempotency#

The endpoint is idempotent based on installId. Multiple calls with the same install ID return the cached result without additional billing. This makes retries safe.

Organic Installs#

If no match is found (matched: false), the install is recorded as organic. This is still useful for analytics — you can see what percentage of installs are organic vs. attributed.