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.

1

Business owner creates a mobile affiliate app on Affiliateo.

2

Sets commission rate and connects RevenueCat.

3

Adds the Affiliateo SDK to their mobile app.

4

Affiliates join the app and get unique referral links.

5

When someone installs through the link and makes an in-app purchase, the affiliate earns commission.

6

On the 7th of the next month, commissions become payable.

7

Business owner clicks "Pay" to transfer commissions to affiliate wallets.

Commission structure

Commission is based on gross sale price.

Detail
Value
Maximum commission70%
Based onGross sale price (before store fees)
Rate lockLocked 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

Terminal
npm install @affiliateo/react-native @react-native-async-storage/async-storage @react-native-community/netinfo

2. Wrap your app with the provider

App.tsx
import { AffiliateoProvider } from '@affiliateo/react-native';

export default function App() {
  return (
    <AffiliateoProvider campaignId="YOUR_CAMPAIGN_ID">
      <YourApp />
    </AffiliateoProvider>
  );
}

Track a screen (one line)

Any screen file
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

SignupButton.tsx
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

App.tsx
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.

1

Go to your RevenueCat dashboard → Project Settings → API Keys.

2

Create a new V2 secret key.

3

Paste the key in the app settings on Affiliateo.

4

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.

Add your iOS App Store URL and/or Google Play Store URL.
At least one store URL is required.
Users clicking a referral link are redirected to the correct store based on their device.

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

List your RevenueCat projects so you can pick which one to attach
Create a single webhook integration in your project
Delete that webhook when you disconnect
Verify the webhook still exists during periodic health checks

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

Event type: initial purchase, renewal, one-time, trial, or refund
Gross sale price in USD
RevenueCat's transaction ID (an opaque pointer, not personal data)
Product ID and store (App Store or Google Play)
The affiliateo_ref subscriber attribute our SDK sets

What we never read or store

Customer email, name, phone, or any identity info
Device IDs (IDFA, IDFV, GAID) or IP addresses
RevenueCat app_user_id or aliases
Receipt data, purchase tokens, or store credentials
Entitlements, offerings, or other subscriber attributes
Any other customer or transaction in your RevenueCat account

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.

1

Affiliate drives an install and in-app purchase, commission is recorded.

2

On the 7th, pending commissions become payable.

3

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.