Adding an app to AppsFlyer

At a glance: Learn how to add your app to AppsFlyer so you can get attribution data on installs and in-app events, and analyze the data using the different tools on AppsFlyer.

Overview

If you haven't yet added an app to your dashboard, the app onboarding page will display when you log into AppsFlyer. App onboarding guides you through all the steps to add your app and also get it ready for attribution. 

Entering the wizard for adding an app

You can enter the wizard for adding apps from the platform or you can add your app via the app onboarding page (for Android and iOS apps only).

To enter the wizard from the app onboarding page:

  • In the Add your app step, click Add app and follow the instructions for adding an app.

 Note

If the onboarding page isn't already open, from the top menu bar > email address dropdown, click App onboarding.

onboarding page.png

To enter the Add an app wizard from the platform:

  • From the top menu bar > My Apps, click + Add app
  • From the AppsFlyer Homepage, click + Add app
  • From the top bar, open the account menu (email address dropdown) > App onboarding, click + Onboard another app

add an app (1).png

Adding an app

After you've entered the Add an app wizard, follow these steps:

  1. Enter the app details.
  2. Enter additional information.
  3. Click Add my app.
  4. Copy the Dev key, to be used in the SDK integration (you can retrieve it later from the App Settings page).
  5. Click Done or + Add another app to add more apps. Repeat the process for adding more apps.

 Note

After registering the app, it will appear on the dashboard. To have installs and in-app events recorded and attributed to the correct media sources, you'll need to:

  • Integrate the SDK
  • Connect the app to partners in the Partner Marketplace

See all the steps for completing the onboarding process.

Enter app details

Select the app platform and enter the required details, as listed below:

Android, AndroidTV, Fire

Use this option for the following platforms:

  • Android (mobile)
  • AndroidTV
  • Amazon Fire
  • Amazon Fire TV
  • Kindle
Google Play status When to use it Required details
In store Your app is currently available in the Google Play store

Google Play URL (copied from Google Play)

  • Example: https://play.google.com/store/apps/details?id=com.appsflyer.adNetworkTest&hl=en&gl=GB
  • Important!
    • If your app is not listed in the US Google Play store:
      • The URL must include the country code of any store in which it is listed, as shown in the example above: &gl={country_code}. If you do not include the country code, you will receive an error when trying to add the app.
      • The language code is optional: &hl={language_code}
    • If your store is listed in the US Google Play store, both the country and language codes are optional.
Pending approval/not published Your app is not yet published or is pending approval from Google Play

Android package name

  • Example: com.appsflyer.adNetworkTest
  • Note: Package name is case sensitive
  • Format:
    • At least two segments (one or more dots)
    • Each segment must start with a letter
    • All characters must be alphanumeric or underscore (a-z, A-Z, 0-9, or _)
    • Maximum length of 100 characters

For more information, see Android developer documentation

3rd-party store/out-of-store Your app is in an Android app store other than Google Play, and/or it can be downloaded from a location other than an app store
  • Android package name: For detailed requirements, see previous row.
  • App URL: (copied from the 3rd-party app store or out-of-store location)
  • Channel name: (optional) a unique name you set in the AndroidManifest.xml of the individual APK prepared for that store/location, e.g. my_apk. The name must be: 
<application>
     ...
     <meta-data android:name="CHANNEL" android:value="my_apk"/>
     ...
</application>

 Note

Using the channel parameter for multi-store attribution is not recommended. For a simpler and more standardized implementation, use the af_store parameter instead.

 Important!

If your app is available from more than one source (in other words, any combination of Google Play, 3rd-party stores, or out-of-store locations), it is vital to consider the options for setting up multi-store Android attribution.  

ioS, tvOS, MacOS

Use this option for the following platforms:

  • iOS
  • tvOS
  • MacOS
App Store status When to use it Required details
In store Your app is currently available in the App Store

App Store URL (copied from the App Store)

  • Example: https://apps.apple.com/us/app/partner-integrations/id1543229303
  • Notes:
    • Be sure that the URL includes the 2-letter country code of the store (for example, us in the URL above)
    • An app added to the App Store prior to June 14, 2019, may contain itunes.apple.com in its URL (instead of apps.apple.com).
Pending approval/not published

Your app is not yet published or is pending approval from the App Store

 

