The Open Measurement SDK (OMSDK) allows you to measure viewability for advertisers working with measurement vendors (see supported vendors). Open Measurement allows you to include third-party viewability and measurement vendors, either within bid response fields, or within the creative itself.
Google already provides viewability measurement based on Active View. Open Measurement gives you an additional IAB industry-standard option when it comes to measuring viewability by third-party standards on Google Ad Manager and Google AdMob impressions.
Supported platforms
Currently, Open Measurement is supported for app ads (in both Google Ad Manager and Google AdMob) in-stream web, and non-instream video. App publishers will need to upgrade to a new SDK version to benefit from Open Measurement.
Read the Open Measurement developer documentation for Android, iOS, and HTML5 video.
Supported transaction types
- Private deals, Programmatic Guaranteed, Private auction, and Open Auction
- AdForm
- Adloox
- comScore
- DoubleVerify
- Forensiq
- Innovid
- Integral Ad Science
- Meetrics
- Moat
- Pixalate
- Protected Media
- Teemo
- UNICORN
- WhiteOps
- Xandr
Domains (from companies not already listed) that are part of the Open Measurement Working Group are also eligible. Contact your account manager with the domains in question if you work with a Working Group member and are seeing creative disapprovals.
Supported formats
- App: Video, Display (Banner/Interstitial), Rewarded, and Native
- Web: In-stream web and non-instream video
RTB request - When is Open Measurement Interface Definition (OMID) supported?
- In Authorized Buyers Protocol, a new excluded attribute will be sent when the OMSDK is not supported:
BidRequest.ad_slot.excluded_attribute: CREATIVE_ATTRIBUTE_VALUE_OMSDK_N = 114;
- In OpenRTB, the standardized approach of the
api
field in Banner and Video objects is used. This is very similar to how MRAID and VPAID are indicated. - For OpenRTB Native (2.5+), we include the standard EventTrackers request which indicates support for JavaScript:
request_native { eventtrackers { event: IMPRESSION //JavaScript executes on impression event methods: JS //OpenRTB can specify support for “JS” and/or “IMG” } }
RTB request - Which vendors are allowed?
- Viewability measurement vendors that are allowed for each impression will be passed in the
allowed_vendor_type
field in the bid request for Authorized Buyers Proto and OpenRTB. Bid responses that include technologies that are certified but not inallowed_vendor_type
will be filtered. - There are 2 types of disapproval reasons (AWPCs) for the misuse of the OMSDK by third-party vendors:
- 721: Misuse by OMID SDK script
- Creatives containing Open Measurement (OMID) scripts should only interact with the public API as defined by
omidsdk-v1.js
, and will otherwise be disapproved.
- Creatives containing Open Measurement (OMID) scripts should only interact with the public API as defined by
- 752: OMID vendor not on approved list
- Creatives using Open Measurement (OMID) scripts are only allowed to use domains from the approved vendors noted above. If you experience this disapproval for a creative from a Working Group company, contact your account manager.
- 721: Misuse by OMID SDK script
For banners and interstitials, creative vendors and bidders often build the JavaScript measurement code directly into the creative.
Bidders are expected to work with third-party measurement providers to make sure that the scripts work with the Open Measurement SDK, but no new fields are required in the bid response.
Native ads include new fields in the bid response to send through structured viewability JavaScript.
You can use OpenRTB version 2.5+ or Google Proto.
OpenRTB 2.5+
The Open RTB bid response follows the Native 1.2 “EventTrackers” specification.
Sample OpenRTB 2.5+ bid response
adm_native {
ver: "1.2"
eventtrackers {
Event: IMPRESSION // Bidders should set this to ‘1’ for Impression
method: JS // Bidders should set this to ‘2’ for JS
url: "http://my_3P_measurement_vendor.com/app_measurement.js"
// AdX extensions needed for native OMID
ext: {
context: OMID // Enum value 1
vendorKey: // The vendor key for the company providing the OMID JavaScript, e.g. "company.com-omid"
verification_parameters: //Additional verification parameters for the OMSDK, populated by e.g,. "[parameters string]"
All domains in the url
field must be allowed OMSDK vendors, e.g. comscore.com
, integralads.com
, etc. The context
enum extension should always be set to 1.
Google Proto
The Google Proto uses fields similar to OpenRTB's impression_tracking_url
, named script_url
.
Sample Google Proto bid response
message Ad {
...
message ImpressionTrackingResource {
// The URL of a JavaScript resource. URLs should not contain
// script tags. For example: "https://mycdn.com/tracker.js".
optional string script_url = 1;
// Additional context provided for rendering.
enum Context {
UNKNOWN_CONTEXT = 0;
OMID = 1;
};
repeated Context context = 2;
// Parameters associated with the resource that will be passed to
// the resource when it is loaded. The format of the parameters
// is dependent on the script vendor.
optional string verification_parameters = 3;
// Used to uniquely identify the verification script provider.
optional string vendor_key = 4;
};
// Resources to invoke when the impression is rendered. This is
// supported for native and banner formats only and explicitly
// allowed scripts only.
repeated ImpressionTrackingResource impression_tracking_resource = 26;
Currently, the <AdVerifications>
node in VAST 4.1, as well as VAST 2 and VAST 3 with the <AdVerifications>
extension for OMID measurement on Ad Exchange are supported.
Sample VAST using OMID in the <AdVerifications> extension
<Extensions>
<Extension type="AdVerifications">;
<AdVerifications>;
<Verification vendor="my_3p_vendor.com-omid">;
<JavaScriptResource apiFramework="omid"
browserOptional="true">;
<![CDATA[ https://my_3p_vendor.com/omid.js ]]>;
</JavaScriptResource>;
<TrackingEvents>;
<Tracking event="verificationNotExecuted">;
<![CDATA[https://my_3p_vendor.com/visit.jpg?ctx=818052;]]>;
</Tracking>;
</TrackingEvents>;
<VerificationParameters>;
<![CDATA[;
//customParamsGoHere...;
]]>;
</VerificationParameters>;
</Verification>;
</AdVerifications>;
</Extension>;
</Extensions>
Limitations
The Open Measurement SDK is a solution for mobile app inventory only. Third-party viewability vendors on web are not supported.
Not all publishers may support the OMSDK, but more publishers are expected to adopt newer versions of the GMA SDK.
Frequently asked questions
eventTrackers
as the standardized way to submit JavaScript measurement URLs.In addition to the approved list, domains (from companies not already listed) that are part of the Open Measurement Working Group are also eligible. Contact your account manager with the domains in question if you work with a working group member and are seeing creative disapprovals.