{"_id":"5a7b6273c5400800129f8992","project":"5429beef1163360800ed31fa","version":{"_id":"5429beef1163360800ed31fd","__v":22,"project":"5429beef1163360800ed31fa","createdAt":"2014-09-29T20:19:59.904Z","releaseDate":"2014-09-29T20:19:59.904Z","categories":["5429beef1163360800ed31fe","55e74e1f5d36b32b002563fa","55e7500a73169617001f2e86","55e76b8196131b2f00bf4b72","55e89569cdbb8a350096df9c","55f8935eb089b71700a8364e","55f8a67d3bb4bb0d0022d093","55f9dbefc7ef770d00d9bf6d","5601c21a22ecf60d002b27b3","5601c21ff12aee0d001bb06e","5601c2256c7b610d00280db5","5601c22c22ecf60d002b27b4","5603738d0c78b00d0039af47","5626f70bfcbbc621004ebf52","566f7a1ae144ab0d00e9732f","566f85ca7820960d00c3b93d","56708ce43a32d20d00c45cbf","56708d436995210d003aad8e","5736471abe10a9200030732c","57a82c7aff9bd30e00a6f1c1","591b8500e3992319007190f4","5a3718305c66a60012d960ba"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"category":{"_id":"55f9dbefc7ef770d00d9bf6d","version":"5429beef1163360800ed31fd","__v":6,"pages":["55f9eec4c7ef770d00d9bf83","55f9fb8daba81f0d00a11566","5601ca6870694e0d00e3c66f","5601cb9b96e0f70d0044b0fd","56157d7af2d81d0d006c895f","5671d738c17bf90d00b95822"],"project":"5429beef1163360800ed31fa","sync":{"url":"","isSync":false},"reference":true,"createdAt":"2015-09-16T21:15:27.664Z","from_sync":false,"order":4,"slug":"publisher-ui-setup","title":"Trafficking and Inventory"},"user":"5625457f23053b2300f596c9","githubsync":"","__v":0,"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2018-02-07T20:32:51.960Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":true,"order":27,"body":"[block:api-header]\n{\n  \"title\": \"Open Programmatic Exchange\"\n}\n[/block]\nBefore we dive into PMP (Private Marketplace) setup through programmatic exchange, let's first understand how programmatic exchange works in Polymorph. \n\nWhenever Polymorph receives an ad request from an inventory which is enabled for programmatic demand, Polymorph will fan out a bid request per SSP or DSP. If it's an SSP such as AppNexus or Rubicon, they will again fan out that bid request to the DSPs they are integrated with. SSP will collect all the bid responses from every DSP who chooses to bid on that inventory and conduct an auction at their end and forward the bid response of the winner to Polymorph. Similarly, Polymorph will collect all bid responses from SSPs and DSPs and conducts an unified auction between all demand including your direct campaigns and ad network integrations. Assuming there is only programmatic demand competing for that impression, Polymorph will choose the highest bidder as winner and return that as a response to the publisher.\n\nIn Polymorph, all programmatic demand competes at priority 10. If let's say publisher also wants to run a direct campaign, in this case they can choose how that direct campaign will compete with rest of the programmatic demand. If they set the priority at 10 for the direct campaign, then direct campaign will compete on price with other programmatic demand. It will only win if its price is highest in auction. If the priority of the direct campaign is set to priority higher than 10 (at number 9 or lower, 1-9), then it will win the auction over programmatic demand regardless of its price or compete with the other direct campaign set at that value. If the priority is lower than 10 (at number 10 or higher, 11-12), then it will win the auction if there are no bid responses from any of the programmatic demand or compete with the other direct campaign set at that value.\n\nIn an Open Exchange any ad request that comes to Polymorph will typically be fanned out to all SSPs and DSPs integrated with Polymorph, of course this can vary based on your setup.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/4e3bfed-Screen_Shot_2018-02-07_at_12.45.08_PM.png\",\n        \"Screen Shot 2018-02-07 at 12.45.08 PM.png\",\n        1444,\n        946,\n        \"#05a4fb\"\n      ]\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"What is a PMP (Private Marketplace) Deal?\"\n}\n[/block]\nAs you learnt above in an Open Exchange any bidder or an advertiser is typically allowed to bid on the impression as long as they meet certain ad quality standards, but sometimes a Publisher may want to strike a special deal with a certain advertiser. A deal, which they may have agreed offline with the advertiser. Typically with this deal publisher is looking to give advertisers special privileges such as bidding with a fixed price and promising a win, or promising an impression regardless of the bid price, or special bid floor on the impressions, etc. These terms can vary deal to deal. \n\nNow to allow for these special terms or a deal, publisher needs to setup a 'PMP Campaign' under Polymorph and also in corresponding SSP, if applicable, to configure all agreed up terms such as the bid floor, agreed bid price and priority it needs to compete at, and most importantly a Deal ID. A Deal ID is an alphanumeric unique token which is shared between advertiser and publisher. This Deal ID helps advertisers identify the inventory or impressions eligible for the special deal they already agreed offline. Polymorph, respective SSP and DSP all need to be configured with the same Deal ID and a demand partner will only bid on the impression which has that Deal ID present in the bid request.\n\nFor details on how to setup a PMP campaign in Polymorph, please read this - https://dev.getpolymorph.com/docs/setup-pmp-campaign\n[block:api-header]\n{\n  \"title\": \"PMP in Programmatic Exchange\"\n}\n[/block]\nWhen a PMP campaign is setup with a deal ID in Polymorph for a particular targeting, Polymorph will send two bid requests to the corresponding SSP or DSP - one bid request for open exchange which it usually does, as discussed above and that SSP or DSP is eligible to bid with any advertiser on that bid and second with bid request with the configured Deal ID, in which case SSP or DSP is only eligible to bid with the advertiser that has the Deal ID campaign. In below diagram, it shows an example with AppNexus with two different bid requests. One for open exchange which it broadcasts to all DSPs and other with Deal ID, which it broadcasts only DSP which is eligible and setup in targeting inside AppNexus console. If that DSP 1 responds with Deal ID: ABC123 campaign, AppNexus will forward that back to Polymorph to be part of Unified Auction. The auction depends on the priority, you've configured in Polymorph console for that Deal ID, as discussed above. If the priority is higher than 10 (1-9), then it will get preference over any other open exchange bids, but if the SSP or DSP doesn't bid with the Deal ID campaign then Polymorph will fallback to open exchange bid. This way Polymorph ensures that, there is no impression wasted even if DSP chooses to not bid on the inventory with the Deal ID.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/cc0feae-Screen_Shot_2018-02-07_at_3.49.46_PM.png\",\n        \"Screen Shot 2018-02-07 at 3.49.46 PM.png\",\n        1440,\n        1030,\n        \"#05a4fb\"\n      ]\n    }\n  ]\n}\n[/block]","excerpt":"","slug":"understanding-pmp-in-polymorph","type":"basic","title":"Understanding PMP in Polymorph"}

Understanding PMP in Polymorph


[block:api-header] { "title": "Open Programmatic Exchange" } [/block] Before we dive into PMP (Private Marketplace) setup through programmatic exchange, let's first understand how programmatic exchange works in Polymorph. Whenever Polymorph receives an ad request from an inventory which is enabled for programmatic demand, Polymorph will fan out a bid request per SSP or DSP. If it's an SSP such as AppNexus or Rubicon, they will again fan out that bid request to the DSPs they are integrated with. SSP will collect all the bid responses from every DSP who chooses to bid on that inventory and conduct an auction at their end and forward the bid response of the winner to Polymorph. Similarly, Polymorph will collect all bid responses from SSPs and DSPs and conducts an unified auction between all demand including your direct campaigns and ad network integrations. Assuming there is only programmatic demand competing for that impression, Polymorph will choose the highest bidder as winner and return that as a response to the publisher. In Polymorph, all programmatic demand competes at priority 10. If let's say publisher also wants to run a direct campaign, in this case they can choose how that direct campaign will compete with rest of the programmatic demand. If they set the priority at 10 for the direct campaign, then direct campaign will compete on price with other programmatic demand. It will only win if its price is highest in auction. If the priority of the direct campaign is set to priority higher than 10 (at number 9 or lower, 1-9), then it will win the auction over programmatic demand regardless of its price or compete with the other direct campaign set at that value. If the priority is lower than 10 (at number 10 or higher, 11-12), then it will win the auction if there are no bid responses from any of the programmatic demand or compete with the other direct campaign set at that value. In an Open Exchange any ad request that comes to Polymorph will typically be fanned out to all SSPs and DSPs integrated with Polymorph, of course this can vary based on your setup. [block:image] { "images": [ { "image": [ "https://files.readme.io/4e3bfed-Screen_Shot_2018-02-07_at_12.45.08_PM.png", "Screen Shot 2018-02-07 at 12.45.08 PM.png", 1444, 946, "#05a4fb" ] } ] } [/block] [block:api-header] { "title": "What is a PMP (Private Marketplace) Deal?" } [/block] As you learnt above in an Open Exchange any bidder or an advertiser is typically allowed to bid on the impression as long as they meet certain ad quality standards, but sometimes a Publisher may want to strike a special deal with a certain advertiser. A deal, which they may have agreed offline with the advertiser. Typically with this deal publisher is looking to give advertisers special privileges such as bidding with a fixed price and promising a win, or promising an impression regardless of the bid price, or special bid floor on the impressions, etc. These terms can vary deal to deal. Now to allow for these special terms or a deal, publisher needs to setup a 'PMP Campaign' under Polymorph and also in corresponding SSP, if applicable, to configure all agreed up terms such as the bid floor, agreed bid price and priority it needs to compete at, and most importantly a Deal ID. A Deal ID is an alphanumeric unique token which is shared between advertiser and publisher. This Deal ID helps advertisers identify the inventory or impressions eligible for the special deal they already agreed offline. Polymorph, respective SSP and DSP all need to be configured with the same Deal ID and a demand partner will only bid on the impression which has that Deal ID present in the bid request. For details on how to setup a PMP campaign in Polymorph, please read this - https://dev.getpolymorph.com/docs/setup-pmp-campaign [block:api-header] { "title": "PMP in Programmatic Exchange" } [/block] When a PMP campaign is setup with a deal ID in Polymorph for a particular targeting, Polymorph will send two bid requests to the corresponding SSP or DSP - one bid request for open exchange which it usually does, as discussed above and that SSP or DSP is eligible to bid with any advertiser on that bid and second with bid request with the configured Deal ID, in which case SSP or DSP is only eligible to bid with the advertiser that has the Deal ID campaign. In below diagram, it shows an example with AppNexus with two different bid requests. One for open exchange which it broadcasts to all DSPs and other with Deal ID, which it broadcasts only DSP which is eligible and setup in targeting inside AppNexus console. If that DSP 1 responds with Deal ID: ABC123 campaign, AppNexus will forward that back to Polymorph to be part of Unified Auction. The auction depends on the priority, you've configured in Polymorph console for that Deal ID, as discussed above. If the priority is higher than 10 (1-9), then it will get preference over any other open exchange bids, but if the SSP or DSP doesn't bid with the Deal ID campaign then Polymorph will fallback to open exchange bid. This way Polymorph ensures that, there is no impression wasted even if DSP chooses to not bid on the inventory with the Deal ID. [block:image] { "images": [ { "image": [ "https://files.readme.io/cc0feae-Screen_Shot_2018-02-07_at_3.49.46_PM.png", "Screen Shot 2018-02-07 at 3.49.46 PM.png", 1440, 1030, "#05a4fb" ] } ] } [/block]