Skip to main content

Complete UA Setup

Step 3. UA Setup has three blocks that match its progress bar: Meta integration, AppsFlyer setup, Prepare the app for testing. You enter your Meta app values and authorize our ad account; Appodeal creates the Meta ad account ID and your AppsFlyer app; you send us the build and our Technical Engineer reviews it within 48 hours.


Before you start

  • Complete Monetization Setup is done — otherwise Send for Review says "Complete Monetization Setup step".
  • You have access to your app on Meta for Developers.
  • No Meta app yet? We can create one for you — write to us with your bundle ID (Get help).

1. Meta Integration

Values you need

ValueWhere it lives
App IDMeta for Developers, App settings → Basic
Client TokenApp settings → Advanced → Client Token
Install Referrer Decryption Key — Android apps only, 64 charactersApp settings → Basic → Android → Google Play Store

App ID and Decryption Key go into the dashboard fields in this block. App ID and Client Token go into your build (Put the App ID and Client Token in your build). The Decryption Key never goes into the build.

Enter the values and request UA

  1. In 1.2. Provide input enter Facebook App ID and, for an Android app, Decryption Key. MMP Setup and Request UA become active once the App ID and, on Android, a 64-character key are entered.

  2. Click Request UA. The dashboard shows "Ad Account is now creating for you, please wait a bit so you can copy the ID". When Ad Account ID fills, copy it with the copy icon.

  3. In your Meta app open App settings → Advanced → Advertising accounts → Authorized ad account IDs — the wizard's 1.3 text calls it "Advertising ad accounts IDs" — paste the ID and click Save Changes.

  4. Make sure the Meta app is published — the left sidebar shows Published.

  5. Select Meta integrated.

Put the App ID and Client Token in your build

The Meta SDK (facebook-core) is already inside the Appodeal SDK; there is nothing to install.

Add the com.facebook.sdk.ApplicationId and com.facebook.sdk.ClientToken meta-data entries to AndroidManifest.xml as shown in Configure Meta App.

Your app already ships its own Meta (Facebook) SDK
  1. Authorize the Ad Account ID from Request UA in your Meta app, as in step 3.
  2. Leave the Meta fields in Appodeal Settings → Meta Settings empty.
  3. Remove the Meta Analytics adapter from the Appodeal SDK dependencies — on Unity, clear it in Appodeal DM and click Generate.
  4. Send us the App ID, Client Token and, on Android, the Install Referrer Decryption Key (Get help).
  5. Make sure the Meta app is published.

We confirm coexistence per app.


2. AppsFlyer setup

We use AppsFlyer. The AppsFlyer adapter ships inside the Appodeal SDK, and attribution for the test runs on Appodeal's own AppsFlyer account. You do not create an AppsFlyer account, enter a Dev Key or link an account anywhere in the dashboard. The "connect AppsFlyer" link inside the embedded Meta guide in block 1.1 is for publishers who link their own AppsFlyer account — ignore it.

Do exactly one of these:

