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

Adding appnexus debug via cookie/params #3152

Merged
merged 4 commits into from
Oct 9, 2018

Conversation

aneuway2
Copy link
Contributor

@aneuway2 aneuway2 commented Oct 3, 2018

Type of change

  • Feature

Description of change

The following feature enhancement adds in the ability for a publisher or developer to request an AppNexus AST debug auction in the response back from AppNexus alongside any bids.

This feature can be enabled by either of the following two methods along with the pbjs_debug=true query string parameter.

  1. By adding a debug object in parallel to the bids requested:
{
  bidder: 'appnexus',
  params: {
    placementId: 123456789
  },
  debug: {
    enabled: true,
    dongle: 'QWERTY',
    member_id: 958,
    debug_timeout: 3000
  }
}
  1. By setting an apn_prebid_debug cookie with a JSON string:
{ "enabled": true, "dongle": "QWERTY", "debug_timeout": 1000, "member_id": 958 }

When both of the above are enabled, settings from the browser cookie will prevail.

There also is no guarantee that the prebid debug may not freeze the browser (e.g in the case where gigabytes of data are returned) but this should be okay since this enables further debug information for developers only.

For more information on how to read the debug auction results, please see https://wiki.appnexus.com/display/console/Debug+Auction+Glossary

Sample Console Log:

Running member 958 debug using no permissions
Impbus 4280.bm-impbus.prod.nym2:8001
	Header Referer: http://example.com?pbjs_debug=true&ast_debug=true&ast_dongle=sss
	Site Domain: example.com
1772142023491463321 - Predicted engagement_rate_id: 2 (view) imps 54.87%
1772142023491463321 - Predicted engagement_rate_id: 3 (view_over_total) imps 51.57%
1772142023491463321 - Predicted engagement_rate_id: 8 (predicted_100pv1s_display_view_rate) imps 47.06%

@aneuway2 aneuway2 mentioned this pull request Oct 3, 2018
1 task
@mkendall07
Copy link
Member

This pull request introduces 1 alert when merging d633c7b into e7ad006 - view on LGTM.com

new alerts:

  • 1 for Useless conditional

Comment posted by LGTM.com

@jsnellbaker jsnellbaker self-assigned this Oct 3, 2018
@jsnellbaker jsnellbaker self-requested a review October 3, 2018 14:07
Copy link
Collaborator

@jsnellbaker jsnellbaker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @aneuway2 Thanks for putting this together.

There are a few things that should be reviewed (see in-line comments below).

As a usage question, if someone misconfigured one of the variables such that it would only pass 3 of the 4 accepted values - do you still want to pass the debug property to the request object with the partial set? Or do you only want to pass the debug property when all 4 are present? At the moment, it seems you would do the former.

I'm not familiar with the field's requirements on the impbus end - so I wanted to clarify it here and see if that would be an issue we should prevent via the logic you put together.

Also what docs changes are you thinking for this addition?

modules/appnexusBidAdapter.js Outdated Show resolved Hide resolved
modules/appnexusBidAdapter.js Show resolved Hide resolved
@aneuway2
Copy link
Contributor Author

aneuway2 commented Oct 3, 2018

@jsnellbaker - made changes to make that more straightforward.

if someone misconfigured one of the variables

This should be okay. The debug auction will still be returned as long as enabled=true. I did add a check to make sure this was true

what docs changes are you thinking for this addition

I was planning on adding this as a separate section at the bottom of the readme on prebid.org with pretty much the same language as what is in this PR description

@mkendall07
Copy link
Member

This pull request introduces 1 alert when merging d51c898 into c2847ab - view on LGTM.com

new alerts:

  • 1 for Useless conditional

Comment posted by LGTM.com

@mkendall07
Copy link
Member

This pull request introduces 1 alert when merging d51c898 into 3ba867a - view on LGTM.com

new alerts:

  • 1 for Useless conditional

Comment posted by LGTM.com

@jsnellbaker
Copy link
Collaborator

@aneuway2 Thanks for making the changes to the code; it looks much better now. Would you be able to quickly address the LGTM warning/alert?

Also, did you get the chance to put together the docs PR? Once that's made/linked here, we should be good to merge.

modules/appnexusBidAdapter.js Outdated Show resolved Hide resolved
@aneuway2
Copy link
Contributor Author

aneuway2 commented Oct 9, 2018

Added docs PR @jsnellbaker 👍

