How to Set Up Publisher Custom Key Values

Publisher Custom Keys allows publishers to pass in custom key-values from the SDK to mediated ad sources or from the Aerserv VAST tag, generated from the aerVideo placement. This will enable publishers to generate custom revenue report based on these custom key-values.


Publishers must be running these minimum versions of the Aerserv SDK to enable this feature

  • Android: Version 2.29.2
  • iOS: Version 2.28



Step 1: Defining Publisher Key Value

Accessible via the sub-nav under AD SOURCE - "Publisher Custom Key"

PUBLISHER_KEY VALUE needs to be defined before they can be used when setting up the custom mediated ad source OR appending on the end of an Aerserv VAST tag. If these are not created first, the values will not be logged for reporting purpose. Therefore it's critical to make sure these values are defined if the publisher needs reporting metrics down to the PUB_KEY level. 

  • Maximum of 7 PUBLISHER KEY VALUES can be defined per account.
  • Values for PUBLISHER KEY needs to be in lower caps. 
  • Underscore values will need to be substituted for any spaces.
  • You have the ability to DELETE and RECREATE a new PUB KEY VALUE.

* Remember to click SAVE on the bottom right *


Step 2a: Set Up the Custom Mediated Ad Sources to Utilize the Publisher Key Values Defined in Step 1

  • This feature will allow the publisher to pass in these Publisher Custom Key Values to other mediated ad sources that are capable of receiving these value for reporting purposes on their side. 
  • Our suggestion is to confirm with the 3rd party VAST TAG provider on how they will be receiving these values, as indicated below, to ensure that their reporting services is capable in supporting this feature. 
  • Within the ad source pull down, select 'Custom Vast Network'
  • Insert the VAST Tag URL in the box the appears below

The VAST TAG URL will need to append the following macro settings to support the 'Publisher Key' that was defined in STEP 1.  

http://VAST TAG URL&partner_name=![partner_name]&channel_category=![channel_category]&channel_name=![channel_name]&clip_title=![clip_title]&content_rating=![content_rating]

Additional information on setting up Custom Vast Network can be found HERE

  • This will allow your APP to pass values into the Pub Key Values, which will also be passed to the custom mediated ad source that you have set up.
  • And this sets up the Publisher to view reporting metrics at the Publisher Key level

Step 2b: How to configure Aerserv VAST Tag to use Custom Key Values

  • This feature will allow the publisher to pass in these Publisher Custom Key Values to the end of the VAST tag that Aerserv generates for an aerVideo placement.
  • By using this feature, publisher can view specific reporting on how much aerMarket revenue is generated from specific key words,  
  • Example. Publisher goes into the Publisher Key value page and creates 7 Custom Key Words: (values in italics represent examples of values being passed in)

        partner_name = bloomberg
        channel_category = music
        channel_name = classical
        clip_title = beethoven symphony
        content_rating = 4 stars
        episode_genre = adult classic
        episode_id = 77889
        clip_author = john doe

Example of how it should look when populated

Step 3: Set Up Your App to Pass the Appropriate Values

Adding Publisher key in Android SDK  

*Code example of using the pub keys method*/
private static Map<String, String> pubKeys = new HashMap<String, String>(); static{ pubKeys.put("channel_category", "music"); pubKeys.put("content_rating", "4 stars"); pubKeys.put("partner_name", "bloomberg"); pubKeys.put("channel_name", "classical"); pubKeys.put("clip_title", "beethoven symphony"); pubKeys.put("episode_genre", "adult classic"); pubKeys.put("episode_id", "77889"); pubKeys.put("clip_author", "john doe");
public void preloadInterstitial(View view) {
		 final AerServConfig config = new AerServConfig(this, getPlc()).setKeywords(keywords).setEventListener(listener).setDebug(true).setPreload(true).setPubKeys(pubKeys);
		 interstitial = new AerServInterstitial(config);

	 public void showInterstitial(View view) {
		 if (interstitial != null);

Adding Publisher key in IOS SDK 

For details on publisher keys: here

#import "ASInterstitialViewController.h"
@property (nonatomic, strong) NSDictionary* pubKeys;
self.adController.pubKeys = @{ @"Channel_category" : @"music", @"Content_rating" : @"4 stars" };

Adding Publisher key in Unity  

// Returns a dictionary that can be passed into ad requests to configure ad requests.
        // This is optional and is only included here as a sample to illustrate how it is done.
        static Dictionary<string, object> generateTestConfig() {
            Dictionary<string, object> config = new Dictionary<string, object>();
            config.Add(SDK.PARAM_USER_ID, "AerServTestUser");
            config.Add(SDK.PARAM_TIMEOUT_MILLIS, 10000);

            // Setting publisher keys
            Dictionary<string, object> pubKeys = new Dictionary<string, object>();
            pubKeys.Add("testPubKey1", "testPubKeyValue1");
            pubKeys.Add("testPubKey2", "testPubKeyValue2");
            config.Add(SDK.PARAM_PUB_KEYS, pubKeys);

            // Setting keywords
            List<string> keywords = new List<string>();
            config.Add(SDK.PARAM_KEYWORDS, keywords);

            return config;



Step 4: Validating Pub Key in the Reporting Console

  • Premium Publisher will find a canned report in the left hand navigation called "By Pub Keys" 
  • This will allow the publisher to view a report that is broken out by PLACEMENT, KEY, VALUE, OPPORTUNITY, REQUEST, IMPRESSION, FILL RATE, CTR, VTR, REVENUE, eCPM for aerMarket activities that have been using Pub Keys. 
  • AGGREGATING REVENUES in this view will be inaccurate, since multiple keys can be invoked in a single ad opportunity. 
  • Reminder: if filtering by Ad Source, the Ad Opportunity metric will not be applicable in conjunction with that filter.

NOTE: Pub key reporting is on a 1hr delay. Therefore if testing to validate that the numbers are appearing correctly, you will need to wait for 1hr before the data will post into canned report. 



Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request