Skip to content

Add Open Measurement impression tracking - #244

Closed
ValentinPostindustria wants to merge 1 commit into
prebid:masterfrom
ValentinPostindustria:feature/open_measurement_tracking
Closed

Add Open Measurement impression tracking#244
ValentinPostindustria wants to merge 1 commit into
prebid:masterfrom
ValentinPostindustria:feature/open_measurement_tracking

Conversation

@ValentinPostindustria

@ValentinPostindustria ValentinPostindustria commented Nov 6, 2024

Copy link
Copy Markdown

We have researched the Open Measurement SDK's behavior for impression tracking (burl) in the PUC.

OM SDK JS script contains the public methods that are available in all versions and are not obfuscated. We have researched different versions of AppLovin, GAM, and AdMob. List of these methods:

startSession
error
finishSession
publishAdEvent
publishImpressionEvent
publishVideoEvent
publishMediaEvent
publishLoadedEvent
setNativeViewHierarchy
setState
setDeviceVolume
init
setLastActivity

We can subscribe to all these methods using the proxy method. For receiving them we should use window.omidBridge.<method_name>.

We have tried to subscribe to publishImpressionEvent, but it works too fast and we can't handle it. So we decided to subscribe to the geometry change called by the setNativeViewHierarchy method. But this method can be called when a view is not on a screen or is not visible, so we need to check this method's parameter. Parameter options:

@bretg

bretg commented Nov 7, 2024

Copy link
Copy Markdown
Contributor

Thanks @ValentinPostindustria and @YuriyVelichkoPI -- while you're working on PUC tracking, please take a look at prebid/prebid-mobile-ios#1059

@jclou

jclou commented Dec 18, 2024

Copy link
Copy Markdown

Some concerns based on my understanding of Open Measurement:

  1. If the ad doesn't contain any verifications or if GAM/AdMob etc. choose not to run any verifications (e.g. the verification provider is not allowlisted), then in an optimized integration there is no reason to set up an OMSDK ad session and invoke the methods we are intercepting.
  2. The omid bridge in the service script is an implementation detail, designed to be be a private API between OMSDK native and javascript layers -- and therefore is subject to change without backwards compatibility.

Would it make more sense to instead write a proper verification script and use omid as intended?

@rickyblaha

Copy link
Copy Markdown

Please add some automated tests to cover these changes. For example see some added here for rendering based on MRAID viewability #248

@YuriyVelichkoPI

YuriyVelichkoPI commented Jan 15, 2025

Copy link
Copy Markdown
Contributor

Hi @rickyblaha ! This PR is not a prod candidate, but it demonstrates which OMID signals and data are available inside the creative. The solution doesn't look super reliable, but if some members would like to test it we will move forward.

The PR is on track by the Mobile committee. If there is no intention to move this solution forward in the near future, I'll close it.

@YuriyVelichkoPI

YuriyVelichkoPI commented Feb 10, 2025

Copy link
Copy Markdown
Contributor

Closing this PR in favor of more reliable approaches:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants