Mobile App Affiliate
Let affiliates promote your iOS and Android apps and earn commissions on in-app purchases, powered by RevenueCat.
How it works
End-to-end flow from app creation to payout.
Business owner creates a mobile affiliate app on Affiliateo.
Sets commission rate and connects RevenueCat.
Adds the Affiliateo SDK to their mobile app.
Affiliates join the app and get unique referral links.
When someone installs through the link and makes an in-app purchase, the affiliate earns commission.
On the 7th of the next month, commissions become payable.
Business owner clicks "Pay" to transfer commissions to affiliate wallets.
Commission structure
Commission is based on gross sale price.
Detail | Value |
|---|---|
| Maximum commission | 70% |
| Based on | Gross sale price (before store fees) |
| Rate lock | Locked in when affiliate joins |
Apple and Google take up to 30% of each sale. The maximum affiliate commission is 70% to account for this.
Commission is calculated on the gross sale price, not the net amount after store fees.
SDK integration
Add the Affiliateo SDK to your mobile app. Choose your platform below.
1. Install
npm install @affiliateo/react-native @react-native-async-storage/async-storage @react-native-community/netinfo
2. Wrap your app with the provider
import { AffiliateoProvider } from '@affiliateo/react-native';
export default function App() {
return (
<AffiliateoProvider campaignId="YOUR_CAMPAIGN_ID">
<YourApp />
</AffiliateoProvider>
);
}Track a screen (one line)
import { useAffiliateoScreen } from '@affiliateo/react-native';
export default function HomeScreen() {
useAffiliateoScreen('HomeScreen');
return <YourScreenUI />;
}Fingerprint matching, RevenueCat attribution, and session tracking are automatic.
Track conversion goals
On native SDKs (React Native, Swift, Kotlin, Flutter) screens are tracked when you call page(name) per screen. This is the Mixpanel / Amplitude / Datafast model. predictable, no ghost events. For specific moments that matter to your funnel (signup_completed, trial_started, feature_used, etc.), call track(). Vanilla / WebView (Capacitor, Ionic, Cordova) loads the m.js script and pageviews on URL change are auto-fired, same as the web SDK. Event names must be lowercase letters, digits, underscores, hyphens, or colons. Optional metadata (a second arg) is bounded to 4KB if you need to slice funnels by property later.
Track a custom event
import { useAffiliateRef } from '@affiliateo/react-native';
function SignupButton({ onNext }) {
const { track } = useAffiliateRef();
return (
<Pressable onPress={() => {
track('signup_completed');
onNext();
}}>
<Text>Continue</Text>
</Pressable>
);
}Identify signed-in users
Without identify(), the same person on their phone + laptop counts as two visitors and your funnel breaks across devices. Call it once after sign-in so Affiliateo can stitch their journey into one person. Idempotent , safe to fire on every app launch.
Stitch this device to a logged-in user
import { useEffect } from 'react';
import { useAffiliateRef } from '@affiliateo/react-native';
import { useUser } from './your-auth';
function App() {
const { identify } = useAffiliateRef();
const user = useUser();
useEffect(() => {
if (user) identify(user.id);
}, [user]);
}Pick how you take payments
Four ways to wire purchases into your affiliate pipeline. Pick one (or combine Apple + Google for direct native).
RevenueCat
One integration covers both stores. Easiest setup, third-party in the loop.
Adapty
RevenueCat alternative covering the App Store and Play Store. No API key needed: paste our webhook URL and secret into Adapty (Integrations → Webhook) and the app connects automatically.
Apple App Store (native) →
App Store Server Notifications V2 + Server API directly. iOS only. No third-party.
Google Play (native) →
Real-Time Developer Notifications + Play Developer API directly. Android only. No third-party.
Stripe
For non-IAP purchases (physical goods, services). Apple + Google require IAP for digital goods.
RevenueCat setup
Connect RevenueCat to track in-app purchases.
Go to your RevenueCat dashboard → Project Settings → API Keys.
Create a new V2 secret key.
Paste the key in the app settings on Affiliateo.
Affiliateo automatically creates a webhook in your RevenueCat project.
Once connected, purchases are tracked automatically and attributed to the referring affiliate via subscriber attributes.
Store URLs
Direct users to the correct app store.
Data & privacy
Exactly what we read from RevenueCat, and what we don't.
When an in-app purchase happens in your app, RevenueCat sends us a webhook event. We don't poll your RevenueCat account or pull data on our own, we only read what's needed to attribute the sale and pay the affiliate.
What your RevenueCat API key is used for
We never call subscriber, customer, entitlement, offering, or receipt endpoints. The key is only used to install and verify our own webhook.
What we read from each purchase event
What we never read or store
RevenueCat doesn't currently offer scoped API keys for partners. We work around this by only making the four specific calls listed above and ignoring every other field RevenueCat sends in webhook payloads.
Payout schedule
When and how affiliates get paid.
Commissions are tracked in real time as in-app purchases happen. On the 7th of the next month, commissions become payable.
Affiliate drives an install and in-app purchase, commission is recorded.
On the 7th, pending commissions become payable.
Business owner reviews and clicks "Pay" to transfer to affiliate wallets.
Mobile affiliate payouts are made from the business owner's wallet balance. Ensure sufficient funds are available.
Apple and Google store fees apply separately. RevenueCat pricing applies independently. See the Fees page for Affiliateo-specific pricing.