Your situationDo this
You have no AppsFlyer appClick MMP Setup — active once block 1 has the App ID and, on Android, the 64-character key. We create the AppsFlyer app and the status turns Setup is done. Select AppsFlyer setup.
Your app already exists in AppsFlyerTransfer it to us: AppsFlyer → My Apps → row actions Start transfer → receiving account owner e-mail [email protected] (the AppsFlyer Help button opens AppsFlyer's own instructions for the dialog). Then select AppsFlyer setup. If Complete UA Setup still says "Complete MMP Setup", click MMP Setup as well — the step completes only once the MMP setup is done on our side. Whether ownership returns after the test and what happens to your historical data is confirmed per app (Get help).
You use Singular or another MMPKeep it: "Keep Singular — it's fine and already integrated. But the AppsFlyer adapter is still required for our BI. There's no conflict between the two." No Singular adapter or pod is needed. Then click MMP Setup as in the first row.

Do you still need the Appodeal SDK if you already have an MMP? Yes. "The SDK plus the AppsFlyer adapter is required — forwarding events to your own AppsFlyer instead isn't sufficient, because we need our adapters to track installs and metrics from the Facebook campaign."

Your app already ships its own AppsFlyer SDK (Unity)
  1. Keep it. Install it with UPM from https://github.com/AppsFlyerSDK/appsflyer-unity-plugin.git#upm; on build errors, match the AppsFlyer version the Appodeal adapter uses, 6.17.1 or higher, with #Strict-v*.*.* — or #v*.*.* if that errors.
  2. Install our GDPR and CCPA plugin (GDPR & CCPA).
  3. Initialize AppsFlyer before the Appodeal SDK: AppsFlyer.initSDK in Awake → the Appodeal consent flow → AppsFlyer.setConsentDataAppsFlyer.startSDK()Appodeal.Initialize.
  4. Send us a screenshot of that code (Get help).

We confirm coexistence per app.


3. Prepare the app for testing

  1. Turn on logging before you build: Android, iOS, Unity; Flutter and React Native set it in the native project. On Android also change network_security_config.xml as shown in the wizard's 3.1 guide, Prepare the App for Testing.

  2. Run the app and find all three lines in the log:

    SDK-Public [Appodeal]: initialize
    Service [Info]: FacebookAnalytics - ver. *** initialized
    Service [Info]: Appsflyer - ver. version: *** initialized

    Keep a TXT file or a screenshot of the three lines: add it to the zip (Android) or attach it to the TestFlight mail (iOS).

  3. Hand the build over — two cases, by app entry, not by engine:

    • Android app entry (native, Unity-Android, Flutter or React Native Android): zip the APK (.zip or .rar, max 100 MB), upload it to Google Drive, paste the link into Link, click Upload, then click Send for Review. You can also drop the file on "Click or drag and drop to upload files".
    • iOS app entry (native, Unity-iOS, Flutter or React Native iOS) in Appodeal SDK mode: block 3.2 is not shown. Send the TestFlight build to [email protected] and [email protected], then select Testflight has been sent to …. If your step shows the Link field and the upload area instead, write to us before you send the build (Get help).
  4. Wait — "Please upload your logs and allow us to analyze them up to 48 hours." The block shows Integration is under review:, and "The statuses will change once our Technical Engineer checks your integration". The five rows the engineer checks are Mediation is initialized, Consent Manager is shown (screenshot can be provided as well), Ad types integrated + shown, Networks integrated and AppsFlyer/Meta integrated.

  5. Click Complete UA Setup. Once the logs pass, we write: "Logs are correct — please publish your app to the store and upload creatives, then ping us and we can launch the campaign together."


If a button is grey

You seeWhyDo this
MMP Setup and Request UA are disabledFacebook App ID is empty, or, for an Android app, Decryption Key is not exactly 64 characters. We do not enable them per appFill in 1.2. Provide input; the key is 64 characters
Upload or Send for Review is disabledThe tooltip names the reason: "Please complete Meta Integration section" · "Click Request UA button in Meta Integration section to get Ad Account ID" · "Please complete AppsFlyer setup section" · "Please complete Prepare the app for testing section" · "Please upload the required file in Prepare the app for testing section" · "Request for review has already been sent" · "Complete Monetization Setup step"Do what the tooltip names
Complete UA Setup is disabled"Please start the analysis by clicking Send for Review button" · "Please wait until the analysis is complete" · "Complete MMP Setup"Click Send for Review, wait for the review, or click MMP Setup
The FacebookAnalytics … initialized line is missingThe Meta Analytics adapter is not in the build — Android: the facebook_analytics line; Unity: Meta Analytics under Services, then Generate. On the own-Meta-SDK path it is absent by designAdd the adapter, rebuild, resend — or tell us you followed the own-Meta-SDK steps
The embedded Meta guide in 1.1 says "follow this guide for AppsFlyer"That note is for publishers who link their own AppsFlyer accountIgnore it; use MMP Setup or the transfer
Testflight has been sent to … names a second, personal addressDashboard stringSend the TestFlight to [email protected] and [email protected], then select the box

Next you upload at least one vertical video and launch the campaign.

Next: 4. Creatives


Get help

Write to [email protected] and [email protected] or [email protected]. Include your bundle ID, the platform (Android, iOS, Unity, Flutter or React Native), whether you chose Light SDK or Appodeal SDK, and what is blocking you: the wizard block and a screenshot, or the exact error or log text.