
AppLovin's Frequently Asked Questions page is a central hub where its customers can always go to with their most common questions. These are the 114 most popular questions AppLovin receives.
For Android, please add the below to your Android manifest in the same tag where you added your AppLovin SDK key:
<meta-data
android:name="applovin.sdk.verbose_logging"
android:value="true" />
For iOS, please add the following key-value to your .plist file: "AppLovinVerboseLoggingOn" set to "true". You can also see attached screenshot.
NOTE: If you are having trouble seeing the verbose logging, make sure you aren't initializing the SDK with an empty settings object. Also, for Xcode make sure that you have "All Output" selected at the bottom of your output console window.
View ArticleIf you are getting errors when importing the AL header files in your classes in Xcode, for example:
'ALSdk.h' file not found
There are two common reasons that could cause this:
a. If you are upgrading the AppLovin iOS SDK to a version that is equal to or greater than 3.5.0, and you are switching from integrating the SDK as raw binary with header files, to integrating the SDK as a framework, you would be required to:
1. Remove all import statements for our SDK. (i.e. #import "ALSdk.h")
2. Replace removed import statements with either:
#import <AppLovinSDK/AppLovinSDK.h>
or if you’re using modules,
@import AppLovinSDK;
More information is included within the "Migrating from Old Integration" guide that comes with our iOS SDK.
b. If you are integrating the AppLovin SDK as raw binary with header files (and not as a framework), you would have to make sure that the "headers" folder that comes with the SDK is included in the Xcode project, and located within the header search path range of the project. Header search paths are configured under ‘Build Settings’ > ‘Search Paths’ > ‘Header Search Paths’.
View ArticleAppLovin supports ACH, Paypal, and wire transfers. You can put payment information in your AppLovin dashboard under Account Payments Payment Info.
We pay previous month’s earnings on the 15th of the next month (NET15). For example, if you earned $15,000 in January, we would make payment to you on the 15th of February. It may take up to two days for the payment to be processed by your bank. Federal holidays in the United States might delay payments until after the holiday.
Additionally, AppLovin has minimum thresholds for each payment type. We require at least $20 in total revenue if you are using ACH or Paypal. For example, if you earn $10/month with us, you will be paid every second month. If you are using wire, the minimum payment is $150. We do not pay wire fees so your bank may deduct a fee from your payment.
Finally, we require certain tax information to be filled out in the ‘Tax Information’ section of your account. This is also located under Account Payments Payment Info. If you are a publisher outside of the United States, you must complete and send us a W-8BEN form (attached). US-based publishers must send us a completed W-9 form (attached). Please send completed forms to to [email protected] and include the email address associated with your AppLovin account. You must submit the required forms before the 10th of the month in order to receive payment on the 15th. More instructions are available as you sign up.
View ArticleIntroduction to Zones
Zones offer flexibility to create different price points for different positions in a waterfall. AppLovin will optimize each Zone, and maximize your overall revenue.
In your AppLovin dashboard, you can create Zones from within the ‘Zones’ section of the side navigation bar in the 'Monetize' tab. You can choose to set CPM values per Zones (provided your account has the permission to do so). Integrating Zones varies per mediation partner and details can be found in the 'Docs' tab of the UI.
Best Practices
It is recommended that you create at least three different Zones for your advertising waterfall.
A high-priced Zone should be placed at the top position of your waterfall. If you know the value of your existing first fill provider, the Zone value should be set at least $1 higher. AppLovin will typically serve ads with the strongest value (eg. Brand advertising) in this Zone.
A mid-priced Zone should be placed right above your highest fill provider nearest to the middle of your waterfall.
A backfill Zone with a low CPM price should be placed right above your highest fill provider closest to the bottom of your waterfall. You can also experiment with setting this Zone’s price to ‘Optimized by AppLovin’ in order to maximize fill and ensure you are not losing impression volume across all ad providers.
If you already have several price points in your waterfall from other ad providers, you should experiment with creating more than three AppLovin Zones and placing each above your existing highest fill positions.
A Zone should receive a significant amount of request volume in order to properly optimize and maximize your revenue.
Please reach out to [email protected] if you have any questions regarding Zones.
View ArticleOur SDKs return errors as integer codes, but to make this more manageable, we've provided a set of named constants that correspond to these codes. (ex. public static final int NO_FILL = 204). This gives you the flexibility to check for errors using the named constants. Here is an Android example:
public void failedToReceiveAd(int errorCode) {
if(errorCode == AppLovinErrorCodes.NO_FILL){
// Indicates that no ads are currently eligible for your device & location.
}
else{
// Unable to reach AppLovin; the user's device is likely experiencing poor connectivity.
}
}
If you are checking for the specific error returned, we recommend using these named constants vs. the integers in your code. You can find out more about our error codes here and in AppLovinErrorCodes.
public static final int FETCH_AD_TIMEOUT = -102;
Indicates that the network conditions prevented the SDK from receiving an ad.
public static final int NO_NETWORK = -103;
Indicates that the device had no network connectivity at the time of an ad request, either due to airplane mode or no service
public static final int ERROR_CODE_IO_EXCEPTION = -100;
General IO exception. Should not ever happen, but safe to treat like a 204
public static final int NO_FILL = 204;
Indicates that no ads are currently eligible for your device.
public static final int UNABLE_TO_RENDER_AD = -6;
Indicates that there has been a failure to render an ad on screen.
public static final int UNSPECIFIED_ERROR = -1;
Indicates that the system is in an unexpected state.
public static final int UNABLE_TO_PREPARE_NATIVE_AD = -700;
Indicates that there was an error while attempting to render a native ad.
public static final int UNABLE_TO_PRECACHE_RESOURCES = -200;
Indicates that an attempt to cache a resource to the filesystem failed; the device may be out of space.
public static final int UNABLE_TO_PRECACHE_IMAGE_RESOURCES = -201;
Indicates that an attempt to cache an image resource to the filesystem failed; the device may be out of space.
public static final int UNABLE_TO_PRECACHE_VIDEO_RESOURCES = -202;
Indicates that an attempt to cache a video resource to the filesystem failed; the device may be out of space.
Rewarded Videos:
public static final int INCENTIVIZED_NO_AD_PRELOADED = -300;
Indicates that the developer called for a rewarded video before one was available. Note: This code is only possible when working with rewarded videos.
public static final int INCENTIVIZED_UNKNOWN_SERVER_ERROR = -400;
Indicates that an unknown server-side error occurred. Note: This code is only possible when working with rewarded videos.
public static final int INCENTIVIZED_SERVER_TIMEOUT = -500;
Indicates that a reward validation requested timed out (usually due to poor connectivity). Note: This code is only possible when working with rewarded videos.
public static final int INCENTIVIZED_USER_CLOSED_VIDEO = -600;
Indicates that the user exited out of the ad early. You may or may not wish to grant a reward depending on your preference. Note: This code is only possible when working with rewarded ads.
public static final int INVALID_URL = -900;
Indicates that a postback URL you attempted to dispatch was empty or nil.
View ArticleIf you are not able to get live ads, there are three ways to assure getting ads.
NOTE: With Test Ads enabled impressions, clicks, and revenue will not be tracked. This should only be used to test your app integration.
Enable ‘Test Mode’ in the AppLovin Dashboard.
Under ‘Monetize’ > ‘Manage Apps’, choose the relevant app and turn on the ‘Test Mode’ toggle. Note that test mode takes up to 45 minutes to activate and lasts for 2 hours. You should test during that time frame.
Turn on ‘Test Mode’ from the AppLovin SDK.
You can turn on test mode within the SDK by modifying the SDK settings. This is supported on sdk versions: iOS 3.50+ and Android 6.4.0+. You should make sure to disable test mode before going live and only use that for the test.
Enabling Test Mode in iOS:
ALSdk *sdk = [ALSdk shared];
sdk.settings.isTestAdsEnabled = YES;
Enabling Test Mode in Android:
final AppLovinSdk sdk = AppLovinSdk.getInstance( context );
sdk.getSettings().setTestAdsEnabled( true );
Using a VPN to a country with high advertising demand
If you believe the reason you are not getting ads is due to a low advertising demand in your geo location, you can try getting real ads using a VPN connection to a country with a higher advertising demand, for example: the United States.
Note: The above steps will only work if the integration was done correctly. If you are still not able to get ads after following these steps, you might have an integration issue and you should follow the support article titled "Why am I not seeing any ads?" to troubleshoot.
View ArticleIf you recently have signed up for AppLovin, you may be asked to submit your apps for verification.
For Android Developers:
Please make sure to send an email to [email protected] from the email address listed on the Google Play Store. Your email address must match what you submitted in order for us to approve the account. If the email address associated with your app is not the email address you want to use with AppLovin, please make sure to include the desired email address for your AppLovin account in this email.
For iOS Developers:
Please make sure to send an email [email protected] from the email address connected to your iOS app. For example, if your app's privacy policy is for a domain that you registered, please send us an email with an email address that uses that domain. If it's not clear how the email address is associated with the app, please provide instructions on how we can verify you have ownership of the application you are linking. If the email address you are emailing from is not the email address you want to use with AppLovin, please make sure to include the desired email address for your AppLovin account in this email.
Notes:
- If these instructions are not followed, we will not respond to your email. We are operating under the assumption that failed verifications are malicious attempts to claim ownership of apps.
- We will not verify accounts based on Amazon store links, APKs, or project files. If your app is not published yet, unfortunately we won’t be able to verify your account.
- If your app requires dangerous permissions, appears to be malicious, only exists to show ads ("Earnings" apps), or appears to be created just to pass verification, we will not approve the verification request.
View ArticleAll MAX publishers can access Facebook bidding through MAX. If you’re interested in submitting your game(s) for review, apply now and learn more about MAX success stories here.
View ArticleIncreased demand on a global scale and maximized revenue on every impression
Better attribution with a unified platform that calculates ROAS across networks
Powerful analytics to A/B test new waterfall configurations and determine what drives lift
Full transparency on the value of each impression and demand partner
If you’re interested in submitting your game(s) for review, please apply now and learn more about MAX success stories here.
View ArticleMAX in-app bidding moves beyond traditional monetization methods by leveraging an auction-style process for all of your ad inventory. All bidding partners bid simultaneously on your inventory and the impression is awarded to the highest bidder. As a result, you receive the highest possible value for any given impression. Please watch the video below to learn more about MAX in-app bidding.
If you’re interested in submitting your game(s) for review, please apply now.
View ArticleMAX currently supports banner, interstitial and rewarded ad formats.
View ArticleYes. You can access user ad-level revenue data for your apps using MAX through our supported APIs explained here. You can also work with a supported tracking partner ( Adjust and Appsflyer ) to access this data in your dedicated MMP dashboard.
View ArticleMAX enables publishers access to more than 20 networks to enable maximum competition for each impression opportunity globally. Once your account is approved for MAX access, you can see a full list of supported networks, including in-app bidders, on our documentation page.
View ArticleIn order to maximize the number of unique users that see ads each day consider the typical user flow and try to insert interstitial display ads where a majority of users will see them. Keep in mind that if you show your first ad at minute 5 of a user session, you'll miss out on monetizing all the users that only spend 1-4 mins in the app. By this logic, try to insert your first ad as soon as possible where it fits within the flow of the app. This is probably the most important step to maximizing interstitial ad revenue.
The best times to show interstitial display ads are at natural pauses in the app. Pauses may come between levels, after a “failed” game, or once the user reaches a certain "high" in a continuous game. These pauses or breaks in gameplay are generally theoccasionswhen a user is most receptive to an ad, meaning better ad performance and higher eCPMs. Avoid showing ads at times when a user is very actively engaged in your app.
View ArticleWhat is app-ads.txt?
App-ads.txt is a way for app publishers to prove to advertisers that they own the app where an ad request is originating from. Publishers host this file on the root domain of their website that is linked from the Google Play Store or Apple App Store. When an ad request with an app is sent out, an advertiser can check the app marketplace page for the app, find the corresponding app-ads.txt file, and verify that the publisher ID included in the ad request matches the corresponding ID in the app-ads.txt file. This prevents a malicious actor from faking ad requests from an app because the publisher ID in their ad request will not match the publisher ID included in the app-ads.txt file.
You can read more about it here:
https://iabtechlab.com/ads-txt
How do I implement app-ads.txt?
Make sure you define your website on your Google Play Store and Apple App Store app pages
Work will all the ad networks implemented in your app and ask for the relevant lines you should add to your app-ads.txt file. Only add the lines as instructed by companies that you have a direct relationship with. You can find the relevant lines to add to your app-ads.txt file for AppLovin here
Add your app-ads.txt file to the root domain of the website defined in your app marketplace pages. For example, if the website from #1 is "https://www.mywebsite.com/help/contact", add this text file here: "https://www.mywebsite.com/app-ads.txt"
Why should I implement app-ads.txt?
Currently, AppLovin does not require publishers to implement app-ads.txt. That being said, many of the bidding partners we work with will start enforcing it soon. If you don't implement app-ads.txt, it may hurt your eCPMs because there will be less advertisers willing to pay you for ads.
View ArticleNote: Applovin uses a service called Authy to manage 2FA
If you are having issues entering your number immediately after signing up:
Please note that VOIP phones numbers are not supported
Make sure you don't have any ad-blocker enabled.
Try using a different browser and a different device.
After choosing the right country, type in thephone number as you would callit locally, and remove any spaces or dashes
If you are having issues receiving an SMS and you have previously successfully logged in:
Make sure you don't have any ad-blocker enabled.
Try using a different browser and a different device.
If you received multiple codes, wait one hour and try again.
Try using the Authy app from here (Instructions below).
If you are having issues receiving an SMS and you have NEVER successfully logged in:
Make sure you don't have any ad-blocker enabled.
Try using a different browser and a different device.
Try using the Authy app from here (Instructions below).
Work with [email protected] to confirm you entered the correct number when signing up
Work with [email protected] to reset the number associated with your account (Note: The support team can only help if you have never logged in. We are unable to change your number or speed up the Authy phone number change requests)
Changing your phone number:
If yourphone number used forthe two factor authentication has changed, please follow the link here:https://forms.authy.com/phones/change. Make sure to follow all steps and to approve the number update in the email sent to the email address associated with yourAppLovin account. This process takes several days to allow the holder of the old phone number to cancel the process to prevent malicious actors from gaining access. If you are transferring your AppLovinaccount to another person, please open up a ticket requesting AppLovin to update the number associated with your account.
Using the Authy app:
If you are unable to consistently receive SMS from Authy, the Authy app may be the best option for you. You will only need to authenticate the app once, and then going forward, you can use the app to generate the codes to input into AppLovin. You can also authenticate the app with a phone call. You can get the Authy app here.
There will automatically be an AppLovin section within the Authy app if you authenticate the app using the same phone number that you used when signing up with AppLovin.
You can also use the Authy app to quickly change the number associated with your account (assuming you have already authenticated the app with your old phone number)
View ArticleAppLovin has built a market-leading technology platform for mobile games that continually learns what players like. This not only allows us to optimize the gameplay experience, but also helps people find new gamesthey'remore likely to play. We use these insights to create incredibly effective tools for analytics, discovery, monetization, and publishing. The combination of our technical infrastructure and deep insights makes mobile games more fun and discoverable for the people who play them, and more profitable for the developers who make them.
View ArticleTo learn more about AppLovin, you can read more about us on our site or visit our press page. For more updates, follow us on Twitter and LinkedIn.
View ArticleThe Device Model Targeting API has strict requirements for the format of the model name. This article explains what those requirements are
Android
On Android, we are looking for the industrial name for the device. For example, rather than "Samsung Galaxy S3", we require "GT-I9300".
A good resource to map consumer names to industrial names is the list of Google Play supported devices.The value we are looking for can be found in the "Model" column.
iOS
On iOS, we are looking for the consumer facing names. Here is the full list of model names that is supported by this API:
iPad 1
iPad 2
iPad 3
iPad 4
iPad 5
iPad 6
iPad Air
iPad Air 2
iPad Air 3
iPad Pro
iPad Pro 2
iPad Pro 3
iPad mini
iPad mini 2
iPad mini 3
iPad mini 4
iPad mini 5
iPod touch 1G
iPod touch 2G
iPod touch 3G
iPod touch 4G
iPod touch 5G
iPod touch 6G
iPod touch 7G
iPhone 1G
iPhone 3G
iPhone 3GS
iPhone 4
iPhone 4S
iPhone 5
iPhone 5c
iPhone 5s
iPhone 6
iPhone 6 Plus
iPhone 6s
iPhone 6s Plus
iPhone SE
iPhone 7
iPhone 7 Plus
iPhone 8
iPhone 8 Plus
iPhone X
iPhone XS
iPhone XS Max
iPhone XR
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
View ArticleThe AppLovin SDK is capable of tracking installs, app opens, and other in app events for AppDiscovery campaigns.
Minimum Requirements
iOS SDK 3.1.3 and above
Android SDK 6.1.0 and above
Install and App Open tracking
To accurately track installs and app opens, it's important that you initialize the SDK on launch!The SDK will automatically track installs and app opens when initialized.
Other In-App Event tracking
Under the Docs tab in AppDiscovery you will find instructions on how to implement event tracking for specific event types.
To see a list of events, go to the Install and Event Tracking section of the Docs:
Android
iOS
Unity Android
Unity iOS
We recommend sending every event that you use to evaluate traffic quality on.
View ArticleTable of available Tracking URL Macros
Name
Macro
Description
Device Identifier[REQUIRED]
{IDFA}Fire OS only:{HADID}
Apple IDFA or Google Advertising IDFire OS:Lowercased THEN sha1 hashed Android ID
AppLovin Device ID[REQUIRED]
{DID}
AppLovin Internal ID
Application ID
{APP_ID}
Encrypted ID of the applications where ads are served
IP Address (IPv4)
{IP}
The user's IP address. Blank if user has IPv6
IP Address
{DEVICE_IP}
The user's IP address. Will populate with IPv4 OR IPv6, depending on which the user has
Type of Device
{DEVICE_TYPE}
'phone', 'tablet' or 'other', where 'other' is iPod
Type of Creative
{AD_TYPE}
'graphic', 'video' or 'reward'
Size of Creative
{AD_SIZE}
'inter', 'native', 'banner', 'mrec', or 'leader'
Name of Creative
{AD_NAME}
Name of the ad in AppDiscovery
Name of Campaign
{CAMPAIGN_NAME}
Name of the campaign in AppDiscovery
Country Code
{CC}
Two letter country code of the user who was shown an ad
iTunes ID or Google Package Name
{PACKAGE_NAME}
iTunes ID or Google Package name of the app associated with the campaign
External Campaign ID
{CAMPAIGN_ID}
Hashed campaign ID. This value won't change when a campaign is renamed
View ArticleTo successfully run campaigns in AppDiscovery, mobile tracking needs to be set up correctly.
Always verify your tracking setup before setting campaigns live in AppDiscovery.
Tracking Setup Instructions
You can set up tracking through:
AppLovin's SDK
A Third-Party Tracking Vendor
The following are verified third-party install tracking vendors:
Adjust
AppsFlyer
Tenjin
Tune
Branch
Kochava
Singular
F.O.X.
Localytics
Party Track
Tracking Macros
To confirm what macros AppLovin is able to dynamically populate please view all tracking URL macros
S2S Tracking / Custom Tracking URLs
If you own the apps you are promoting, we may be able to support this. Please reach out to [email protected] information. Please include a link to your Playstore and/or App Store developer page.
If you are a tracking company wishing to integrate, please reach out to [email protected] for information.
If you buying on behalf of another company, we do not offer S2S tracking at this time.
View ArticleAppLovin builds technology that fuels many of the world's most popular mobile games. Since 2012, the company's technologies have been instrumental in driving the explosive growth of games from its studio partners and its own studio. AppLovin makes those same technologies available to all game developers, resulting in a richer mobile game ecosystem and better games for people everywhere. AppLovin is headquartered in Palo Alto, California with offices around the world.
View ArticleFollow these best practices to successfully scale your user acquisition campaigns in AppDiscovery
1. Tracking
Ensure install tracking and postbacks are working properly:
Follow the setup instructions for your tracking partner
Make sure to pass all installs and opens to AppLovin for accurate install attribution, suppression and retention tracking
Verify that tracking has properly been setup prior to taking your campaign live. It will have a negative effect on all future campaigns if our system doesnt receive conversions on impressions and clicks.
2. Targeting
Ensure choosing the most relevant campaign category for the app youre acquiring for
When targeting multiple countries, it's most effective to consolidate geos within a single campaign for efficient learning which helps drive scale and makes optimizations easier. We support individual bids, goals, and budgets by country if necessary
If youre targeting non-English speaking countries, make sure you have translated ads for highest conversion rates
3. Creatives
AppDiscovery inventory from different ad types so try to get as many formats live as possible.
Its imperative to add video ads (in both orientations) for all campaigns as video represents 80-90% of our inventory.
You may also auto-generate creative for unavailable ad types, however, advertiser produced ads are ideal for optimal performance.
Upload all ad types and creative under a single campaignas our system will automatically optimize delivery towards your best performing ads.
4. Bidding
It is recommended that you start with the highest bid you are comfortable with. This will give your offer the best chance at success.
Keep an eye on campaign performance the first few days of going live and make bid adjustments if necessary to achieve your desired results.
View ArticleBid Types & Best Practices
CPI
CPI bidding is the most common and safer for the advertiser since it guarantees to hit the entered cost per install (CPI) goals. Since AppLovin has risk with potentially serving a campaign with broken tracking, CPI campaigns may have to be validated by an admin before launching. CPI campaigns may take longer to scale because the optimizer will hold the campaign in the learning stage longer to gain more significance on performance. Also, CPI campaigns may overshoot budgets since there is a longer delay between when the ad request happens and when the install comes in. For example, if installs tend to happen 3 hours after an ad request, the ad server will stop serving when the campaign hits the budget but 3 more hours of installs will roll in.
dCPM
Dynamic CPM (dCPM) is the method of bidding where advertisers are charged for impressions,but the optimizer will adjust the CPM up and down to back out to a CPI goal. CPM bidding comes out of the optimizer learning stage fastest which allows campaigns to scale thequickest, however, the initial days of the learning stage may result in inflated install costs. CPM bidding is generally a bid type leveraged by advertisers with larger budgets seeking immediate scale.
dCPC
Dynamic CPC (dCPC)is a method of bidding where advertisers are charged for clicks but the optimizer will adjust the CPC up and down to back out to a CPI goal. CPC bidding has the added advantage of coming out of optimizer learning stage faster than CPI bidding (though slower than dCPM bidding), which will cause it to scale more quickly. CPC bidding is recommended for advertisers with larger budgets and a higher tolerance for learning costs.
Considerations
Learning Cost
Campaigns of all bid types will have some costs associated with learning. For CPI campaigns, the cost is for the most part put on AppLovin, but this will cause the optimizer to be more conservative initially. For dCPC campaigns, it will take some budget before the optimizer hones in on your goals. The amount of budget it will take depends on targeting, conversion rate, CPI goal, and budgets.
Targeting
The more broadly the campaign is targeting, the more places it has to learn.
Conversion Rate
The better the conversion rate, the more quickly the optimizer will learn. You can increase conversion rate by taking actions like uploading a suppression list, wifi targeting larger apps, and having strong ads.
CPI Goals
This goes hand in hand with conversion rates. If the CPI goal is very obtainable, it will decrease the time it takes to learn. If the goal is too low, the optimizer will take awhile (or never be able) to hit your goals
Start High
AppLovin recommends that you start with the highest bid you are comfortable with. This will give your offer the best chance at success. Also, dropping the CPI later if the offer converts well is better than increasing the CPI later if the offer doesn't convert well in terms of how the optimizer will serve the offer. Starting too low can also lead to a situation where the offer spends a lot of money but get's shut off. For example, if the CPI goal is unachievably low, the bidder will start shutting off sources after it has spent learning budget on those sources which can lead to a situation where an offer spent money with no results.
View ArticleThis Reporting API can be used to get aggregated campaign data in either JSON or CSV format.
Request Format
Report requests should be sent via HTTP GET requests to a following base URL:
https://r.applovin.com/report
Required Parameters
api_keyis the advertiser's API key for Reporting (AKA Report Key).The Report Key, used for Reporting API authentication, can be found in the ' Keys ' tab of the account page. If the value is missing, please send an email to [email protected] and be sure to include the email address associated with your account.
startis thestart date of the report.Accepts date in YYYY-MM-DD format or a Unix timestamp.For example,2012-10-05or1336608000. Must not be longer than 90 days in the past.
endis theend date of the report.Accepts date in YYYY-MM-DD format or a Unix timestamp.For example,2012-10-05or1336608000ornow
formatis the format for the report.Acceptsjsonorcsv. See details on requestformat below
columnsis acomma separated list of columns for the report. See the allowed columns below. For example,ad_id,date,idfa,campaign_name
report_typetells the API to respond with 'publisher' or 'advertiser' data. If this parameter is omitted, the API will default to report_type=publisher
Optional Parameters
limitparameter wouldset the a limit on the number of rows returned. For example,500
offsetparameter would set the offset to begin fetching rows at. For example,100
having parameter allows complex filtering on numeric values. The parameter accepts URL encoded values of numeric columns, comparison operators, and logical operators like impressions%20%3E%200%20AND%20revenue%20%3E%200 ("impressions > 0 AND revenue > 0"). NOTE: This will slow down the response and increase thelikelihoodof timeouts.
Allowed Publisher Columns
day - date of reporting data
hour- hour ofreporting data (only available for past 30 days)
impressions- number of impressions
clicks- number of clicks
ctr- number of clicks / number of impressions
revenue - money earned
ecpm - money earned per 1000 impressions
country- two letter country code
ad_type- GRAPHIC, PLAY, VIDEO, REWARD, or MRAID
size- ad size (INTER, BANNER, MREC, LEADER, or NATIVE)
device_type- phone, tablet, or other
platform- android, ios, fireos, or tvos
application - app name
package_name - apps package name or bundle ID
placement - placement name
application_is_hidden -is the app hidden in the dashboard
zone - Zone name, if available to your account
zone_id - Zone ID, if available to your account.Please contact your account manager if you are interested in using Zones
Allowed Advertiser Columns
day - date of reporting data
impressions- number of impressions
clicks- number of clicks
ctr- number of clicks / number of impressions
conversions- number of conversions (installs)
conversion_rate- number of conversions / number of clicks
average_cpa- average cost per conversion
average_cpc- average cost per click
ad- ad name
country- two letter country code
campaign - campaign name
app_id_external- hashed application id (commonly referred to as 'site id')
traffic_source- 'AppLovin', or the name of the exchange
ad_type- GRAPHIC, VIDEO, REWARD, or PLAY
cost- advertiser spend
sales- count of attributed sales events (requires setting up revenue postbacks)
first_purchase - count of users that made their first purchase(requires setting up revenue postbacks)
size- ad size (INTER, BANNER, MREC, LEADER, or NATIVE)
device_type- phone, tablet, or other
platform-android, ios, fireos, or tvos
campaign_package_name - Package name or Bundle ID of the app being promoted
campaign_id_external - Unique reference to a campaign, doesn't change when the campaign is renamed. Same value as {CAMPAIGN_ID} click macro
campaign_ad_type - Returns 'ua' for useracquisitionand 'rt' for Retargeting
Filtering Columns
With the AppLovin reporting API, reports can be filtered by any column. Doing so searches for a direct match to any of the filters.
To filter by a column, add the following url parameter:filter_columnname=onefilter,anotherfilter,thirdfilter
For example, the advertiser wants to see data for only the Android platform, the following url parameter should be set:filter_platform=Android
Reports can be filtered by any column. See above for a list of all columns.
Sorting Columns
Sorting reports works very similar to the way filters work.
For example, to sort a report by campaign_name, add the following url parameter: sort_campaign_name=ASC
The accepted values are ASC for ascending or DESC for descending. All sorts are lexicographical sort.
Report Formats
Reports can be returned in two formats, JSON and CSV.
Time Zone
All data in the reporting API is in UTC (Coordinated Universal Time).
Example Requests
Example advertiser request:
https://r.applovin.com/report?api_key=YOUR_API_KEY&start=2015-04-20&end=now&columns=day,campaign,impressions,clicks,ctr,conversions,conversion_rate,app_id_external,cost,sales&format=json&report_type=advertiser
Example publisher request:
https://r.applovin.com/report?api_key=YOUR_API_KEY&start=2016-07-01&end=2016-07-07&columns=day%2Cplatform%2Ccountry%2Capplication%2Cpackage_name%2Csize%2Cad_type%2Cimpressions%2Cclicks%2Crevenue,device_type&having=impressions%20%3E%200%20AND%20revenue%20%3E%200&format=csv
View ArticleAd Rules
See our Ad RulesHERE
Primary Ad Specs
Below are creative asset specs required for each AppLovin ad template. Please find ad creation instructions here and examples of our ads here !
Ad Type
Video
Graphic
Template
SDK Video:
full-screen video ads
VAST Video:
full-screen video ads; eligible on exchange inventory only
MRAID Video:
native video ads; eligibleon exchange inventory only
Interstitial
Banner, Leader, MRec
Native
Endcards
Required:
Portrait and landscape image to complete a video ad.
1024x768
768x1024
N/A
N/A
N/A
Dimensions
Landscape Video:
570x320(Recommended)
Portrait Video:
320x570(Recommended)
Pixels must be square, Anamorphic videos may get rejected
Required:
1024x768
768x1024
Banner:
320x50
Leader:
728x90
MRec:
300x250
Native Image:
1200x627
App Icon:
300 x 300 to
600 x 600
Length
12 to 30 seconds
Animation loops <30s
Animation loops <30s
No Animation
File Type
MP4, MOV
JPG, PNG, GIF
JPG, PNG, GIF
JPG, PNG
Size
< 30MB
<1MB
<1MB
<500KB
Format
Videos will be processed automatically by AppLovin. In rare cases where the automatic video processing fails, please find instructions for manual compression HERE.
Clear branding and CTA
Banner, Leader:
Clear branding
MRec:
Clear branding and CTA
Text Assets
Title: App Name
Subline: Ad Copy
Button: CTA (e.g. Download Now)
Star Rating: multiple of 0.5 between 0-5
Available Inventory
~80-90%
~10-20%
Playable Ads
Recommended to include in your ad campaigns, playable ads engage users through a sample of your app. Please contact your AppLovin representative for further information & guidelines.
Ad Guidelines
Guidelines
Ad Types: Video ads are highly recommended to yield best results for your campaigns. Graphic ads are still good to include as incremental units to achieve more scale.
Badges: Creatives must have OS specific badges (e.g iTunes store badge only for iOS & Google Play store badge only for Android) OR no badges at all.
Best Practices: Have at least 3 - 4 ad concepts. Refresh ads every 2 - 3 weeks. New ads must be uploaded in a new creative set.
ContentAppLovin does NOT allow depictions of: violence, drug use, or nudity. Ads must also have clear branding and CTAs (e.g. Download Now, Play Now).
View ArticleCreative Set Common Errors
Below are common errors in the creative set upload process and how to resolve them.
Error Notification
Resolution
File Dimension Error
File Dimension not supported
Adjust the dimensions of your asset to fit the required ad specs.
Graphic File Size Error
Image File Size Too Large. Must Be
Less Than 1MB (or 500KB)
Reduce the file size of your asset to <1MB (or 500KB)
Video File Size Error
File Size Too Large
In rare cases where automatic processing fails, pls find instructions for manual compression here.
View ArticleAd Creation Process
Check out our video tutorial HERE!
Creative Sets: allow you to easily create every type and size of ad in one batch upload. Creative sets should be the same concept.
To Create Ads:
Select the Campaign
Click the "Ads" Tab
Select "Create Ads"
Name the Creative Set
Drag and Drop Assets: Upload will start automatically
Select Ad Templates: Ad templates should auto populate with the assets you have available. To see required template assets see Ad Specs Support Page.
To Preview an Ad: Click on the magnifying glass when thetemplate has all required assets in it.
Drag & Drop Assets:
Preview an Ad:
Ad Guidelines
Ad Types: Video ads are highly recommended to yield best results for your campaigns. Graphic ads are still good to include as incremental units to achieve more scale.
Badges: Creatives must have OS specific badges (e.g iTunes store badge only for iOS & Google Play store badge only for Android) OR no badges at all.
Content: AppLovin does NOT allow depictions of: violence, drug use, or nudity. Ads must also have clear branding and CTAs (e.g. Download Now, Play Now).
Best Practices: Have at least 2 - 3 ad concepts. Refresh ads every 2 - 3 weeks. New ads must be uploaded in a new creative set.
Advanced Targeting
Please note that advanced targeting is additive to the targeting on the [Edit Targets] page in your campaign setup.
Language Targeting: target localized ads for highest performance.
Country Targeting:only use country targeting if language targeting doesn't cover your use case.
View ArticleThis Tutorial provides you with an overview of the following features in AppDiscovery:
Campaigns and Reporting tabs in the Promote section related to your User Acquisition activity,
Docs tab for AppLovin SDK Integration guidelines if you want to publish your Apps within AppDiscovery or wish to use AppLovin SDK for install and event tracking,
Account settings and features.
For Monetization features please visit our Publisher Support Center Video Tutorials section here.
View ArticleThe Manage Apps section allows you to customize settings for each application.
Topics covered in the video include:
Editing app names
Enabling various ad formats (Newer SDK versions will get all ad types without any UI configuration)
Test ads
Frequency capping
Hiding apps
Creating default settings for your apps
View ArticleThe below video provides a quick tutorial on the Analytics section of the AppLovin dashboard.
Topics discussed include:
App-level data
Country-level data
Data by ad format
Using filters
View ArticleApplovin supports:
MAX
Mopub
AdMob
IronSource
Fyber
Appodeal
Tapdaq.
To access directions for integrating each mediation provider by platform please visit our integrations page (an AppLovin account is required).
View ArticleNote: As of July 2017, any .MP4 or .MOV video will be processed automatically by AppLovin. Very rarely, the video files will still require some manual compression before the upload. Please only follow these instructions in the cases where the automatic video processing fails
If you do end up adjusting the video, ensure that the "Anamorphic" picture setting is set to "None" (The video shows the setting as "Loose" which may result in upload rejection)
View ArticlePlease first sign up as a publisher or publisher/advertiser. After you do this, you will be able to log into your account, and you can then download our SDK, find your SDK key, and the SDK integration docs. If you need help along the way, want to learn more about best practices, or encounter issues, please come back to this page as a reference.
Next: How do I create an app in my dashboard
View ArticleYou simply have to integrate and initialize our SDK with your unique SDK key in your app. This will automatically create the app in your Manage Apps section and you can then alter the app’s settings.
Please note: this process may take 30 - 60 minutes depending on the backlogs of apps trying to join our network. Also, the most common integration issue is an incorrect SDK key. Double check your SDK key to make sure there are no leading or trailing spaces or additional characters.
View ArticleAppLovin has a Reporting API that allows you to query the API for the reporting data. Please find more details about the Reporting API in our advertiser section here.
View ArticleMediation providers generally allow you to manually prioritize networks. This allows you to specify which network will serve the first ad of a given user session. We recommend top-ranking AppLovin for best performance, and to take advantage of our premium eCPMs. Here's how to top-rank us via a number of popular mediation providers:
Fyber
ironSource
MoPub
AdMob
View ArticleLog in to your Fyber Account
Go to "Apps" (top left)
Click on the desired App
Click on "Ad Control" (top of screen)
Drag "AppLovin" network into "Drop here to top rank" field (screenshot 1)
You will see a pop-up "Auto optimize this network as well?". Select "Yes"
Click on the AppLovin top-rank entry > Un-click the box labeled "Limit Max ad impressions" (screenshot 2)This is important since otherwise AppLovin will be limited to serving 1 ad per user
Save
You're all set! Now sit back and enjoy our premium eCPMs :)
View ArticleIndex
Setting UpAn Install Postback
Setting Up View Based Attribution
Generating Tracking URLs
Add In-App Event Postbacks
1. Setting UpAn Install Postback
To add a AppLovin postback in Singular, you will need your SDK Key from the 'Keys' section ofthe Account tab in the AppLovin dashboard or from your AppLovin account manager.
Navigate to "Partner Configuration"
Search for and Select "AppLovin"
Select yourApplication
Make sure that "Send postbacks to AppLovin on all Installs" is checked
Enter your AppLovin SDK Key
Set the "Click-through attribution lookback window" to 30 days
See all of AppLovin's click macros here
2. Setting Up View Based Attribution
Navigate to the Partner Configuration section as described in the first few steps of section 1
Make sure that "Enable View-through Postbacks" is checked
3. Generating Tracking URLs
Navigate to "Create Link"
Enter the Required information on the which app the Link should be fore
Select "AppLoivn" in the partner option
Click "Generate Link
If you want to add custom parameters, refer to out list of available URL macros.
4. Add In-App Event Postbacks
Navigate to the Partner Configuration section as described in the first few steps of section 1
Map the "In-app (SDK) event name" to the appropriate AppLovin "Event Name" value:
App Opens (__SESSION__) -> "landing"
Revenue Events -> Applovin Event Tag: "checkout" (Check the "Send revenue" box)
All Other Events -> Applovin Event Tag: "postinstall"
View ArticleIndex
Setting Up AppLovin in Tenjin
Setting Up an AppLovin Campaign in Tenjin
Setting Up an Install Callback
URL Formats
Adding In-App Event Postbacks
1. Setting Up AppLovin in Tenjin
In the Tenjin Dashboard, go toChannels
Click ADD MARKETING CHANNEL
Select AppLovin
Enter your AppLovin ReportingKey and SDK Key found in the AppLovin Dashboard in Account -> Keys
2. Setting Up an AppLovin Campaign in Tenjin
In the Tenjin Dashboard, go to Campaigns
ClickNEW CAMPAIGN
Select the AppLovin account you created in step #1, and select the app that the campaign is for
Make sure to enable the install callback! (see section below)
3. Setting Up an Install Callback
When you first create a campaign in Tenjin, the install callback is disabled by default. Please enable it by:
Click "Generate Callback"
Once the callback is successfully created, it will say "This callback is active"
4. URL Formats
By default, Tenjin's generated URLs will work in AppLovin's dashboard. You can see these URLs on each campaign's page. If you want to add additional parameters and if Tenjin allows it, you can use other AppLovin URL macros.
See a list of AppLovin's URL macros here.
5. Adding In-App Event Postbacks
AppLovin is able to attribute post install events like app opens (for retention), purchases (for ROAS or CPA goals), or any other custom events.Tenjin requires that you set up each call back manually. To do this:
Go to Apps
Select the app you are trying to define a callback for
Click NEW CALLBACK
Enter a Name, the event you want to notify AppLovin, "Ping Every Time", and make sure the method is GET
Enter the URL from below. Make sure to replace the [Bracketed] values. The {Curly Bracketed} values will be replaced by Tenjin
https://rt.applovin.com/pix?event=[AppLovin_Event_Name]&sub_event=[Your_Name_For_Your_Event]&sdk_key=[Your_AppLovin_SDK_Key]&platform=[Platform]&package_name={bundle_id}&idfa={advertising_id}&dnt={limit_ad_tracking_integer}&did={click_id}&isclaimable={is_applovin}&revenue={revenue}&currency_code={currency}
Where:
[AppLovin_Event_Name] is
'checkout' for IAP or other revenue events
'landing' for app opens
'postinstall' for other events
[Your_Name_For_Your_Event] is anything you want to send to describe the event. AppLovin will only read this value if event=postinstall
[Your_AppLovin_SDK_Key] is the SDK Key found in theAppLovin Dashboard in Account -> Keys
[Platform] is 'ios' or 'android'
View ArticleTo select AppLovin as the tracking option, we require 2 things:
The SDK must be integrated in the app that was selected in step 1
We must have successfully scraped the app from the store (If the app shows a default iOS or Android app icon in the AppLovin dashboard, it indicates this is what is happening)
Often times #2 won't happen if you started integrating the SDK before the app was live in the store, or if the app was never live in the US store. If this is happening to you, please email [email protected] and provide your AppLovin account email, the app you are hoping to promote, and mention that you cannot select AppLovin tracking and to please rescrape the app.
View ArticlePlease see the Branch instructions for setting up AppLovin here: https://docs.branch.io/pages/deep-linked-ads/applovin-mobile-tracking/
View ArticleYes. Google Play Services is required for all of our Android integrations.The Google Play Services Library required is the ads library (play-services-ads), and integrating this library alone would be enough.
If you do not integrate Google Play Services SDK, we will still serve interstitials but we will not be able to serve rewarded video. Our rewarded video format requires that our SDK be able to access a device's ID. Additionally, our SDK will not be able to use an ID for advertiser install tracking purposes, which means that in some situations monetization might be hurt and/or fill might be affected if the advertiser requires device IDs for install attribution.
View ArticleWe do provide a server to server callback. You can specify the endpoint you want us to notify with that callback after the completion of a rewarded video for each app in the Manage Apps section. Our server to server callback has a slightly different implementation than other providers and here are the important differences:
1. Our server to server callback never goes through the user's phone. After our SDK notifies us that the rewarded video has been fully watched and all other client side processes have been completed, our SDK notifies our server and our server then goes directly to the endpoint you specify. This means that the user can not hack callback to fraudulently rewarded themselves so long as you use a unique endpoint in the Manage Apps section.
2. You can specify which variables (like currency type/amount, user device IDs, etc.) you'd like to receive in the server to server callback. These are listed in the Manage Apps section also.
3. You can check that these requests come from AppLovin by taking advantage of your Event Key. You can include {EVENT_ID} (a unique transaction ID) and {EVENT_KEY} as values in your callback. The value that will be replaced by the {EVENT_KEY} macro is calculated using a SHA1 hash of the Event ID and Event Key:
sha1( [The Event ID] +[Your Event Key])
For example, if your event key is "uHXOnmfO2f3wd-syBwXxsj7m53qiJoI9VzXTvE8LOSnIWjS6zzxS8HgSIBJSbQWdS1czmgwXSWDaKwehtjyYl_" and the Event ID is "14a97273742c0c9e8864fe40193dad5506e930bc", the {EVENT_KEY} macro will populate with
3724081c17d32a66276ffff2a14b124a278934e9
which is calculated by sha1(14a97273742c0c9e8864fe40193dad5506e930bcuHXOnmfO2f3wd-syBwXxsj7m53qiJoI9VzXTvE8LOSnIWjS6zzxS8HgSIBJSbQWdS1czmgwXSWDaKwehtjyYl_)
You can find your Event Key in the Rewarded Video section of any app in Manage Apps (the key is the same for your entire account). If you don't have a key, please reach out to [email protected] to generate one
View ArticlePlease refer to the articles about error codes of each platform in the technical section of each platform.
Android
iOS
View ArticleVersion 1.0 / March2017
This API can be used by advertisers to create a set of appsto later be targeted by or excluded from a campaign. This replaces the old whitelist/blacklist API that will soon be deprecated.
The available apptargeting APIs are
List Displaysthe current appslists or the defined appson a particular list
Create For creating a new applist
Append Add new appsto an existing list.
Delete Deletes a given applist.
Delete Apps Removes given appsfrom a specific list.
Authentication:
This API requires an API key to be given as a query parameter in the request.TheCustom Audience Keycan be found in the 'Keys' tab of the advertiser's account page. If the Custom Audience Key is not visible, email AppLovin support at [email protected] and one will be generated.
https://api.applovin.com/applists/list?api_key=<API_KEY>
Errors:
Http status codes are used to indicate errors.
HTTP Response Code
Description
200
Success
400
Request was not formatted properly, was missing data or had invalid data.
403
Authentication failed. Check the validity of the API Key
404
AppList ID specified does not exist
406
For create, an active list with the same name exists already.
500
Service Unavailable.
Create:
The first step to submitting an app list is to create an empty list.To create a new list, make an HTTP request to
https://api.applovin.com/applists/create?api_key=<API_KEY>
The create API accepts the following fields passed as URL encoded query parameters
Name
Type
Description
Required
name
String
Name of the list
yes. Must be alphanumeric, _-+, or URL encoded space
description
String
Description of the list
no
The response is a JSON formatted response:
Name
Type
Description
app_list_id
String
ID of the audience
Example Request:
curl "https://api.applovin.com/applists/create?name=High%20Perfoming%20Apps&api_key=<API_KEY>"
Example Response:
{"app_list_id" : "fce0b41a0849706bd0fbbe181e61f419"}
List:
To get a list of all the current applists make an HTTP request to the list API.
https://api.applovin.com/applists/list?api_key=<API_KEY>
The response is a JSON formatted response:
Name
Type
Description
code
int
200 for success
app_lists
List of Objects
A list of objects containing information about an app list
app_list_id
String
ID of the list
name
String
Name of the list
description
String
Description of the list.
app_count
Long
Number of appsthat are part of the list
count
Long
Number of lists returned
Example Request:
curl "https://api.applovin.com/applists/list?api_key=<API_KEY>"
Example Response:
{
"code": 200,
"app_lists": [
{
"app_list_id": "dab2d1297d35592597b0eee016e92baa",
"name": "High Performing Apps",
"description": "Apps that exceed our ROAS goals",
"app_count": 3
}
],
"count": 1
}
List (with an applist id defined):
To get the list of all appsin a specified applist, make an HTTP request to the list API with an app_list_id parameter.
https://api.applovin.com/applists/list?api_key=<API_KEY>&app_list_id=<APP_LIST_ID>
Query Params:
Name
Type
Description
Required
app_list_id
String
ID of the applist returned from the create or list API.
yes
The response is a JSON formatted response:
Name
Type
Description
code
int
200 for success
apps
List of Objects
A list of objects containing all appsin the list
application
String
External Application ID
count
Long
Number of appsthat are part of the list
Example Request:
curl "https://api.applovin.com/applists/list?api_key=<API_KEY>&app_list_id=fce0b41a0849706bd0fbbe181e61f419"
Example Response:
{
"code": 200,
"apps": [
{
"application":"a0849706bda0849706bd"},{"application":"4326af2346b2l46e2346"}], "count": 2 }
Append:
To append appsto an existing list, make an HTTP POST to
https://api.applovin.com/applists/append?api_key=<API_KEY>&app_list_id=<APP_LIST_ID>
Query Params:
Name
Type
Description
Required
app_list_id
String
ID of the applist returned from the create or list API.
yes
Post Body: The append API accepts a new line separated list of ids in a POST request
Name
Type
Description
Required
List of apps
List of Strings
A new line separate list of external app IDs
yes
The response is a JSON formatted response:
Name
Type
Description
app_list_id
String
ID of the applist
processed_apps
Integer
Number of valid appsin this request.
failed_apps
Integer
Number of invalid appsin this request.
Example Request:
curl -X POST --data-binary @apps.txt "https://api.applovin.com/applists/append?app_list_id=<APP_LIST_ID>&api_key=<API_KEY>"
Where the contents of the file apps.txt is
a0849706bda0849706bd
4326af2346b2l46e2346
Example Response:
{ "app_list_id" : dab2d1297d35592597b0eee016e92baa, "processed_apps" : 2, "failed_apps" : 0 }
Delete:
Todelete an applist, make an HTTP request to
https://api.applovin.com/applists/delete?api_key=<API_KEY>&app_list_id=<APP_LIST_ID>
Query Params:
Name
Type
Description
Required
app_list_id
String
ID of the applist returned from the create or list API.
yes
There is no response body for the delete API. On success HTTP Response code 200 is returned.
Example Request:
curl "https://api.applovin.com/applists/delete?app_list_id=<APP_LIST_ID>&api_key=<API_KEY>"
Delete Apps(Remove appsfrom a list):
To delete appsfrom an existing list, make an HTTP POST to
https://api.applovin.com/applists/deleteApps?api_key=<API_KEY>&app_list_id=<APP_LIST_ID>
Query Params:
Name
Type
Description
Required
app_list_id
String
ID of the applist returned from the create or list API.
yes
Post Body: The append API accepts a new line separated list of ids in a POST request
Name
Type
Description
Required
List ofapps
List of Strings
A new line separate list ofexternal app IDs
yes
The response is a JSON formatted response:
Name
Type
Description
app_list_id
String
ID of the applist
processed_apps
Integer
Number of appsdeletedfrom the list in this request.
failed_apps
Integer
Number of invalid appsin this request.
Example Request:
curl -X POST --data-binary @apps.txt "https://api.applovin.com/applists/deleteApps?app_list_id=<APP_LIST_ID>&api_key=<API_KEY>"
Where the contents of the file apps.txt is
a0849706bda0849706bd
4326af2346b2l46e2346
Example Response:
{ "app_list_id" : dab2d1297d35592597b0eee016e92baa, "processed_apps" : 2, "failed_apps" : 0 }
Targeting Campaigns to an AppList:
Once an app list is created and has appsassociated with it, it will appear as an option in the Applicationsection of the Edit Targets page for all campaigns.
Example Postman Collection:
View ArticleFailure to follow these rules will result in offending ads or creative sets being blocked. Serious or repeated violations will result in an account ban.
AppLovin doesNOTallow:
Ads that are sexually suggestive or have depictions of violence, drug use, or nudity
Images or Videos that are scaled to fit into creative requirements. For example, if you only have a landscape image, do NOT create a portrait image that is a scaled version of the landscape image
Images or Videos with added barsto change the orientation (Letterboxing). This does NOT get extra scale on AppLovin and it looks very low quality. Using the same example as above, this image is NOT allowed. This rule includes videos with static images instead of black or white bars, this video is NOT allowed.
Ads that are false or misleading. Ads cannotclaim that a user has virus, low battery, etc.
Ads that resemble system alerts
Ads MUST:
Have clear branding (App Icon, App Name, and/or recognizable branching)
Have Calls to Actions (CTAs), e.g. Download Now, Play Now, if they are static ads
Be well-composed and be made with effort. Good ads are hugely beneficial to campaign performance and sloppy ads hurt your brand and ours.
View ArticleIf you are a publisher and looking to monetize your ad inventory with Applovin, please sign up as a developer. You will then be allowed to log into your account, download our SDK, and start integrating our services.
If you are an advertiser, please sign up as an advertiser or [email protected].
View Article
AppLovin ads have an "i" in the bottom left corner of the ad.When you click on the "i" it will display text "This ad was served by AppLovin" (see screenshots below).
View Article