Prerequisites
- An Appeeky account with the app in My Apps.
- A React Native or Expo app that you can build as a development build. The SDK’s native module does not run in Expo Go.
- For revenue: RevenueCat in the app, and the RevenueCat webhook connected in Appeeky. See Revenue.
Setup
1
Turn on Analytics for the app
In Appeeky, open the app under My Apps → Attribution and click Turn on attribution. Appeeky creates the app in the analytics service and shows its publishable key (The call is safe to repeat: if Analytics is already on, it returns the existing key.
apk_pub_…) and ingest endpoint.You can do the same with the API:The publishable key is not your Appeeky API key. It ships inside your app and can only write events for that one app. Never put your Appeeky API key in an app.
2
Install the SDK
expo-application and expo-device are optional. They add the app version, build number and exact device model.3
Add the config plugin and rebuild
Add the plugin to The plugin adds the Info.plist keys that make iOS send copies of SKAdNetwork and AdAttributionKit postbacks to Appeeky. See SKAdNetwork before you add it if another provider already receives those copies.Rebuild the app as a development build (for example
app.json (or app.config.js):npx expo run:ios or an EAS development build). The native module adds Apple Search Ads attribution, SKAdNetwork conversion values and the Play Install Referrer.4
Initialize the SDK
Call The SDK sends to
init once, as early as possible in the app’s startup:https://ingest.appeeky.com/v1/ingest by default. On first launch it records first_open, starts a session and collects the install’s attribution.5
Link the install to RevenueCat
Pass the RevenueCat app user id so each purchase can be matched to the install that made it:Call
identify again with the new id after Purchases.logIn(), and pass null on logout.6
Track screens
Screens power the screen breakdown, the funnel and the purchase journey in sale alerts. With React Navigation:Name your paywall screen
Paywall to match the default funnel (first open → Paywall → trial started → trial converted), or change the funnel.Check That Events Arrive
- Turn on logging while you test:
Appeeky.init({ key: "apk_pub_...", debug: true }). The SDK then logs rejected batches and network errors. - Open the app on a device or simulator and move between a few screens. Events are sent every 10 seconds, when 20 are queued, and when the app goes to the background.
- In Appeeky, open the app’s Analytics dashboard and choose Today. The install shows under installs and online users once the first batch has been sent.
Common problems
Next Steps
- SDK Reference: custom events, options and automatic events
- Attribution: how sources are detected
- Smart Links: links for your campaigns
- Sale Alerts: Telegram messages for new sales

