Getting Started With AppSpot
AppSpot is an extremely flexible ad-serving platform that enables you to maximize your ad revenue and engage with your users. Some of its key features include:
- Real-time Bidded (RTB) Marketplace
- Network mediation (at no cost)
- Ad serving of Flurry AppCircle ads
- Cross-promotion (at no cost)
- Targeted messaging to your userbase
Getting started with Flurry AppSpot takes just three easy steps:
1) Create an Ad Space
2) Integrate the Ad Space code into your app
3) Submit your app to the App Store (e.g. iTunes, Google Play) and start earning revenue
Let’s get going!
Log into the Flurry portal: http://dev.flurry.com, and navigate to the Publishers tab. If you’re a first time user, you’ll be prompted to accept the AppSpot Terms of Service.
Once inside the Publishers tab, select “Inventory” from the left-hand navigation menu, and then select “Ad Spaces”. Next, click on the “Create Ad Space” button on the top right of the page.
Copy and paste this exact code into the area of your app where you plan to show this ad. Learn more about how to integrate your code here. Your code will not change, regardless of how many further changes or edits you make to your Ad Space in the Flurry portal.
At this point, you’re ready to start showing ads!
For a video overview on how to set up your first ad space, watch our tutorial:
Configuring AppCircle & Rewards
Use this section to edit the look and feel of AppCircle ads, as well as designate the ad space as Standard or Rewarded.
Select Your Ad Mix
You have three options available for showing Standard (non-rewarded) and Rewarded ads. If you have a reward system such as currency or virtual goods to give to users, we recommend you choose to enable rewards with “Let Flurry Decide”. This option allows Flurry to show the highest value ad based on AppCircle’s yield optimizer. If you always want to show rewarded ads, select “Rewarded.” If you don’t have a currency, choose “Standard”.
If you choose “Rewarded,” or “Let Flurry Decide”, you will be prompted to set up and define your rewards. These can be configured per Application in the Rewards section of the Manage tab on the left-hand nav.
If you plan to use a rewarded integration with your Flurry ads, you will need to designate the Ad Space type in which you'd like display rewarded ad units, as well as define what rewards you plan to give to the user.
Flurry provides several options for developers who choose to host rewarded promotions within their app. Rewarded inventory can be served into both banner and interstitial-sized Ad Spaces. Flurry provides rewarded solutions for two ad types: With Clips video ads, users are offered a reward for watching a video (available for both iOS and Android). Users are rewarded after the video view is complete. Users can also view a further promotion, either a link to a mobile web site, or a download opportunity for the app that has been advertised. Neither of these actions is rewarded. On the Android platform only, users can also be rewarded for downloading and launching a new app.
Both of these promotions can be hosted in a range of ad units, however, one of most popular integrations is in the storefront area of an app. In a storefront, users can generally purchase goods, get virtual currency, and see opportunities to take actions in order to earn free currency or goods. In a storefront, the most effective ad unit is the Catalog View. This web view ad unit lists a number of ads that a user can interact with in order to earn rewards. Typically, developers will create a button within their app, e.g. "Click here for free points," which launches the Catalog view. If you have selected "Rewarded" as the ad mix you'd like integrate, and you have designated your Ad Space placement to be "Full Screen," you will have the option to display a full screen takeover interstitial ad unit, which displays a single promotion, or a Catalog View.
Define Your Rewards
If you’ve selected the AppCircle ad mix within your Ad Space to be “Rewarded,” or “Let Flurry Decide”, you will be prompted to define the rewards a user will receive for engaging with a Flurry promotion. To define your rewards, go to the Manage tab on the left nav, and click Rewarded Options. YOU MUST DEFINE YOUR REWARDED OPTIONS IN ORDER TO SERVE REWARDED ADS. In the Rewarded Options tab you will see a table that lists projects for which you can define rewards. Click “Create Reward” in the right-side column. For developers who already have callbacks set up for rewards with older integrations, your details will be listed on this page. You cannot, however, edit these settings. To access this new functionality drop in a new Ad Space, download the latest SDK, and create your rewards.
You will see a new page for the project you have selected. The first field to complete is the reward name. This is the name of the virtual good or currency that you will give to your user for engaging with a Flurry promotion. The name will display in the Ad Space. The reward name limit is 13 characters, not including the quantity. Next, you can select a square icon as a visual example of the reward or currency to upload. This choice is optional, but Flurry highly suggests you include an image in order to boost conversion rate. This image will appear within the ad unit along with the reward type and quantity.
You will next define the quantity/conversion rate of your reward or currency. Add the amount you’d like to credit the user for every $1 you receive from Flurry. When a user sees a rewarded ad, they will see how much currency or reward that they will receive for converting on the presented ad.
The final step to define your rewards is to paste your callback URL into the bottom field. The callback URL is the notification Flurry sends to your servers with information to credit a user for converting on a rewarded ad. When you add your callback URL be sure to format the string with key parameters for awarding your users.
Callback URL Example:
Matching Rewards to Users
After getting a rewarded callback from Flurry, you will need to match it back up to whichever user triggered the callback. The best way to do that is to use the [FlurryAds setUserCookies] method in the Flurry SDK. In that method, you will enter a dictionary of key value pairs which can be used to identify your user's account with you. For example you can pair user_id with the value 1234 in the UserCookies. When Flurry makes a callback to your rewarded server, it will automatically append any user cookies that you had set using the SDK. In this case, it will append user_id=1234 to your callback URL.
Callback URL Security
Flurry will add the following parameters to the end of the callback URL automatically:
- fguid - a unique identifier for the action to be rewarded
- rewardquantity - an integer number denoting the number of reward units to be granted to the user
- fhash - an md5 hash which can be used to verify that the callback really came from Flurry and that the reward quantity is correct.
The fhash value is the following:
md5( fguid:rewardquantity:secretkey )
Here is an example using realistic looking input:
The URL that the Flurry service will hit in this example would be:
We recommend that you verify that the fhash value equals:
md5( f2dcd862-f2c7-4e61-beb3-a7e8641bc944:10:865B906F71E61D1C6FAF280A5F06C9037A9AC24D )
which, in this case equals:
Doing so ensures that the callback really came from Flurry because only we and you know your secret key.
Because Flurry wants to ensure that your users get their rewards there is a possibility that you could get the same callback URL twice for the same rewarded action. Therefore we also recommend that you store the fguid on your end and ensure that you only give your users one reward for each unique fguid value that you receive from our callback service.
You can see your application's secret key by going to the Publishers tab -> Manage -> Rewarded Options page in the Flurry Developer Portal. Or simply click on this URL: https://dev.flurry.com/rewards.do
Note that there is a different secret key for each of your applications!
Ad Space Configuration Advanced Options
Advanced Options allow you to create AppCircle & RTB Marketplace ad filters and set some serving logic options for your Ad Spaces.
Filter the AppCircle and/or RTB Marketplace ads in this Ad Space by App ID, App Name, Advertiser Name.
Ad Refresh Rate
The Ad Refresh rate allows you to specify how often an ad rotates through Flurry's available ads. This is most useful with banner size ads that persist on a view, and therefore warrant semi-frequent refreshes.
Pre-caching of ads is a recommended option for app experiences with interstitial ads rendered between pages, game levels, or other content areas. Pre-caching ensures that the ad is pre-loaded before the ad request, and therefore has a lower latency. For rewarded inventory, such as the catalog view, this option is not recommended, as users will be returning to the experience to fetch new ads to earn more rewards.
Flurry RTB Marketplace
Real-time bidding (RTB) is an auction-based model that enables programmatic buying and selling of inventory on an impression-by-impression basis at dynamic rates — as opposed to the traditional network model where inventory is pre-allocated at unknown CPMs for each impression.
To make your inventory eligible for the Flurry RTB Marketplace, you'll need to enable RTB Backfill option in the Flurry RTB MArketplace configuration section of your ad space (you need to do this for each ad space individually). Your inventory is then made available to multiple DSPs integrated with the Flurry Marketplace, who bid on your inventory in an CPM auction.
App Name Visibility
When setting up your ad spaces, you can specify the visibility of your app name to the DSPs, who represent advertisers. Choosing Visible lets DSPs see the name of your app, and enables them to bid with confidence regarding where their ads will be showing. The Anonymous setting hides your app name from the DSPs.
You can also specify a CPM floor for the ads space. Bids that are below this price will be rejected, guaranteeing you a certain minimum price for your inventory. CPM floors that are low will drive more transactions, whereas high floors will drive fewer transactions.
When you’re ready to run ads from other networks, you can configure campaigns on the Flurry Developer Portal to show ads from the mediated ad networks, like AdMob, iAd, Millennial Media, inMobi, and Greystripe. You’ll need to have an active publisher account with each supported network and integrate their SDK into your app. For instructions on integrating the Network SDK’s, please refer to the integration instructions here.
You can also mediate to networks currently not supported by Flurry. In order to do this, you’ll need to write a custom adapter to the Flurry AppSpot SDK, instructions for which are provided in the documentation accompanying the SDK. For more details, please contact our support team.
Setting Up Your Network Mediation
Setting up a network mediation waterfall for a campaign is simple. Create a new Network campaign, specify the Priority level (e.g. 10), and the percentage Goal for how much inventory should be eligible for the network waterfall (e.g. 100%). Then, specify the sequence in which AppSpot should call various networks, generally in descending order of CPM. Be sure to use a lower priority level (numerically higher) than any single-network campaigns.
When an ad is requested, Flurry will successively check each of these networks to find an ad. If the first network does not fill the request, the selection logic moves to the 2nd network, and so on, until the ad request is filled. The process is repeated, starting with Network 1, for each new ad request from the same device. This feature requires a more recent Flurry SDK (v4.2 on iOS and v3.2 on Android).
'Setting up Multiple Network Rotations / Waterfalls' You can create different rotation or waterfall sequences for different types of users, e.g. users in the UK vs. users in the US, or users on iOS devices vs. Android. Simply create multiple campaigns and use the Targeting section to define which users are eligible for any specific campaign.
Setting up Flurry RTB Marketplace and Network Mediation
You can combine ads from the Flurry RTB Marketplace with the mediated ad networks, like AdMob, iAd, Millennial Media, inMobi, and Greystripe. Select RTB Marketplace as one of the networks
Flurry RTB Marketplace
Create a Network-type campaign for Flurry RTB Marketplace, similar to other networks campaigns. Flurry recommends placing RTB Marketplace high in the waterfall to assess the CPMs that can be achieved from the Marketplace. Once this is determined, It can be slotted in after any networks that achieve higher average CPM’s. Note that as the number of participating DSPs increases, average CPM’s will rise over time.
Setting up Advertisers & Creatives
Advertiser Campaigns allow you to run ads on behalf of advertisers you’ve directly negotiated with. You can also use this functionality to run your own cross-promotional campaigns. Each Campaign is associated with an Advertiser. A Campaign can have one or more Creatives associated with it, with each Creative also associated with an Advertiser.
You need to setup an Advertiser before creating a Campaign on their behalf. To do this, navigate to the Advertisers tab on the left-hand nav, click on New Advertiser, and simply type in the name of the Advertiser.
To setup a Creative associated with a campaign, navigate to Creatives on the left-hand nav, and click on New Creative. Here, you can setup creatives of various types:
- Image (uploaded image assets, such as .jpg)
- HTML (including redirects to external ad servers)
- App Store (ads constructed with assets pulled from an app’s App Store page)
Campaigns & Targeting
Now, you’re ready to setup a Campaign. AppSpot supports two types of campaigns: Advertiser and Network. Each campaign type has different options for specifying the Goal (budget or percent-based), Price (CPM or CPC), Frequency Cap, Pacing, Start Time and End Time. In addition, each campaign has a Priority setting, which determines the rank order in which the campaign is selected when an ad impression is requested.
Advertiser campaigns are used for deals sold directly to advertisers, or your own cross-promotional house ads. Depending upon the value of these ads to you and the delivery commitments made to the advertisers, the campaign could be set at a high, medium or low priority, specified from 1-20. The delivery goal for these campaigns can be specified in the form of a budget (e.g. $10,000 at $5.00 CPM) or a fixed percentage of targeted impressions for a sponsorship deal. You can also specify a frequency cap per user.
You can use different Targeting parameters to specify the subset of your users that should see the campaign. These include Geography, Flurry Analytics Segments, Demographics (age, gender & Persona), Device & OS, Keywords and more. Many of these targeting options are specific to Flurry, based on our analytics data and the inference models we’ve built.
Demographic targeting (age, gender & Persona) is based on data from Flurry Analytics. Flurry has confident estimates on a fraction of users, which means that targeting by age or gender will constrain the amount of impressions that match the campaign.
The Inventory section of the Campaign lets you specify one or more ad spaces in which you want the campaign to run. You can run a campaign in one or more ad spaces of different sizes, across multiple applications and platforms.
The Creatives section lets you select previously defined creatives (associated with the same Advertiser as the campaign) and associate them with the campaign. Make sure that the creatives have the same or smaller size as the inventory associated with the campaign.
Reporting & Analytics
AppSpot lets you analyze the performance of all your ad campaigns in a single view. You can view common performance metrics by Ad Space, Application, Advertiser, Campaign or Creative. Certain Flurry Estimates, such as age, gender and geography can be viewed by both impressions and clicks, allowing you to analyze not only which users are seeing you campaigns, but also which ones are clicking on ads.
You can compare the performance of your Direct and Network campaigns over time, and also view Flurry Estimates of the audience demographics for each of those campaigns.
Tracking Beyond the Click for Cross-promotional Campaigns
In addition to standard performance metrics provided by AppSpot, you can use Flurry User Acquisition Analytics (UAA) to measure the performance of your house ads with installs and other quality metrics that you specify. Simply navigate to User Acquisition under the Company tab and create a campaign. Make sure that you select “Flurry” as the Channel, and set up custom funnels and segments if you wish to monitor activities past the install. Learn more about how to create UAA campaigns here.
Once you have the tracking URL from Flurry UAA, enter it into the Image Click-through URL field on the Creatives setup page. Reporting for installs and other quality metrics will be available under User Acquisition > Reporting in about 6 hours after the first install.
Please note that UAA only works for applications with the Flurry SDK, and you will need to have access to the application in the Flurry Developer’s Portal in order to set up campaigns and view reporting.