This page provides information that lets you troubleshoot some of the most common problems while creating or viewing ads with Flurry Publisher.

These are divided into the following categories:

Ads Not Showing

The following is a list of things you can check for if your ads are not showing:

Is your list of whitelisted domains still accurate?

Ensure that your list of whitelisted domains are still accurate. Note that only the top level domains need to be whitelisted. The system may be treating and as different domains. Please verify

To check the domains go to: Monetization > Websites & ad units, and click on the pencil symbol next to the website name.

Are you using the correct ad tag?

The ad tag must be cross-referencing the adUnitCode and apiKey in the JavaScript with the details found in “View Ad Tag” on the ad unit page.

Is your classname using the correct adUnitCode?

When you are not using XPath to position the ad, make sure that the classname inserted is using the correct adUnitCode found in the ad tag. If these do not match, the ad will not show

For example, this ad tag:

<script type="text/javascript">
 var w_yahoo = (top == self) ? window :, d_yahoo = w_yahoo.document;
 w_yahoo.adUnitCode = w_yahoo.adUnitCode || [];
 w_yahoo.apiKey = "JSFP58RN469KXFC28PJR";

 (function () {
   var script = d_yahoo.createElement("script");
   script.async = true;
   script.src = "";

will need this class name:

&lt;div class="yap-ad-9f6d1adc-55a8-4b13-9c8d-d91fb465d984"&gt;&lt;/div&gt;

Check if the xpath is valid?

To check if your xpath is valid:

  1. Open Dev tools > console > enter: $x(“enter_xpath_here”). You can find the xpath in the Edit ad unit page.

  2. If this returns no result (in chrome just: [ ] ), then the xpath location does not exist or there are not enough items in the stream.

  3. In case the xpath does not exist, update the xpath in the ad unit.

If you cannot find a reliable XPath, you can switch to the replace method for ads not in stream placements

Are there enough items in the stream for the ad position to exist?

Check if there are enough items in the stream for the ad position to exist. For example, if the ad is set to ‘position 6’ and there are only 4 items in the stream, the ad will not show, as position 6 does not exist.

Are there conflicts between xpath and show first ad at values in the edit ad unit view?

At the time of ad creation, adbuilder can set the position for an ad in 2 different ways. Sometimes adbuilder will incorrectly set an xpath which works initially, but if a user tries to update the show first ad at position value, the xpath would then reference the wrong location.

For example: If you select stream position 2 with ad builder, ad builder might set an xpath like this: /html/body/ul/li[2]/..

Whereas it should be: /html/body/ul/li with show first ad at position set to position 2.

/html/body/ul/li[2]/. is directly selecting the 2nd list element, meaning if you update ‘show first ad at’ to 3, it is looking for child number 3 of the 2nd list item.

Low Ad Impressions

Impressions are Viewable Impressions in the Flurry Portal. Impressions are calculated based on IAB Standards which defines that an Impression is counted when at least half of an ad is viewed for a minimum of 1 second. Keep in mind the distinction between the impression metric, which is raw page impressions, and viewable impressions.

Is your content overlapping the Flurry ad and hiding it?

Sometimes your content may overlap the Flurry ad and hide it.

To fix this, follow this step:

Apply z-index: 2 (or higher) to the container tag.

z-index defines where in the stack/layer the content is shown (if you have 2 overlapping items, one with z-index: 1; and the other with z-index: 2, the item with z-index=1 would be shown behind the other item.

Is the impression beacon firing?

Impressions are calculated based on IAB Standards.

To verify if the impressions beacons are getting fired:

  1. Open the Developer console in your browser.

  2. Select the Network tab.

  3. Enter ‘mbcsc’ in the filter textbox.

  4. Make sure you see the ad in view.

  5. Check if an impression got fired when you viewed the ad.

Note that, the steps listed above are for Chrome browser.

Are all URLs for your ad locations whitelisted?

You must whitelist all the URLs where your ad will get displayed. Check and verify if you missed to whitelist the URL.

Are there other ads hiding your ad?

There may be other ads like expanding units or pop-outs that may have moved your ad or hiding it.

Creating Ad Units

This section describes issues you may encounter when creating ad units.

Was an xpath and language set during initial set up?

To create an ad unit, use the Ad Builder tool to initially set up the basic xpath and language. It’s easier to alter the Ad Unit layout outside of ad builder so do not worry too much about the layout. To edit the ad unit, websites & ad units > click on website name > click on ad unit name > advanced Options; you can edit the image dimensions and ad unit html template and the xpath here. Remember to click ‘submit’ to save the changes which will be active in approximately 1 hour.

Does your ad have all the required ad elements?

Make sure that your Flurry ad has the following required ad elements with the exception of the ad description:

  • {image} - This is the image you are using for your ad. You can add two types of images: rectangle and square.

  • {click_url} - This is the click url (required)

  • {title} - This is the ad title (required): 20-50 characters

  • {description} - This is the ad description. Including this element is optional. The description may contain between 20 and 150 characters.

  • {gemini} - This is the black starburst. {gemini_alt} is the white starburst.

  • {sponsor} - This is the advertiser’s name. This element accepts a maximum of 35 characters.

Layout Issues

If you are having trouble viewing the image in your ad or facing other layout issues, check for the following:

Was your image included in the <img> tag?

Note: Flurry will override any <img> tag in the HTML with the Flurry ad image. You must do one of the following, if you want your own image included in the ad tag:

  • You must host the image, since Flurry doesn’t host it.

  • You can insert it as a background image to any tag other than the <img> tag. For example: <div style="background: transparent url('http://ptnrhost/partner_image.png') no-repeat 50% 50% / cover; width: 50px; height: 50px;"></div>)

Did you set up a minimum height for your image element?

The Flurry ad image is inserted as a background-image, due to the difference in how different browsers render height, the element the image is tied to must have a minimum height. % and auto generally do not work well. Due to this reason responsive ad units become difficult as we are only able to use inline styling, unless you can give you us a class name/id to insert and your ad can handle the height.

With this workaround, the image will remain the same size on all the devices.

Are your image dimensions set up correctly?

To avoid images encountering bad-crops, the default setting for the images is background-size: contain. This fits the whole image into its container, the best way it can without cropping or squashing the image. This can result in letterboxing. Letterboxing occurs when matte black bars are added above and below the image.

This is an example of your image letterboxed:

You can prevent your images from being letterboxed by either changing the background-color to transparent and setting fixed image dimensions in the ad unit template, or by changing the size allocated to the image in the HTML. You can also force it sing the !important flag, but this may result in bad cropping. If you decided to force the image, it is important to keep mind that bad cropping may occur.

You can also serve the image as the background image of an element like a &lt;div&gt; tag which stops Gemini overriding your settings.

&lt;div style="height: 300px; width: 156px; background: url({image}) 50% 50% / cover no-repeat scroll transparent;"&gt;&lt/div&gt;

Distorted Ads

When you see distorted ads, check for the following:

Is your ad trying to load images that are not part of your ad?

Check the HTML file to look for images that aren’t supposed to be loading. Note that any &lt;img&gt; tag will be replaced with the gemini ad image, so your own images need to be inserted as background images.

Is there absolute positioning set up in the surrounding HTML?

Check for absolute positioning in the surrounding HTML. Absolute positioning will be replaced with relative positioning unless the !important flag is added to the ad tag html style="position: absolute !important; left: 300px !important;".

Have you hard coded any images or text?

Check for hard-coded images and texts in your ad unit.

Is your image size too big?

Check the Image Width and Image Height values. These indicate the size of the ad image in pixels. The image is inserted as a background image, so the height of image is very important. Leaving the width and height values as 0 will result in the background image dimensions being set to width: 100%; height: auto;. In most cases it is best to set a height or insert a max-height value to prevent the image becoming too large.