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 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.

We recommend always setting your ad placements in places players are most likely to spend time. The SDK now tracks Dwell Time as an attention metric: the time a player spends looking at a valid placement. Optimizing for Dwell Time will drive higher CPMs.

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 will help you optimise your placements.

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

  2. Select ‘Debug Valid Impressions’ and ‘Debug Faults’ either from the popup window or from Adinmo Manager prefab inspector. If you would debug on your device, make sure to select ‘Debug on device’ as well.

This will allow the debug to show you detailed information on the size and angle of the placement relative to the camera, as well as the name of the placement, the aspect ratio and the camera ‘looking’ at it.

Validity will be determined by the green strip on top of the placement. When it turns from green to white will mean the placement has met all criteria and has been on screen for one second - a valid impression has been registered.


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.


Fail Reason

Too Small - placement is failing the Placement Size check. Placement is less than 1.5% relative to the screen.
Angle to Camera - placement is failing the Angle check, angle is larger than 55 degrees.
Not Facing Camera - Placement is failing the angle check and not facing the camera
Not in Shot - Placement is not on screen. Check if the correct camera has been assigned.
Occluded - an object occludes the placement causing less than 50% of the placement to be visible. This applies to collision boxes as well.
Partially off-screen - Less than 50% of the placement is visible relative to the active camera.

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  }