Data refresh behavior
SpendDaddy uses scheduled runs to refresh metrics and keep recommendations current.
Hourly pipeline (hosted/default behavior)
- Processes active orgs and apps
- Pulls Apple Ads data
- Maps/refreshes attribution
- Regenerates recommendations
- Generates reports
Production note
By default, RevenueCat webhook polling is intentionally off during live runs. You should rely on RevenueCat webhooks for forward events.
Operations commands (self-hosting)
You can trigger a full run manually:
uv run optimizer run-hourly
Useful for:
- Post-backfill sanity checks
- Initial smoke tests after onboarding
- Verifying credential and webhook changes
What to monitor after startup
- Campaign and recommendation recalc latency after first successful refresh
- Empty recommendation panel (valid if thresholds are not met)
- Warnings section in overview for stale or missing source coverage