@jsnellbaker jsnellbaker merged commit 4797ea2 into prebid:master Oct 9, 2018
@aneuway2 aneuway2 deleted the appnexus-debug branch October 9, 2018 15:43
mkendall07 added a commit that referenced this pull request Oct 9, 2018
jsnellbaker pushed a commit that referenced this pull request Oct 9, 2018
* Revert "Small bugfix and cleanup for Prebid Server OpenRTB code (#3113)"

This reverts commit a1f07e9.

* Revert "Added support for user syncing pixel (#3092)"

This reverts commit 8fdf61d.

* Revert "Add RSA validation to Criteo FastBid (#3110)"

This reverts commit e72e2dc.

* Revert "Adding appnexus debug via cookie/params (#3152)"

This reverts commit 4797ea2.
@aneuway2 aneuway2 restored the appnexus-debug branch October 9, 2018 20:50
AlessandroDG pushed a commit to simplaex/Prebid.js that referenced this pull request Oct 17, 2018
* Make size mapping mediaType aware (prebid#3134)

* make sizeMapping mediaTypes aware

* no sizeMapping if the only mediaType is not banner

* better logging for size mapping and no auction when no bids

* fix size mapping tests to ignore filter results (which are only for logging)

* Making targeting keys configurable (prebid#3140)

* moved NATIVE_KEYS to constants

* Changed TARGETING_KEYS from array to an array

- Now you can change key names
- Made changes in code at auction.js and targeting.js to handle the TARGETING_KEYS object than array

* fixed aauctionmanager test cases for dynamic targeting key names

* fixed native test cases for dynamic targeting key names

* fixed test cases of targeting for dynamic targeting key names

* in-dev changes

* replace old keys with new keys

* fixed a typo

* fixed a unit case in utils

* updated convertTargetingsFromOldToNew in fixtures

this will now replace partner specific keys as well as per config

* removed a log

* keep test case as it was

* improved convertTargetingsFromOldToNew in fixtures

* Capitalized key names in TARGETING_KEYS object; not values in object

* using computed properties

* using computed properties

* fixed eslint suggestion

* fixed eslint suggestions

* keeping unit tests more compliant with Mocha

* 4235 prebid endpoint return empty array instead of 204 when no bids returned (prebid#3136)

* corrected user sync type

* add alias pxyz
add version to endpoint
add validation for 204 bid response

* add validation with serverResponse is undefined
fix test for 204 (no bid response)

* remove package lock

* restore package-lock

* update gulp 4 notes on README (prebid#3154)

* Add teads bidder adapter (prebid#3135)

* Add teads bidder adapter

* Remove bidder code & tests arrow functions

* Added the option to pass a deal id instead of a partnership id (prebid#3148)

* increment Prebid version

* Prebid 1.26.0 release

* increment prebid version

* implement find polyfill in unit test (prebid#3156)

* InvibesBidAdapter - gdpr support (prebid#3151)

* removed `cookieSyncDelay` from `config` since we have more configuration options now with the `userSync` object (prebid#3142)

* Livewrapped bid and analytics adapter (prebid#3157)

* Livewrapped bid and analytics adapter

* Fixed some tests for browser compatibility

* Fixed some tests for browser compatibility

* Changed analytics adapter code name

* Fix double quote in debug message

* Adding appnexus debug via cookie/params (prebid#3152)

* adding appnexus debug via cookie/params

* removing nested object

* added documentation link and removed useless conditional

* fix lint error on documentation message

* Add RSA validation to Criteo FastBid (prebid#3110)

* Pass Prebid version to Criteo direct bidder

* Update Criteo profile IDs

* Add RSA verification to Criteo FastBid

* Update package-lock with jsencrypt and crypto-js

* Replacing all arrow functions in Mocha function calls

* Update Adapter Version to 14

* Added support for user syncing pixel (prebid#3092)

* Added Polymorph adapter

* Cleaned up code

* Updated var to let

* Updated with mediaType

* Updated tests

* Fixed tests

* Updated polymorph adapter to support cookie syncing and network key integration

* Fixed parens for lint

* Fixed a bug related to network_key approach

* Fixed double negation warning

* Updated tests for network_key

* Added bidId as cache buster and updated tests

* Fixed tests

* Small bugfix and cleanup for Prebid Server OpenRTB code (prebid#3113)

* change bid map to bid_id map and clean up openrtb in pbs

* add src to bids in bid request when known

* Revert "Adding appnexus debug via cookie/params" (prebid#3164)

* Revert "Small bugfix and cleanup for Prebid Server OpenRTB code (prebid#3113)"

This reverts commit a1f07e9.

* Revert "Added support for user syncing pixel (prebid#3092)"

This reverts commit 8fdf61d.

* Revert "Add RSA validation to Criteo FastBid (prebid#3110)"

This reverts commit e72e2dc.

* Revert "Adding appnexus debug via cookie/params (prebid#3152)"

This reverts commit 4797ea2.

* add bid ttl to cache call (prebid#3163)

* Render outstream safeframe  (prebid#3159)

* render outstream safeframe

* move code to Renderer module

* some more logic to move

* Prebid 1.27.0 Release

* increment Prebid version

* rubiconBidAdapter - Checking FPD values are defined before toString() (prebid#3165)

* rubiconBidAdapter - Checking FPD values are defined before toString()
                  - Added two tests for this behavior

* Removing unused variable

* changed to compare against null

added some null params to the tests to verify

* Adding mediaType param to parseSizes in order to ALWAYS get the correct parse Size method correct. (prebid#3166)

* PubMatic to support DigiTrust Id passing (prebid#3160)

* in-dev changes

* included config

* Unit test cases for DigitrustId passing in PubMatic bid adapter

* eslint fixes

* removed a comment

* replaced "() => {" with "() => {"

* OpenX Adapter: Added support for pubcid (prebid#3158)

* use version replace rather than package.json in widespace (prebid#3143)

* Trafficroots Resubmit (prebid#3141)

circleci is still failing, but I cannot find a workaround for this PR at the moment

* Rubicon skip video request in mutlti format when video is not setup (prebid#3167)

* Update rubiconBidAdapter.js

* OpenXOutstream Bid Adapter (prebid#3153)

* adds openxoutstreamadapter files

* cleans up url, adds bidder config and version, removes unused code

* updates template ad response

* remove final unused custom param code

* add openrtb to list of params again.

* add payload back so we can read bidId

* extra checks for cpm (pub_rev)

* adds unit tests

* adds unit tests

* update md page

* undo openx adapter space changes from autosave

* undo openx adapter space changes from autosave

* test cleanup

* test cleanup

* update md file

* update example page params

* remove sneaky console.log

* return false

* adds yieldmo to the md. remove useless docEl assignment

* remove useless docEl assignments

* move crid and adid to constants

* fix test

* remove another useless variable assignment caught by LGTM

* changes CR_ID. moves tdoc to within if scope

* updates crid on test

* use more constants and use crid for lfid

* remove superfluous trailing argument

* adds viewport meta tag to header. removes unnecessary string interpolation.

* move ad_id to a string

* undo changes for pacakge-lock

* fixes lfid to lfId, pID to pId

* fixes lfid to lfId, pID to pId

* remove rti:1

* adds openx maintainer email

* improves additional data passed to the handler in AuctionInit and AuctionEnd events (prebid#3168)

* removing cookieSet (prebid#3175)

* removing cookieSet

* removing blank line

* not including src/cookie anymore

* Removed deprecated priceType option (+tests) (prebid#3170)

* Improve Digital adapter: set dealID based on buying type (prebid#3182)

* Adding GDPR support

* Always drop user syncs when available

* Set dealID based on buying type

* disabling tests that are failing in safari (prebid#3186)

* Prebid 1.28.0 Release

* Increment pre version

* RVR-1124 Setup initial skeleton analytics adapter that can send something.

Approved-by: Alessandro Di Giovanni <alessandro.digiovanni@gamegenetics.de>

* Formatted auction/events data to fit needed schema.

* RVR-1135 fetched device data.

* Applied feedback.

* Applied feedback.

* Fetched core.

* Added click handler for reporting banners click events.

* Applied analyzer for reporting displayed impressions.

* Applied feedback.

* Merged in RVR-1214-invoke-handlers-on-rendering (pull request #7)

RVR-1214 Invoke handlers on rendering

* RVR-1214 Invoked handlers right after ad is displayed.

* Applied feedback.

Approved-by: Alessandro Di Giovanni <alessandro.digiovanni@gamegenetics.de>

* Merged in RVR-1192-configuration-global-parameters (pull request #8)

RVR-1192 Configuration/Global parameters

Approved-by: Alessandro Di Giovanni <alessandro.digiovanni@gamegenetics.de>

* Merged in RVR-1181-Prebid-js-unit-tests-setup (pull request #6)

RVR-1181 Prebid.js Unit tests setup

Approved-by: Alessandro Di Giovanni <alessandro.digiovanni@gamegenetics.de>

* Merged in RVR-1247-additional-data-to-impression-records (pull request #9)

RVR-1247 Additional data to impression records

Approved-by: Alessandro Di Giovanni <alessandro.digiovanni@gamegenetics.de>

* Merged in RVR-1249-add-requestedbids-to-auction (pull request #10)

RVR-1249 Add requested bids to auction object request.

Approved-by: Alessandro Di Giovanni <alessandro.digiovanni@gamegenetics.de>

* Merged in RVR-1261-fix-tests (pull request prebid#11)

RVR-1261 fix tests

* RVR-1261 Secured adapter from no containers configuration. And changed fetching URL.

* RVR-1261 Added event check for request and changed some names.

* Applied feedback.

Approved-by: Alessandro Di Giovanni <alessandro.digiovanni@gamegenetics.de>

* RVR-1352 analytics adapter bugs

Approved-by: Alessandro Di Giovanni <alessandro.digiovanni@gamegenetics.de>

* Fixed bug with geolocation notification.

* fixed missing bracket.

* one more fix.

* RVR-1357 Different optimisation responses & tracking into auction event

* RVR-1852 - Add content type and hardcoded auth headers

(cherry picked from commit 4def881)

* RVR-1852 - Change tracker host

* RVR-1852 - Override content type instead of adding header

* districtmDMX new adapter (prebid#2765)

* adding DMX

test @97%, two files added one updated

* Update districtm_spec.js

* Update districtmDMX.js

* adding all districtm needed file

* remove legacy file

* remove typo || 0 in the test method

* force default to return a valid width and height

* update unit test code for failing test

* changed class for an object

* remove package-lock.json

* upgrade to gulp 4 (prebid#2930)

* upgrade to gulp 4

* update circleci config

* removed some tasks and added notest flag

* update lint dependency for test task

* RVR-1914 Consistent data types in events

Also removes undefined and null properties in audience events

* Merged in RVR-1883-Add-Basic-Access-Authentication (pull request prebid#17)

RVR-1883 Add Basic Access Authentication

* RVR-1914 - Rename functions

* RVR-1914 - Set default total_duration to null in bid response

* RVR-1883 - Use RIVR_CLIENT_AUTH_TOKEN global variable for Auth token

* RVR-1883 - Restore stub after every test not just at the end

* RVR-1883 - Remove commented code

* Increase code coverage

* Fix for IE 11.0.0 and Safari 8.0.8 - includes()

Use core-js includes function for array
idettman pushed a commit to rubicon-project/Prebid.js that referenced this pull request Nov 14, 2018
* Revert "Small bugfix and cleanup for Prebid Server OpenRTB code (prebid#3113)"

This reverts commit a1f07e9.

* Revert "Added support for user syncing pixel (prebid#3092)"

This reverts commit 8fdf61d.

* Revert "Add RSA validation to Criteo FastBid (prebid#3110)"

This reverts commit e72e2dc.

* Revert "Adding appnexus debug via cookie/params (prebid#3152)"

This reverts commit 4797ea2.
ghost pushed a commit to devunrulymedia/Prebid.js that referenced this pull request Jan 30, 2019
* adding appnexus debug via cookie/params

* removing nested object

* added documentation link and removed useless conditional

* fix lint error on documentation message
ghost pushed a commit to devunrulymedia/Prebid.js that referenced this pull request Jan 30, 2019
* Revert "Small bugfix and cleanup for Prebid Server OpenRTB code (prebid#3113)"

This reverts commit a1f07e9.

* Revert "Added support for user syncing pixel (prebid#3092)"

This reverts commit 8fdf61d.

* Revert "Add RSA validation to Criteo FastBid (prebid#3110)"

This reverts commit e72e2dc.

* Revert "Adding appnexus debug via cookie/params (prebid#3152)"

This reverts commit 4797ea2.
pedrolopezmrf pushed a commit to Marfeel/Prebid.js that referenced this pull request Mar 18, 2019
* adding appnexus debug via cookie/params

* removing nested object

* added documentation link and removed useless conditional

* fix lint error on documentation message
pedrolopezmrf pushed a commit to Marfeel/Prebid.js that referenced this pull request Mar 18, 2019
* Revert "Small bugfix and cleanup for Prebid Server OpenRTB code (prebid#3113)"

This reverts commit a1f07e9.

* Revert "Added support for user syncing pixel (prebid#3092)"

This reverts commit 8fdf61d.

* Revert "Add RSA validation to Criteo FastBid (prebid#3110)"

This reverts commit e72e2dc.

* Revert "Adding appnexus debug via cookie/params (prebid#3152)"

This reverts commit 4797ea2.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants