Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues with Multi-Format requests to AppNexus #3999

Closed
generic10one opened this issue Jul 16, 2019 · 11 comments
Closed

Issues with Multi-Format requests to AppNexus #3999

generic10one opened this issue Jul 16, 2019 · 11 comments
Assignees
Labels

Comments

@generic10one
Copy link

generic10one commented Jul 16, 2019

Type of issue

Bug

Description

Using mediaTypes native+banner literally always responds with a banner ad. If I switch to native only, I instantly get native ads (with rates > than the banner ads). It seems like the only way to get native and banner demand to compete on a given ad unit is to use the same ad unit code twice with two different mediaTypes. I'm either missing something very simple or there is a problem with multi-format requests to AppNexus.

Steps to reproduce

Set an adUnit with both native and banner mediatypes. (with AppNexus as a bidder)

Test page

Multi-Format test page -> only banner ads

Same ad unit code twice with 2 different media types -> both native and banner ads are displayed

Expected results

Actual results

Platform details

Other information

@stale
Copy link

stale bot commented Jul 30, 2019

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

@stale stale bot added the stale label Jul 30, 2019
@spormeon
Copy link

i've got a similar problem to this but i'm one iteration on, as in I have banner & video working but when I add native, I only ever get banner or video in a multi format unit
@generic10one did you find a fix?

@stale stale bot removed the stale label Jul 31, 2019
@jsnellbaker
Copy link
Collaborator

@generic10one Sorry about the delay here; I was taking a look at your first test page and I don't see anything inherently wrong about the setup that should prevent the multi-format request from working.

There are some factors to consider though:

  • what are CPM values associated to the banner and native creatives you're testing? Are they both using the same value or differing values?
  • for the native creative you have setup in appnexus, is the icon asset actually using the dimensions 50x50? The sizes field in the native image/icon fields needs to be an exact match to the uploaded asset's dimensions, otherwise the appnexus adserver won't think that creative is a valid match.

Additionally, are your test placements/creatives still active? I tried both pages, but I'm not seeing any appnexus bids return.

When I made a copy of your test pages and swapped to a test placement we have setup - I was seeing some bids return, which made me think something happened to the original placements/creatives.

@jsnellbaker jsnellbaker self-assigned this Aug 1, 2019
@generic10one
Copy link
Author

@jsnellbaker
Sorry for the delay as well.
The test order in DFP was paused for a while, now it is active again.

I don't think the icon asset is the issue here, since native ads are being displayed on the second test page


So, the issue remains -

  1. Using mediatypes (native+banner) -> bids for banner ads only.

image

image


  1. Same ad unit code twice with mediatypes for native only -> bids for both native and banner ads.

image

image


@spormeon

Did you try separating the different media types?

@spormeon
Copy link

