Apple Search Ads
Connect Apple Search Ads to import spend data, keyword performance, and campaign structure. Combined with RevenueCat, this gives you keyword-level revenue attribution: real ROAS per keyword, not Apple's install estimates.
Last updated June 2026
Overview
Apple Search Ads drives installs from App Store search results. Users are high-intent: they are searching for something specific. But Apple only tells you about installs and estimated conversions. It does not know which installs turned into paying customers.
Grometrics bridges that gap. Connect Apple Search Ads and RevenueCat, and every purchase is traced back through the onboarding funnel to the keyword that drove the install. You will see real CAC and real ROAS per keyword, per campaign, and per territory. Use the keyword attribution guide when you are ready to interpret the numbers.
Prerequisites
| Requirement | Status | Setup link |
|---|---|---|
| Grometrics mobile SDK | Required | iOS SDK |
| RevenueCat connected | Required for revenue attribution | RevenueCat setup |
| Identity linking | Required for RevenueCat matching | Identity docs |
| Apple Search Ads account | Required | ads.apple.com |
| AdServices framework | Required in app binary | Apple docs |
Setup links: iOS SDK, RevenueCat setup, and Identity docs.
Steps
Enable AdServices in your app
The Grometrics iOS SDK automatically calls the Apple Ads Attribution API on first launch if the AdServices framework is linked. Confirm it is included in your Xcode project.
- Open your Xcode project.
- Select your app target -> General -> Frameworks, Libraries, and Embedded Content.
- Confirm AdServices.framework is listed, or add it if missing.
- No code changes are needed. The Grometrics SDK handles the attribution token request.
If you are using React Native or Flutter, the Grometrics SDK wrapper handles this automatically on iOS builds.
Connect Apple Search Ads in Grometrics
Open Settings -> Integrations, find Apple Search Ads under Ad Platforms, and start the connect flow.
- Authorize read-only access via Apple's OAuth flow.
- Select your organization if you have multiple Apple Search Ads organizations.
- Choose sync frequency and historical import range.
- Click Save & Sync.
Spend data starts importing immediately. Historical backfill completes within a few minutes depending on the selected date range.
Verify the connection
After connecting, check that the Settings -> Integrations card shows connected status, Attribution shows Apple Search Ads as a paid source with spend, CAC, and ROAS, and Campaigns shows auto-imported Apple Search Ads campaigns with synced spend.
If attribution data is not appearing for individual installs, confirm that AdServices.framework is linked and the current Grometrics SDK is installed.
What gets imported
| Data | Granularity | Update frequency |
|---|---|---|
| Campaign spend | Daily | Every sync, 6h default |
| Keyword spend and performance | Daily | Every sync |
| Impressions, taps, installs | Daily | Every sync |
| Campaign structure: ad groups and keywords | On change | Every sync |
| Creative set performance | Daily | Every sync |
Data lag
Apple Search Ads reporting data is typically 24-48 hours behind. Today's spend may not appear until tomorrow or the day after. Revenue from RevenueCat is real-time, so you may see revenue attributed to Apple Search Ads before the corresponding spend data arrives.
Keyword attribution
When both Apple Search Ads and RevenueCat are connected, Grometrics attributes revenue to specific keywords and connects acquisition to the install-to-trial funnel.
| Step | What happens |
|---|---|
| 1 | User taps an Apple Search Ad for keyword [competitor-app]. |
| 2 | User installs the app from the App Store. |
| 3 | SDK captures the AdServices attribution token on first launch. |
| 4 | Backend resolves the token to campaign, ad group, and keyword. |
| 5 | User moves through onboarding, reaches paywall, and starts a trial. |
| 6 | RevenueCat fires TRIAL_STARTED, then INITIAL_PURCHASE. |
| 7 | Grometrics links the purchase back to the keyword via visitor identity. |
The result: [competitor-app] -> $420 revenue, 8 sales, $17.75 CAC, 3.0x ROAS.
What happens next
Use the install-to-trial funnel to diagnose the path from first app open to trial start. Install-to-trial funnel
Territory-level reporting
Most Apple Search Ads users split campaigns by territory tier: Tier 1 for US, Tier 2 for UK/CA/JP, and Tier 3 for ROW. Grometrics preserves the storefront country from the Apple API and groups campaigns accordingly. Filter Campaigns or Attribution by territory to compare ROAS across tiers.
Limitations
| Limit | What it means |
|---|---|
| Attribution window | Apple's AdServices token is only available on first launch within 24 hours of the ad tap. If the user does not open the app within 24 hours, keyword-level attribution falls back to campaign-level only. |
| LAT and consent limits | Users with Limit Ad Tracking enabled on older iOS versions, or users who deny ATT consent, may not return keyword-level attribution. Grometrics can still capture campaign-level Apple Search Ads installs. |
| Search Match keywords | Auto-discovered keywords from Search Match campaigns are imported but attributed as the campaign's Search Match ad group. Apple does not expose the actual search query for Search Match taps. |
| Spend data lag | Spend is delayed 24-48 hours. Revenue appears in real time, so ROAS may shift as spend data catches up. |
FAQ
For competitor keyword analysis, open Campaigns → Keyword Performance after the sync finishes.
| Question | Answer |
|---|---|
| Can I see which competitor keywords drive the most revenue? | Yes. Campaigns → Keyword Performance shows every keyword with spend, revenue, ROAS, and CAC. Sort by revenue or ROAS to find your best-performing competitor terms. |
| How is this different from Apple's campaign reporting? | Apple tells you installs and estimated CPA. Grometrics tells you actual paying customers and real CAC because it connects to RevenueCat, not Apple's conversion model. |
| Do I need RevenueCat for this to work? | Spend import works without RevenueCat. Keyword-level revenue attribution requires RevenueCat or another connected payment provider so Grometrics knows which installs became paying customers. |
| What about Apple Search Ads Basic vs Advanced? | Grometrics supports Apple Search Ads Advanced, the API-based version with keyword-level control. Apple Search Ads Basic does not expose an API, so spend data must be entered manually via Campaigns. |
Was this page helpful?