> For the complete AppRefer docs index, see https://apprefer.com/llms.txt (every page as markdown) or https://apprefer.com/llms-full.txt (all docs in one file).

# Integrations

AppRefer attributes each install to the ad that brought it, sends your conversions back to that network from the server, and imports ad spend so you can see cost and ROAS next to revenue.

Choosing between AppRefer and a separate attribution tool? Read our [AppsFlyer alternative comparison](https://apprefer.com/appsflyer-alternative).

## Ad networks

Each network is set up per app, in the dashboard under **Settings → Integrations**, with the REST API (`PATCH /api/v1/apps/{appId}/integrations/{network}`, scope `integrations:write`) or with the MCP tool `configure_integration`. Credentials are encrypted at rest and masked on every read.

| Network | Attribution signal | Conversions sent | Spend sync | Guide |
| --- | --- | --- | --- | --- |
| Meta | `fbclid` on `/api/c/` links, plus the browser `fbc`/`fbp` | Conversions API (dataset), for app and website events | Yes, per ad account, in the account's currency | [Meta](https://apprefer.com/docs/integrations/meta.md) |
| Google Ads | `gclid` on the `/g/` landing page or Google Play Install Referrer | Data Manager API, one conversion action per event | Yes, per Customer ID | [Google Ads](https://apprefer.com/docs/integrations/google.md) |
| TikTok | `ttclid` on `/api/c/` links | Events API (pixel) | Yes, per advertiser, in the advertiser's currency | [TikTok](https://apprefer.com/docs/integrations/tiktok.md) |
| ChatGPT Ads (beta) | `oppref` on the `/o/` landing page | OpenAI Conversions API | Yes, USD ad accounts only, for listed campaign IDs | [ChatGPT Ads](https://apprefer.com/docs/integrations/openai.md) |
| X Ads | `twclid` on the `/x/` link (website funnels only) | Web Conversion API, verified website receipts only. Off until you enable it | No | [X Ads](https://apprefer.com/docs/integrations/x.md) |
| Apple Ads | Apple AdServices token, sent by the iOS SDK on first launch | None (Apple has no conversions API) | Yes, from the Apple Search Ads API | [Apple Ads](https://apprefer.com/docs/integrations/apple-ads.md) |
| SKAdNetwork / AdAttributionKit | Anonymous postbacks from Apple | Conversion values, set on the device by the SDK | No | [SKAdNetwork](https://apprefer.com/docs/integrations/skan.md) |

## Purchases and support

| Integration | What it does | Guide |
| --- | --- | --- |
| AppRefer Billing | App Store, Google Play and Stripe subscriptions verified by AppRefer itself. Every purchase, trial and renewal is attributed and forwarded like any other conversion. | [Billing setup](https://apprefer.com/docs/billing.md) |
| RevenueCat (legacy) | Purchase webhooks for apps that still use RevenueCat. New apps should use AppRefer Billing. | [RevenueCat](https://apprefer.com/docs/integrations/revenuecat.md) |
| Superwall (legacy) | Purchase webhooks for apps that still use Superwall (network `superwall`, field `webhookSecret`). |  |
| Support delivery | Push (APNs, FCM) and email settings for AppRefer Support replies live on the `support` integration, not on an ad network. | [Support](https://apprefer.com/docs/support.md) |

## How forwarding works

1.  **The install is attributed** to one network, or to organic. See [Attribution](https://apprefer.com/docs/attribution.md).
2.  **A conversion arrives**: an install or an event from the SDK, a purchase or trial from AppRefer Billing (or a legacy RevenueCat or Superwall webhook), or a verified receipt from your payment backend ([website payments](https://apprefer.com/docs/events.md#verified-website-payments)).
3.  **Tracking consent is checked** on every send. An install whose user denied tracking is never forwarded. While the user hasn't answered the iOS prompt yet, conversions are held for about 6.5 hours and sent if they allow it. See [Privacy](https://apprefer.com/docs/privacy.md).
4.  **The event is routed.** An attributed install only ever reaches its own network. Organic and unattributed conversions go to every connected Meta, TikTok and ChatGPT Ads integration, and to Google only when a `gclid` is known, so each network's optimisation sees the full picture. X and Apple Ads never receive organic events.
5.  **The event name is mapped** to the network's own event. Meta and TikTok only receive events with a default or custom mapping, or that already use one of their standard event names; other in-app events (`app_opened`, `paywall_viewed`…) are dropped. Google only receives events mapped to a conversion action, and X only events mapped to an X event ID.
6.  **It is sent from the server** with a stable event ID and the original click ID. Failures are retried automatically with the same event ID, so the network can deduplicate, and every attempt is logged.

> **Test data is never forwarded**
>
> Events sent with a `pk_test_` key and App Store or Google Play sandbox purchases are recorded for debugging but never sent to an ad network.

## Test a connection

In **Settings → Integrations**, pick Meta, Google Ads, TikTok or ChatGPT Ads and click **Test Connection**. Google and ChatGPT Ads run a validate-only request that records nothing. Meta and TikTok send one test event: set a **Test Event Code** first so it lands in the network's Test Events view, otherwise it counts as a real event.

---

Source: https://apprefer.com/docs/integrations · Last updated: 2026-10-19