@generic10one
no i haven't yet as i'm using multi format units, one thing i have noticed though, is if i just have native and outstream, i get lots of native bids on good cpm 1-8 range, as soon as i add the banner mediaType back in, the bids all pretty much go to banner and on alot less cpm 0.10-0.50 range, so there seems something funny going on somewhere?
my multi format setup:
code: 'inreedvid4Slot',
mediaTypes: {
banner: { sizes: [[300, 250],[728, 90],[250, 250],[468, 60],[320, 50],[320, 100],[336, 280],[580, 400],[550, 310],[1, 1]] },
native: { image: { sizes: [300, 100], sendId: true }, title: { len: 50, sendId: true }, sponsoredBy: { required: true, sendId: true }, clickUrl: { required: true, sendId: true } },
video: { context: 'outstream', playerSize: [[550, 310]], mimes: ['video/x-flv', 'video/mp4', 'application/x-shockwave-flash', 'application/javascript', 'video/webm'], playbackmethod: [2], minduration: 0, maxduration: 45, protocols: [1,2,3,4,5,6,7,8,9,10], linearity: 1, api: [1,2,3,4,5,6] }
},
renderer: {
url: 'http://cdn.adnxs.com/renderer/video/ANOutstreamVideo.js',
render: function (bid) {
ANOutstreamVideo.renderAd({
targetId: bid.adUnitCode,
adResponse: bid.adResponse,
});
}
},
renderer: { options: { adText: 'Advertisement' } },
bids: [

@spormeon
Copy link

can confirm i see that behaviour now, split the bids to banner & outstream, native on own and it bids for all, the offset of that is that nows endId: true doesn't seem to be being obeyed, where as it was when native, banner & outstream all in 1 multi format.:

DevTools_-_adops_golfwrx_com_golfwrxarticlewedge-native_html

Google_Ad_Manager

@generic10one
Copy link
Author

@spormeon

I had the same issue with sendID - moving mediatypes:native above my banner bidders fixed it.

@spormeon
Copy link

@generic10one
again confirm, native first order, banner and outstream and sendid works again. offset again then though, is if you have more than one native bidder, you need to add, as without, it puts all the bids strings of url, image etc in the targeting: ( its all a bit of a mess really)

adyjs.bidderSettings = {
standard: {
adserverTargeting: [
{ key: "hb_bidder", val: function(bidResponse) { return bidResponse.bidderCode; } },
{ key: "hb_adid", val: function(bidResponse) { return bidResponse.adId; } },
{ key: "hb_pb", val: function(bidResponse) { return bidResponse.pbMg; } },
{ key: 'hb_size', val: function (bidResponse) { return bidResponse.size; } },
{ key: 'hb_source', val: function (bidResponse) { return bidResponse.source; } },
{ key: 'hb_deal', val: function (bidResponse) { return bidResponse.deal; } },
{ key: 'hb_format', val: function (bidResponse) { return bidResponse.mediaType; } },
{ key: 'hb_native_linkurl', val: function (bidResponse) { return bidResponse.native.clickUrl; } },
{ key: 'hb_native_image', val: function (bidResponse) { return bidResponse.native.image; } },
{ key: 'hb_native_brand', val: function (bidResponse) { return bidResponse.native.brand; } },
{ key: 'hb_native_title', val: function (bidResponse) { return bidResponse.native.title; } }
]
},

@spormeon
Copy link

another offset, this method breaks S2S bidding with:
Invalid request: request.imp[0].id and request.imp[1].id are both "inreedvid4Slot". Imp IDs must be unique.

@jsnellbaker
Copy link
Collaborator

@generic10one Just to update, I'm still investigating into this behavior. I was having some trouble initially getting ads to return from appnexus while on my work network, but at home I am getting them near consistently.

I am seeing the reported behavior with the multiformat test page you created originally and the consistent delivery of the banner and native bids when you had them split apart.

It's strange that it's acting like this, as I have another test page based off of this page (http://prebid.org/examples/multi_format_example.html) that's properly rotating between the media types in the same ad slot.

It's possible this behavior might be due to something in the ad server setup (if only because the other example seems to be working), but I'm not 100% clear on that. I'm trying to reach out to some colleagues to check on this factor. I'll follow-up as soon as I can.

In regards to some of the other issues(?) that were discussed in the meantime between you and @spormeon - could you clarify a bit if you're seeing something wrong with the sendId flag in native requests?

Additionally @spormeon the setup you tried to use with S2S - is that the setup where you have two adUnits sharing the same adUnitCode but using different mediaTypes? Or is it something else? In either case - could you provide a copy of the adUnit setup so I can review? You can use https://jsfiddle.net/ if you can't provide a hosted test page for us to share the prebid adUnit code.

As a minor helpful note - If you want to paste code in github comments you can use 3 back-ticks (```) above and below your code snippet to make a proper code block. This will preserve the code in the comment when you paste it (and ensure all of it will get included).

@stale
Copy link

stale bot commented Aug 28, 2019

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

@stale stale bot added the stale label Aug 28, 2019
@stale stale bot closed this as completed Sep 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants