Connect Apple Ads
Import daily Apple Ads campaign spend into RevenueHog with a read-only API user, attributed to each promoted app, with restatement and currency handling.
Connecting Apple Ads imports daily spend per campaign so you can see it against each app's revenue. Access is read-only, and Apple Ads Advanced is required: Basic has no API.
Create an API user
In Apple Ads
Open Account Settings → API and create an API user. Read-only access is enough.
Copy the credentials
Copy its Client ID, Team ID and Key ID, and the private key it generates.
Paste into RevenueHog
Under Settings → Connections → APPLE ADS, fill in client id, team id, key id and the private key (starts with -----BEGIN PRIVATE KEY-----), then press Connect Apple Ads →.
"Connected. Spend lands on your apps after tonight's sync." The card then shows organization, currency, spend since and last synced. The key is stored encrypted and never shown again.
Errors
| Message | Fix |
|---|---|
| Client ID, Team ID and Key ID are all required. | Fill every field. |
| Paste the private key you downloaded from Apple Ads. | The key field is empty. |
| That doesn't look like an Apple Ads private key. It starts with -----BEGIN PRIVATE KEY-----. | Paste the whole PEM. |
| This looks like an Apple Ads Basic account. Basic has no API access, so spend can't be imported. Apple Ads Advanced is required. | Upgrade to Advanced. |
| Apple Ads returned no organization for this credential. | Check the API user's access. |
How spend is imported
The ad spend job runs daily at 08:35 UTC, after the day's FX rates exist:
- It re-pulls the trailing 14 days, because Apple can take up to 10 days to process charges. Rows are replaced, so a restated day corrects itself.
- The current day is skipped, as in Apple's own dashboard.
- Spend is stored per app, day and campaign. Each campaign promotes one app, identified by its Apple ID, so no mapping is needed. Campaigns for apps not in your workspace are skipped.
- Spend is stored in the account currency exactly as Apple reports it; the USD figure is derived.
When spend stops updating
Apple revokes API access when the user behind the key loses their role or is deleted. Reconnect with a fresh key. Imported spend stays either way. To disconnect, use Confirm remove.
Related
Last updated on
Connect Stripe
Connect a Stripe account to RevenueHog with a read-only restricted key, split products into web apps, import history, and then choose webhook or polling.
Multiple accounts
How many App Store Connect, Stripe, Google Play and Apple Ads connections one RevenueHog workspace holds, and how to track several developer teams at once.