Country of the App Store to which the app has been submitted

 

App ID assigned by the App Store, without the prefix id

  • Example: 1543229303
  • Format: 9 or 10 numeric characters, 0-9

Windows

Use this option for the following platforms:

  • Windows Phone
  • Windows (desktop)
Microsoft Store status When to use it Required details
In store Your app is currently available in the Microsoft Store

Microsoft Store URL (copied from the Microsoft Store)

  • Example: https://www.microsoft.com/en-us/p/wordament/9wzdncrfhwfg
  • Note: The URL above is an example for a Windows Phone app. URL format varies for Windows desktop apps.

App ID: Maximum length of 150 characters.

Pending approval/not published

Your app is not yet published or is pending approval from the store

 

App ID assigned by the Microsoft Store

  • Maximum length: 150 characters
  • Example: 9wzdncrfhwfg
  • Note: App ID is case sensitive

Web (PBA)

 Note

A web app is where you define a website to include in a brand bundle for our People-Based Attribution (PBA) feature.

  • This option is available only to customers who have subscribed to PBA.
  • Learn more about PBA and attributing web visits, web events, and website-assisted installs to obtain a unified view of customer journeys across channels, platforms, and devices.

 

Full URL: The full URL of the website for which you want to measure traffic. This is the website on which you have implemented (or will implement) the PBA Web SDK.

URL_diagram

Include

  • scheme
  • subdomain [optional]
  • domain name
  • top-level domain
  • path [optional] the address of a specific directory or page on your website

App name: The name you have chosen for your app 

  • Maximum length: 100 characters
  • XSS tags not permitted

 Important!

Once you create a web app, you are not able to edit its properties (URL and app name) without deleting it and re-creating it, which means you also must delete the brand bundle of which it is a part.

Next steps:

  • Add your newly-created web app to a PBA brand bundle to see it on the PBA dashboard.
    • Make sure all the mobile apps you want to include in the brand bundle have been added to your account before creating the bundle.
  • Integrate the PBA Web SDK to the website specified in the web app to get the measurement data flowing.

Web

Use the Web platform to create a new Web app and measure website visits and conversions using Web Attribution.

Before you begin

  • Legacy People-Based Attribution (PBA) web apps appear under “Web (PBA)” marked as Legacy.
  • If you are migrating from a legacy PBA Web app, you can use your existing PBA Web Dev Key.

To add a Web app

  1. Go to My Apps > Add app.
  2. Select Website.
  3. Enter the following:

 

