Troubleshoot setup
Start with the affected app's Settings page. It shows which connection needs attention without exposing credentials.
Campaigns do not appear
- Confirm Apple Ads shows as connected.
- Check that the credentials can read the expected Apple Ads organization.
- Confirm that the campaigns belong to the app selected during setup.
- If you intentionally narrowed campaign scope, make sure the missing campaigns are included.
Revenue does not appear
RevenueCat
- Confirm RevenueCat shows as connected in SpendDaddy.
- Send a test webhook from RevenueCat and check that RevenueCat reports a successful delivery.
- Make sure the webhook is configured for the same RevenueCat app you connected in SpendDaddy.
- If the URL may be stale, rotate the webhook in SpendDaddy and replace it in RevenueCat.
SpendDaddy API
- Send events from your backend, not directly from a mobile app.
- Confirm the request uses the API key for the correct SpendDaddy app.
- Include a positive
amountand the correctcurrencyfor purchases, renewals, conversions, and refunds. - Follow the response guidance in the public API guide.
Recommendations do not appear
- Wait for connected campaign and revenue data to finish its first refresh.
- Check the Overview page for missing or stale data warnings.
- Review your optimization parameters. Strict spend, conversion, or ROAS thresholds can produce no candidates.
- A “no candidates” state can be correct when the available evidence does not support a change.
App Store Connect metrics do not appear
- Confirm the key has the Finance role and Analytics Reports access.
- Apple reports can arrive later than Apple Ads or revenue events.
- SpendDaddy can continue using Apple Ads and revenue data while this connection is unavailable.
A credential was rotated
- Update the new credential everywhere the old one was used.
- RevenueCat webhook and SpendDaddy API rotations invalidate the previous value immediately.
- Return to Settings and confirm the connection is ready.
If the problem continues, contact the SpendDaddy team with the app name, affected connection, approximate time, and the user-visible error message. Never include private keys, API keys, or complete webhook URLs.