Before you start
- FloKit workspace connected to RevenueCat or Adapty and your MMP.
- Historical backfill complete (check FloKit → Data → Sources — all sources should show green status).
- Access to your existing CAC report (from your internal BI tool, ad platform export, or MMP dashboard).
Steps
Pull your existing CAC report
From your internal BI tool or MMP, pull a CAC report for the past 30 days broken down by campaign.Record:
- Total spend per campaign.
- Total paying subscribers (not installs) per campaign.
- Blended CAC per campaign.
- Trial conversion rate (if your existing tool tracks it).
- Renewal rate or subscriber retention at 30 days (if available).
Open the FloKit payback report
Go to Reports → Payback.Set:
- Date range: same 30-day window as your existing report.
- Grouping: Campaign.
- Payback window: 30 days.
Compare CAC by campaign
For each campaign in your existing report, find the matching row in FloKit’s payback report and compare CAC.Expected tolerance: ±5%.Differences below 5% are expected — they result from minor attribution window differences between your MMP and FloKit’s ingestion timing.Differences above 10% indicate a data quality issue that should be resolved before acting on recommendations.
Compare trial conversion rate
FloKit calculates Compare this to the trial conversion rate in your RevenueCat or Adapty dashboard for the same period.Expected tolerance: ±2%.If FloKit’s trial conversion rate is materially lower than RevenueCat or Adapty, the most likely cause is a low identity join rate — some trial events cannot be attributed to an install. Check FloKit → Data → Identity.
trial_conversion_rate as:Compare renewal rate
FloKit calculates …for the cohort in the selected date window. Compare this to the subscriber retention chart in RevenueCat or Adapty for the same cohort period.Expected tolerance: ±2%.
renewal_rate as:Investigate if numbers diverge more than 10%
If any metric diverges more than 10% from your source of truth:Check identity join rate. Go to FloKit → Data → Identity. If the join rate is below 90%, subscription events are not being matched to attribution data for a meaningful portion of your users. Follow the identity mapping guide.Check for duplicate events. Duplicate subscription events (same
transaction_id received more than once) inflate subscription counts and distort conversion metrics. Go to FloKit → Data → Sources → [your source] → Event log and filter for duplicate transaction IDs.Check attribution window settings. AppsFlyer and Adjust have configurable attribution lookback windows. If FloKit’s default window differs from your existing reporting tool’s setting, spend allocation across campaigns will differ. Check FloKit → Settings → Integrations → [MMP] → Attribution window.Validation checklist
- CAC within ±5% of your source-of-truth report, per campaign
- Trial conversion rate within ±2% of RevenueCat or Adapty dashboard
- Renewal rate within ±2% of subscription platform retention chart
- Revenue within ±5% of subscription platform revenue report
- Identity join rate above 90%
If validation fails
- Identity join rate below 90%: Identity mapping guide.
- Duplicate events inflating counts: Data quality checklist.
- Attribution window mismatch: Adjust the MMP attribution window in FloKit → Settings → Integrations to match your existing reporting configuration.
- Revenue discrepancy: Verify whether your existing report uses gross or net revenue (post-refund). FloKit uses net revenue by default.