App name: The name you have chosen for your Web app.

  • Length: 1-100 characters
  • Allowed characters: Letters (any language), numbers, spaces (not at start or end), and special characters: . - _ :
  • Blocked characters: ; { } $ < > ` \

Example: My Online Store, Corporate Website 2024, E-Commerce_Production

 

Primary domain (Full URL): The primary domain of your website. This is set during web app creation and cannot be changed afterward.

  • Format: Valid domain name only (no protocol, path, or port)
  • Length: Maximum 500 characters
  • Processing: AppsFlyer automatically
    • Removes http:// or https://
    • Removes trailing slashes
    • converts the domain to lowercase
  • Immutability: Cannot be edited after app creation

Important: To change the primary domain, you must delete and recreate the web app, which results in loss of historical data continuity.

Examples:

  • https://shop.example.com/checkout → Stored as shop.example.com → App ID: website-shop.example.com
  • example.com/ → Stored as example.com → App ID: website-example.com

 

App ID: The unique ID AppsFlyer creates for the Web app, based on the primary domain.

  • Generated automatically using the format: website-<primary_domain>
  • Example: website-shop.example.com

 

Web SDK ID: The identifier used by the Web SDK for attribution (previously named web_dev_key).

Two options during app creation:

Option 1: Generate new (default)

  • Automatically creates a new Web SDK ID
  • Format: website-{yourdomain.com}
  • Example: website-shop.example.com
  • Use case: New web attribution implementations

Option 2: Reuse existing PBA dev key

  • Select from dropdown of existing PBA (People-Based Attribution) web app dev keys
  • Enables seamless migration without changing website code
  • Use case: Migrating from legacy PBA to the new web attribution solution

Note: Reusing the PBA Dev Key allows you to migrate from PBA to the new Web app without making any changes to your website implementation. 

Each PBA dev key can only be assigned to ONE web app. Once a PBA dev key is used for a web app, it is no longer available for other web apps.

  • Length: 1-550 characters
  • Immutability: Cannot be changed after app creation
  • PBA migration: Only dev keys from your account's PBA web apps appear in the dropdown

 

Currency: The currency used for the app’s reporting.

  • Standard ISO 4217 currency code (e.g., USD, EUR, GBP, ILS)
  • Selected from dropdown
  • Required field

 

Time zone: The time zone used for the app’s reporting.

  • IANA time zone format (e.g., America/New_York, Europe/London, Asia/Tokyo)
  • Selected from dropdown
  • Required field

 

  1. Click Create app.

 

Limitations

  • The primary domain cannot be changed after the app is created.
  • The primary domain is automatically added to Excluded Domains as type PRIMARY.

Each legacy Web Dev Key can be reused for only one new Web app.

 

Note

For full information on Web attribution settings see here.

 

Roku

App name: Channel name copied from the Roku Developer Dashboard.

  • Example: My Roku channel
  • Format:
    • Maximum length of 100 characters
    • XSS tags not permitted

Channel ID: Numeric ID assigned to the channel by Roku.

  • Format:
    • Numeric characters (0-9)
    • Maximum length: 50 characters
  • How do I find it?
    • From the Roku Developer Dashboard, click on the name of the channel you are adding to AppsFlyer. This opens the Roku Preview & Publish page for the channel.
    • The number at the end of the URL page is the Channel ID:

Amazon Vega OS

App name: The name you have chosen for your app.

App ID: The ID of the app. Found using reverse DNS notation:  <tld>.<company_name>.<app_name>
Must contain a minimum of 2 segments. Each segment must start with a letter followed by characters from: A-Z a-z 0-9. -

Example: com.company.my_app


For more information, see the “id” field in the Amazon Vega OS documentation.

Vizio SmartCast

App name: The name you have chosen for your app.

App ID: The ID of the app, as recognized by Vizio. Starts with vizio., followed by 2-10 characters from: A-Z a-z 0-9. -. If you need to confirm the app ID, check with your Vizio representative. 

Samsung Tizen

App name: The name you have chosen for your app.

App ID: The Bundle ID assigned to your app by Samsung. Starts with the letter G, followed by 8-15 digits. To get the App ID: 

  1. Sign in to the Samsung TV Seller Office.
    1. See the guide here under the In-app Ad information.
  2. Enter your developer URL
  3. Your Bundle ID is automatically generated and displayed. This can be used to access the app store URL.
  4. Use your Bundle ID and App Store URL in your ad tags or bid requests to support App-ads.txt verification.
  5. For any issues, open an issue board ticket in the seller office.
Note: To access your unique app store web page, add the bundle ID to the URL "https://www.samsung.com/us/appstore/app/". 
For example, if your bundle ID is "G15147002586", the URL of your page will be "https://www.samsung.com/us/appstore/app/G15147002586/ ". The developer URL, bundle ID, and app store ID are then displayed in the metadata on that page.

LG WebOS

App name: The name you have chosen for your app.

App ID: The LG WebOS app ID.

  • Format:
    • Maximum length of 50 characters
    • Characters from A-Z a-z._ in bundle-like format. Must start with letters.
  • Example: com.my-company.app 

If you need to confirm the app ID, check with your LB WebOS representative.  

PlayStation

App name: The name you have chosen for your app.

App ID: The PlayStation concept ID, a unique identifier assigned to a game or other content concepts. It appears as a 5-9 digit number in the PlayStation store URL. You can find it at the end of the app store URL of your app:

playstation_app_id_url.png

Vidaa

App name: The name you have chosen for your app.

App ID: The Vidaa app ID. Maximum length of 50 characters.

Steam

App name: The name you have chosen for your app.

App ID: The Steam app ID. This is the 5-8 digit number that appears in the Steam store URL:

steam_store_app_url.png

Meta Quest (Oculus)

App name: The name you have chosen for your app.

App ID: The Meta Quest app ID, as it appears at the end of the Meta app store URL from which the app is downloaded. Includes 3-50 characters from: A-Z a-z0-9._-

Nintendo Switch

App name: The name you have chosen for your app.

App ID: The Nintendo Switch app ID, as it appears at the end of the URL of the store from which the app is downloaded. Includes 14 digits.

  • Example: 70010000012345

Xbox

App name: The name you have chosen for your app.

App ID: The Xbox app ID, as it appears at the end of the Xbox store URL from which the app is downloaded. Includes 12 letters and digits only (A-Z a-z0-9). 

Note: App ID is case-sensitive.

Epic Games

App name: The name you have chosen for your app.

App ID: The Epic Games app ID, as it appears in the store from which the app is downloaded. Includes 3-50 characters from: A-Z a-z0-9._-

Native PC

App name: The name you have chosen for your app.

App ID: The Native PC app ID. Includes 3-50 characters from: A-Z a-z0-9._-

Enter additional information (not applicable to web apps):

Select currency

Select the currency in which this app's data will be displayed in the dashboard. Revenue and spend events are converted to this currency using the exchange rate in effect at the event time. Learn more about an app's currency setting and its impact.

 Important!

Use care in selecting the currency you want to use for the app. You won't be able to change it once cost and revenue have been recorded.

Select timezone

Align the timezone you select here with the timezone you set with other attribution partners (such as Meta ads and Google Ads). This ensures the closest match between the data reported in the AppsFlyer dashboard and the data you receive from these partners.

 Note

  • Once the timezone is set, it remains locked and can't be changed until the following day.
  • Learn more about app timezone setting and its impact.

Define app audience

Select Yes or No to indicate whether or not your app is directed toward children or a mixed audience (both children and adults).
If you've selected Yes:

  1. Open and read the guide about implementing compliance with child-directed apps.
  2. Select the box to confirm you've read the guide and will implement the controls it specifies.

 Note

  • Two weeks after adding the app, you'll get a notification asking you to confirm you've implemented privacy controls for your child-directed apps. After confirming, you'll get a confirmation message. You can always access the confirmation message from the Notification center or see the confirmation details in the Audit log.
  • See frequently asked questions about child-directed apps.

Manage your apps in bulk via API

Account admins can manage multiple apps in bulk using a dedicated API that supports the main features of the UI. This includes adding and deleting apps, and updating the app settings. The API also incorporates the same error verification mechanisms.

 Note

At this stage, adding apps and updating the app settings via API is possible for mobile apps only. Deleting apps is possible for all platforms.

Add a debug or testing app

If your developer creates a debug, sandbox, or testing app, you must add the app to the dashboard. Once your developer starts testing with the app, data displays in the app’s dashboard.

Note

For iOS apps that haven’t been published to the App Store and don’t yet have a valid App Store ID, you can still proceed with SDK testing by adding the app using a dummy iOS App Store ID. This enables SDK integration and testing without needing a real App Store listing.

For developer instructions on how to create a debug app and add it to the dashboard, see:

About pending apps

Working with an app in pending status can be useful when you are debugging it to test the AppsFlyer SDK.

The status of the app as pending on the dashboard has no effect on data collection and measurement. Whether an app is pending or live on an app store, if users install and interact with it, install and in-app event data is recorded on the dashboard just the same.

Once your pending app goes live, AppsFlyer will detect and automatically update its status, so you don't need to add it again. Learn more about pending apps and the optional procedure for manually refreshing status.

Troubleshooting

Find solutions for some common issues:

App wasn't added

If this error occurs, contact your CSM or send an email to hello@appsflyer.com.

App not in the store

Confirm that you have copied the store URL correctly, using the appropriate app name/ID.

Can't access marketplace

This error sometimes occurs when adding an Android app from a non-US store. Follow these steps to resolve it:

  1. Add the app with a status of Pending approval/not published, as described above.
  2. Go to the AppsFlyer App settings page.
  3. Change the App store country to the correct country (for example, Japan).

Something went wrong. Please try again.

One possible reason for this error is trying to add an Android app without a country code (for apps not listed in the US Google Play Store). See full details for resolving this issue above.

My iOS app was removed from the App Store. Why am I still seeing installs?

This happens because users can reinstall an app via the operating system if it previously existed on their device. Even if the app is no longer available in the App Store, users can still install it, and these installs will be counted in AppsFlyer.

Other information

Product Line

You can add or remove apps from a Product Line. For more information on Product Lines and what they offer, see here.