Skip to main content
FloKit joins identifiers from your MMP, subscription platform, and product event stream to build a complete user timeline — from first ad touch to subscription revenue. A well-configured identity graph is the foundation of accurate payback analysis.

The identity graph

FloKit maintains a deterministic identity graph. When two identifiers are associated with the same user — for example, an anonymous_id linked to a user_id at login, or a user_id matched to the customer ID in your billing platform — FloKit merges their event histories into a single unified timeline. All payback calculations, cohort assignments, and LTV projections operate on the merged view.

Identifiers


Linking anonymous to identified

Send user_id alongside anonymous_id in any event after the user logs in or creates an account. FloKit retroactively attributes all prior pre-login events to the identified user.
After FloKit processes this event, all previous events carrying anon_xyz789 — including install attribution — are merged into the usr_abc123 identity.

Identity validation

Go to FloKit → Data → Identity to inspect join rates across your user base. A healthy integration should show:
  • >90% of install-attributed users joining to a subscription record within 7 days
  • Less than 5% of subscription events with an unknown or unmapped user_id
  • >95% anonymous-to-identified link rate within the session

Common join gaps

Subscription platform user ID does not match MMP customer_user_id Set your subscription platform’s user identifier to your backend user_id during authentication. Both the MMP and your subscription platform should use the same stable identifier so FloKit can join the two systems. Anonymous pre-install events not linking Send the same anonymous_id in both your pre-install product events and your MMP install callback. If the MMP fires an install event with a different or missing anonymous_id, FloKit cannot link pre-install behavior to the attributed install. Stripe customer not joining Include your backend user_id in the Stripe customer metadata object at customer creation time. FloKit reads this field when syncing Stripe webhook data.