Build With RevenueCat

Build a customized mobile subscription business with RevenueCat. We do the heavy lifting of normalizing subscribers from any source and maintain a single source of truth for subscription status, so you can get back to building your app.

RevenueCat is a powerful, secure, reliable, and free to use in-app purchase server with global support. All you need to get started is an API key.

Get Started    REST API Endpoints


Integrate Purchases SDK with SearchAdsHQ for precise revenue tracking

With our SearchAdsHQ integration you can:

  • Accurately track subscriptions generated from Apple Search Ads campaigns, allowing you to know precisely how much revenue your campaigns generate.
  • Send trial conversions and renewals directly from RevenueCat to SearchAdsHQ, allowing for tracking without an app open.
  • Continue to follow your cohorts for months to know the long tail revenue generated by your campaigns.

1. Send device data to RevenueCat

The SearchAdsHQ integration requires that Apple Search Ads attribution data is sent from the device to RevenueCat.

The simplest way to collect this information is by setting the automaticAppleSearchAdsAttributionCollection property to true before configuring the Purchases SDK.

import iAd
// ...
Purchases.automaticAppleSearchAdsAttributionCollection = true
Purchases.configure(withAPIKey: "public_sdk_key")

Our guide on Apple Search Ads attribution outlines this step in more detail.

The integration also accepts some optional device-specific data below:





iOS advertising identifier UUID

❌ (optional)

This data should be sent to RevenueCat through reserved Subscriber Attributes keys.

import AdSupport
import iAd
// ...
Purchases.automaticAppleSearchAdsAttributionCollection = true
Purchases.configure(withAPIKey: "public_sdk_key")
// ...
    "$idfa" : ASIdentifierManager.shared().advertisingIdentifier.uuidString


Device identifiers with iOS App Tracking Transparency (iOS 14.5+)

If you are requesting the App Tracking permission through ATT to access the IDFA, you can call .collectDeviceIdentifiers() again if the customer accepts the permission to update the $idfa attribute in RevenueCat.

2. Send RevenueCat events into SearchAdsHQ

After you've set up the Purchase SDK to send device data to RevenueCat, you can "turn on" the integration and configure the event names from the RevenueCat dashboard.

  1. Navigate to your app in the RevenueCat dashboard and choose 'SearchAdsHQ' from the integrations menu.
  2. Add your SearchAdsHQ Client ID, and full iTunes App Store Id (including the id prefix).
  3. Enter the event names that RevenueCat will send or choose the default event names.
  4. Select whether you want RevenueCat to report proceeds (after app store cut) or revenue (gross sales).
SearchAdsHQ configuration screenSearchAdsHQ configuration screen

SearchAdsHQ configuration screen


Remove any client-side purchase tracking

Make sure to remove all client-side tracking of revenue. Since RevenueCat will be sending events for all revenue actions, tracking purchases yourself directly into SearchAdsHQ can lead to double counting of revenue.

3. Testing the SearchAdsHQ integration

You can test the SearchAdsHQ integration end-to-end before going live. It's recommended that you test the integration is working properly for new users, and any existing users that may update their app to a new version.

Make a sandbox purchase with a new user

Simulate a new user installing your app, and go through your app flow to complete a sandbox purchase.

Check that the required device data is collected

Navigate the the Customer View for the test user that just made a purchase. If you chose to send the additional data from step 1 above, check it is listed as an attribute for the user.

Check that the SearchAdsHQ event delivered successfully

While still on the Customer View, click into the test purchase event in the Customer History and make sure that the SearchAdsHQ integration event exists and was delivered successfully.


You've done it!

You should start seeing events from RevenueCat appear in SearchAdsHQ

Updated 3 months ago


Integrate Purchases SDK with SearchAdsHQ for precise revenue tracking

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.