Ad Placements and Debugging Tools

This section covers other features that are available with placements. While not a requirement for the AdInMo SDK, we highly recommend you make use of these features.

Impression Validity

To maximize your monetization it’s essential to understand what makes an impression valid. Here is a summary of what makes an impression valid:

  • Time on screen:

- Rich media - 1 second + 4 second cooldown - with cooldown being the minimum amount of time between cycling (ad switching). Through the portal you can increase the time an impression cycles before the next ad, from minimum of 4 to a maximum of 30 seconds. Slower cycles may impact monetization.
- Video ads - 2 seconds of screen time and do not have a cooldown period. The ad will be played in it’s entirety. Depending on demand, this may vary between 6 to 30 seconds in length.
  • Angle must be less than or equal to 55 degrees, the image must also be facing the camera.

  • Placement size must be at least 1.5% (coverage).

  • Occlusion - this relates to blocking the placement e.g. putting a game object in front of placement blocking it from the camera.

  • We combine visible ads to ensure a valid impression is generated. If you have two ads on screen but neither is 1.5% visible, we’ll combine them to make sure they meet our viewability and generate an impression.

We recommend using the debugging tool to help optimise your placements to ensure they are generating valid impressions. For more information on the debugging tool see below.

Fill rate

Fill Rate is a performance metric that reports the percentage of ad impressions that are purchased by AdInMo’s demand partners. Fill rate is calculated by dividing the total number of viewable ad impressions your game serves by the number of times a paid ad is delivered from the ad network. Fill rate, along with CPM and viewability determines your monetization.

Debugging Tools

AdInMo’s debugging tools to help you optimise your placements.

Within Unity Editor go to the top menu, Adinmo, Manager. A new window will open with the debugging tools. Here, you can view your game key, placements and more.

Run your scene with this window open and information about your placements will be displayed, such as aspect ratio, impression total, and sample size. We recommend you enable ‘Debug Size Threshold’ when debugging as this displays your placement to help identify the sample size.

Debug Size Threshold

SDK 2.0 and above has a debugging tool that allows developers to ensure the size of their placements within the Unity Editor is large enough to generate revenue.

Select the Adinmo Manager in your scene and check ‘Debug Size Threshold’. If it is the correct size, a green bar will be displayed at the top of the placement and will countdown until the next ad appears. However, if the placement is not the correct size the bar will appear red.


SDK 1.5 and Lower

In SDK 1.5 and below the debug tool will appear as a border around your placements. Green means you are able to generate revenue from your placement. Red means your placement is currently too small.


The debugging tool will display a black and white sample image that highlights your placement, making it easy to see if other game objects in the scene are blocking your placement. This feature is only available in SDK 2.0 and above.

Occlusion Test Ignores Layers

Note this feature is only available in Unity SDK 2.0.3 and above. This feature allows you to set specific layers to be ignored by the occlusion test. An example of where this might be used is when a placement has a collision box that may result in impressions being lost. The option can be found on the AdInMo texture component of a placement. This option can be found on the adinmo texture component.


Unsupported Local Axis Orientations

In order to minimise the impact on your applications run speed, AdInMo’s SDK uses the local axis orientation to determine which direction the ad placement quad is facing, rather than the face normal, which would be slower. This means that if you use an unexpected local axis orientation for your placement quad, this could result in impressions counts not being calculated properly.

The orientation supported matches what you would get if you imported a standard unity quad into your scene, or one of our prefabs from the AdInMo/Prefabs/Meshes folder, where the local z axis (blue arrow in unity) is in the opposite direction to the face normal.





If you use a standard unity plane object, or sometimes if you use imported geometry from a modelling package, this axis can be reversed, or orientated in an unexpected way. If you are using imported meshes, ensure that the local axis is set up correctly as in the above example.

Placeholder Image

On the AdinmoTexture component there is an option to disable the default placeholder. By default there is an AdInMo placeholder, this will display when no ads are being displayed. You can have your own placeholder image here by checking the disable placeholder option and adding your own to the texture.


Placement Fit

Through the portal, you can choose from different options how ads will fit on to your placements to maintain creative control. Loose fit will provide the most monetization options and exact fit limited to serving ads that meet the exact size of your ad placement only.

Background Setting

You can set the space around your placement through the portal to better control how it looks in-game. You can choose to do this by colour-matching or shrink the placement to fit the ad.

Android Player Settings

In Unity 2019 and above, you may find that Vulkan is selected by default. The SDK will support Vulkan as of version 2.1.1 and above with recommended Android version 9.0 and above.


Dynamic Ads

AdInMo supports the concept of dynamic ads, these are ad placements that are created programmatically rather than through the Unity editor. This allows AdInMo to support situations where a game developer programmatically creates objects in the game, our SDK supports the concept of then creating the ad unit programmatically once the object has been created. Here’s a simple example of how this works using the AdInMo Unity SDK.

 1using UnityEngine;
 2public class InstantiationExample : MonoBehaviour
 4  // Reference to the Prefab. Drag a Prefab with an AdInMo Texture component attached to it into this field in the Inspector.
 6  public GameObject myAdinmoPrefab;
 7  // This script will simply instantiate the Prefab when the game starts.
 9  void Start()
10  {
11      // Instantiate at position (0, 0, 0) and zero rotation.
12      Instantiate(myPrefab, new Vector3(0, 0, 0), Quaternion.identity);
13  }

Placement Groups

Using groups allows you to have multiple placements displaying the same advertisement campaign. Currently, the AdInMo SDK supports up to 10 groups.

Once a group has been created, placements can be assigned to the group. The option to create/edit groups can be found either when creating a new placement or by editing an existing one.