Open Measurement SDK (OM SDK)
Measurement and verification tools are third-party software that helps check whether an ad was served and whether a user had an opportunity to see it. Advertisers use them to make sure the ad platforms that serve their ads are playing fair.
The OM SDK offers a unified approach for third-party verification codes, which reduces costs on development, support, and validation for custom integrations. Originally built for mobile apps, the OM SDK expanded to support video ads on the web in December 2020.
The OM SDK serves as an alternative to VPAID and runs verification using deep access to device screen geometry, which lets you track:
- Viewability: Checks if an ad is visible on screen. Under the MRC standard, a banner counts as viewed if at least 50% of its pixels remain on screen for at least 1 second, or 2 seconds for a video ad.
- Obstructions: Detects if a system dialog (such as a "Low battery" warning) or a transparent invisible layer (fraud) appears on top of the banner.
- Video viewability: Tracks whether the sound was on when the video played, whether it was paused, and if the device was locked during playback.
How the OM SDK works
The OM SDK consists of two parts (JavaScript libraries): a service part and a client part. The service part is the code that measures video ads by tracking geometry, capturing various events, and so on. The client part provides integrators with an API that complies with the OMID (Open Measurement Interface Definition) standard.
OMID starts and runs verification through indirect interaction with the service part. The service part receives the third-party verifier's script, initializes it, and interacts with it via a specific API.
How it's passed
The OM SDK is passed in the Bid Request via the api array (frameworks/APIs supported by the ad unit). The identifier for OMID is 7.
Sample Bid Request for a native ad or banner:
{
"id": "req-om-123",
"imp": [
{
"id": "imp-1",
"banner": {
"w": 320,
"h": 50,
"api": [ 3, 7 ]
}
}
],
"app": {
"bundle": "com.news.app"
}
}
Here, api: [3, 7] means that MRAID 1.0 (3) and OMID 1.0 (7) are supported.
How Yandex DSP handles verification in the Bid Response
For HTML banners and native ads, the verification script is embedded directly into the HTML code inside the adm field. Once the in-app WebView renders this HTML code, the IAS script locates the OM SDK in the phone's memory and begins pulling data from it.
For video ads (VAST), VAST 4.x (which was later added to 3.0 via an extension) introduced a dedicated <AdVerifications> node used to pass measurement script URLs.
How it works:
- The app player parses the VAST response.
- It detects the
<AdVerifications>tag and theapiFramework="omid"attribute. - The player downloads the JS script from the URL inside
<JavaScriptResource>(the IAS script). - The player runs the script and connects it to the device's native OM SDK.
- While the video is playing, the OM SDK continuously sends data (audio and viewability) to the script.
- If something goes wrong (for example, the player doesn't support OMID, even though OpenRTB states otherwise), the
verificationNotExecutedpixel triggers so the advertiser knows why analytics are missing.