ampproject / amphtml

The AMP web component framework.
https://amp.dev
Apache License 2.0
14.89k stars 3.89k forks source link

Add prebid to amp-ima-video via rtc-config #20259

Open curseagain opened 5 years ago

curseagain commented 5 years ago

Description

Real Time Config was recently added to the amp-ad element via the rtc-config attribute. We would like to enable prebid for video ads as well. Possible to add the rtc-config attribute to the amp-ima-video element?

Additional Context

curseagain commented 5 years ago

@torch2424 here is that issue I mentioned. Let me know if you need any additional information!

torch2424 commented 5 years ago

@curseagain Thanks for making this! Assigned this to both of us.

cc @jasti @lannka

Let me know If this has any large implications on the extension, or if it would be a simple implementation on our end. Thanks!

jasti commented 5 years ago

Thanks for submitting the issue. I'm concerned a bit about the latency, given that the ad would block the prebid calls to resolve. It's different from the <amp-ad> case because the user can consume content while the ads take their own time but in the <amp-ima-video> case, the video content is blocked on the ad to finish.

@curseagain What do you think? CC @ampproject/a4a

curseagain commented 5 years ago

@jasti that is a great point! It would probably be annoying to have to wait so long for an ad to load when the rest of the page loads instantly.

However, I think publishers who are trying to do AMP-only sites feel like their ability to fully monetize their site is limited when they don't have options like prebid for video ads.

I wonder what could be done..

If the delay really is too much for videos above the fold then maybe it's possible for mid-roll or post-roll ads?

Or in the case that you have to scroll to a video, I wonder if we could fetch the prebid data a bit earlier than we would make a normal ad call.

Maybe someone has a creative idea! :)

jasti commented 5 years ago

I'm happy with the mid-roll & post-roll only suggestion. The current RTC limit is at 1 second and could consider reducing that further? @jeffkaufman do we have data on how many RTC callouts are timing out due to the 1 second limit? @curseagain do you know if prebid works with IMA video?

curseagain commented 5 years ago

@jasti I guess we would have to do the bidding first and then include the results of bidding to the targeting set in the data-tag attribute. Maybe override cust_params like this: https://support.google.com/admanager/answer/7320899#override-the-default-ad-tag-using-the-ima-sdk

jasti commented 5 years ago

Pinging @jeffkaufman again & @keithwrightbos as well.

jeffkaufman commented 5 years ago

Sorry, missed the tag the first time! I don't have that data in general, since not all ad requests go to doubleclick, but I think @keithwrightbos or @bradfrizzell have calculated this for the traffic that does come to us?

jasti commented 5 years ago

I had a few more discussions about this and generally speaking, we are okay making an RTC callout when it's not blocking on content. That translates to disabling the RTC callout if the ad is in a preroll spot and the video player is in the current viewport. Note that RTC calls can be made if the ad request is in a mid or postroll location OR if the video player is at least one (as a starting point, but suggest other options) viewport below the current viewport. @curseagain @torch2424 What do you think? @keithwrightbos @jeffkaufman @bradfrizzell @robhazan do you have any concerns with this approach?

torch2424 commented 5 years ago

@jasti I am in favor of this idea 😄 Pretty sure we can use some thing similar to isInViewport to accomplish this for pre-roll as well:

https://github.com/ampproject/amphtml/blob/master/src/custom-element.js#L1146

curseagain commented 5 years ago

@jasti is the following true?

Please let me know if I'm confused on some point. Not having done this before, I'm least clear on how we add the bidding info to the ad call and how we know when to insert the ad, but I guess it will become clear as I start digging into the code!

torch2424 commented 5 years ago

@jasti Just want to make sure this doesn't get forgotten. Let me know when we can start rolling this along after our AMP Conf discussion 😄 👍

jasti commented 5 years ago

@curseagain, it was great seeing you at AMP conf.

Apologies again, cause I'm not an expert with the IMA SDK but I'm seeing that the actual ad tag is either loaded from a relative XML or from the ad server and there doesn't appear a way to directly pass key-value pairs from the client side to match targeting: https://github.com/ampproject/amphtml/blob/master/extensions/amp-ima-video/amp-ima-video.md

Could you confirm how you pass additional key values on non-AMP cases and we can figure out the same in AMP? If this is not working out, we can reach out the IMA SDK team at Google, but wanted to understand what's already possible in non-AMP.

Cheers.

calebcordry commented 5 years ago

@curseagain Any update here?

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.

AskRupert-DM commented 2 years ago

Did this ever get implemented (RTC support in IMA Video for AMP) ? Can't find any meaningful info anywhere on the prebid documentation and I assume thats cos RTC isn't supported but then found this ticket - can someone confirm please ?

AskRupert-DM commented 2 years ago

@powerivq - do you know if this ever got implemented ? (RTC Support for IMA Video on AMP) ?

powerivq commented 2 years ago

@AskRupert-DM It was not implemented on amp-ima-video yet.

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.