Closed matthieularere-msq closed 2 years ago
I do not see a screenshot in the OP - it would help to get an example of a bid you believe should not have been rejected together with your prebid configuration.
Trying on that website I saw this - does it qualify?
in that particular case the cpmAfterAdjustments
is below the 0.25 floor. You have some adjustment logic but from my end it's not obvious how it works:
You should be able to set floors on unadjusted CPMs with the enforcement.bidAdjustment
config option for the priceFloors module.
Starting to look into and work on this ticket today
Hi @dgirardi indeed that an example of rejected bids I see and where I don't understand why they are considering their cpm is higher than the floor value.
@matthieularere-msq because the CPM is being adjusted lower by your (or your colleagues') bidderSettings.standard.bidCpmAdjustment
.
Should the cpm
value already reflect the cpm after adjustment in contrast with originalCpm
?
Indeed it should - and I missed that - it looks like it may be adjusted twice. Looking into this.
So, there are some quirks that make it confusing - but I believe the likely explanation is still that bidCpmAdjustment
is the cause. To confirm it would help to capture network activity and check what the actual original CPM is for one of these bids.
The logic works like this: when a bid comes back from the backend, first it's passed through the currency module (priority 100), then the floors module (priority 50). At the end, just before it gets finally added to the auction, bidCpmAdjustment
runs.
I believe what happens is:
cpm
from USD to EUR and also sets originalCpm
;bidCpmAdjustment
(because the "real" run has not happened yet), compares it to the floor and sees that it's lower, so it rejects the bid;So the cpm
and originalCpm
you see logged are those set after currency conversion, but before CPM adjustment.
I'll see if I can get another one of those bids from the website in the OP to conclusively say this is the case - if it is, I don't think it's great, but I'm not sure how to "fix" it - my instinct is that a single originalCpm
does not work well with multiple adjustment steps, but it's going to be hard to redesign.
@robertrmartinez could you weigh in? Do you think this can be addressed straightforwardly?
Here's the confirmation - this is a problem about the meaning of cpm
/ originalCpm
rather than price floors.
This bid:
Corresponds to this response from Adagio:
{
"id": "904981a1-3fc3-43de-8e93-33dfe418d28b",
"bids": [
{
"requestId": "20dcc4233181c8e",
"creativeId": "392890663",
"cpm": 1.25314785,
"currency": "USD",
"ad": "\u003cimg width=\"0\" height=\"0\" border=\"0\" alt=\"\" style=\"display: none;\" src=\"https://c.4dex.io/bimp.gif?adu_code=pegasus_placeholder_banner_atf\u0026auction_id=a41fe775-0f14-4ed9-91db-94a53355f95e\u0026bid_id=6C283AA1-5EE3-4B9C-806F-E76ADA036EDA\u0026bidder=pubmatic\u0026breq_id=894eb09c-5ace-4c0a-a01a-4f4480e19658\u0026browser=chrome\u0026buid=1\u0026buids=3310\u0026category=\u0026cpm=1.46567\u0026crea_id=392890663\u0026ctry=USA\u0026curr=USD\u0026deal_id=\u0026dvc=2\u0026environment=desktop\u0026h=250\u0026lzy=0\u0026mt=ban\u0026net_cpm=1.25314785\u0026org_id=1110\u0026os=linux\u0026partid=2022061714\u0026pgtyp=\u0026plcmt=banner_atf\u0026pn=1\u0026pub_id=10308\u0026pv_id=38e96607-9b56-4a86-9c4c-9f88d5ea87e9\u0026rpmadc_smpl=1\u0026rule_id=1145\u0026seattyp=shared\u0026site=marmiton-org\u0026sspv=4.3.0-gcp-las\u0026subcategory=\u0026tiv=16\u0026url=https%3A%2F%2Fwww.marmiton.org%2F%3Fpbjs_debug%3Dtrue\u0026vr=0.5\u0026w=970\" /\u003e\u003cspan class=\"PubAPIAd\" id=\"6C283AA1-5EE3-4B9C-806F-E76ADA036EDA\"\u003e\u003cDIV STYLE=\"position: absolute; left: 0px; top: 0px; visibility: hidden;\"\u003e\u003cIMG SRC=\"https://pagead2.googlesyndication.com/pagead/gen_204?id=xbid\u0026dbm_b=AKAmf-DvhS_G_cw3L_y0kvPmBJ7q8w-d326rIXZhYlw95LZAEGmJ9f08qL5pSZOIIoXv-bW8bji4eKJS2gaQfVW1wvJa8qw0svwzlIvqbRPBbGPrE6R7OvM\" BORDER=0 WIDTH=1 HEIGHT=1 ALT=\"\" STYLE=\"display:none\"\u003e\u003c/DIV\u003e\u003ciframe title=\"Blank\" src=\"https://googleads.g.doubleclick.net/xbbe/pixel?d=CM3knwEQgOefARinkqy7ATAB\u0026v=APEucNWgCv17xVKIZHVt68HxJyYuL_z_PGwhqLHDGxOVOQA2BTV9I-ZyDtdqs1aszIOYiAKf59BXPY9HsCQbeBoZiAak7siVoF5r1HHT8WFDMNxvQ7DAMdHB437HNIbIC6HesvQvYX_kCq4gimj0djK-9k-HnRLOaZgqA2HvL6oBrERYB83XA78h8q6B_bgcqsgsyPuVeLZx8No2ke9417wphk3rbBKgLWyt5DLwz_hfbNQ8EXNeBos_HoaH3Tok3nAg67c6jsyNv-_GeauLtJjX37yIkj5WKJX7FYuspcPwtMiYqvCi_S1I5flDedTVG-gnqXkcvOUVN8uaP2VvZXy56iwfdj6MW-XKhKd7O6JC5v4xqyKMJJhteNic2_VyDk1cVC-w70VQ60iyghm8gTta2i6iuhfZUbA7-AZ7t1SQ9BuO69VWhm5OTQzD9PumBXnRbWGLqaBydp-j_YxPg0VbRC96xVDKNQY2wL8t-3XA6HlcF2bFuaIM8rlBnUKxum47aMir17y_z2aywrPx_2Z8tRxBIOv6CzXOQ9mZVNRtI3vnglJPrvFj_eTyiGGIuj6qqTBVF1P92R5pV5n2u7ZAARWGIOtoBVMsWmMEl862RSEp83JeieGYUkkHBK6NKIySSi-bCi4uTNyzrg0vO2Y6EaLuJ0Kf9NArbpWmZtqwpPSDTKw5b3asYa1a57Ve3RKbwTvXjoybdV5FeV6OwnwlPBmydKy44NHEjErdTP_1QzDRZtcKLBwg3Y23g8qf3GoiM0g24mzKpsP7BHeSy4wdW0P3GM8g5KRQ3mlcl5EHZth_4E8eJZpSYK0DnJ893VFmv2qPqLou_r_x0EA8gWI3FB-s59tfTmeVMr2fTRAHDmDTHeD3_AXeKcIwNQwk4X41GxKn106zDFjIlUTvgJPXh3TJ7K1sqMSUtuBPdStPGWoKxRRKOqaw6uBtCi95znnhtgwZLL1yR7mWSHw8jJIre72Wz-1oSMfeWTcY83fhLnU7lHr89Yc_oV_Kgww_CMXhVC-8s4faiVoqXPspBUY9zGmrS9ygSvXvjnWRVQ7nPv0NYzktogzZ0G4Z4Po9Z5HX4zi191HC3_1fMaQecRPD-GXHY8CX3NU5NJvB5s98S3T4o4btky8\" style=\"display:none\" aria-hidden=\"true\"\u003e\u003c/iframe\u003e\u003cdiv\u003e\u003cdiv style=\"position:relative; display:block;\"\u003e\u003cdiv class=\"GoogleActiveViewClass\" id=\"DfaVisibilityIdentifier_2355884792\"\u003e\u003cscript data-jc=\"75\" data-jc-version=\"r20220615\" data-jc-flags=\"[\u0026quot;x%278442\u0026#39;921378y\u0026quot;]\"\u003e(function(){/* Copyright The Closure Library Authors. SPDX-License-Identifier: Apache-2.0 */ var l=\"function\"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},m;if(\"function\"==typeof Object.setPrototypeOf)m=Object.setPrototypeOf;else{var n;a:{var p={a:!0},q={};try{q.__proto__=p;n=q.a;break a}catch(a){}n=!1}m=n?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+\" is not extensible\");return a}:null}var r=m,t=this||self;var u=new function(a,b){this.key=a;this.defaultValue=void 0===b?0:b;this.valueType=\"number\"}(\"100004\",16E3);/* SPDX-License-Identifier: Apache-2.0 */ var v=Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if(\"string\"===typeof a)return\"string\"!==typeof b||1!=b.length?-1:a.indexOf(b,0);for(var d=0;d\u003ca.length;d++)if(d in a\u0026\u0026a[d]===b)return d;return-1},w=Array.prototype.forEach?function(a,b){Array.prototype.forEach.call(a,b,void 0)}:function(a,b){for(var d=a.length,c=\"string\"===typeof a?a.split(\"\"):a,e=0;e\u003cd;e++)e in c\u0026\u0026b.call(void 0,c[e],e,a)},x=Array.prototype.map?function(a,b){return Array.prototype.map.call(a, b,void 0)}:function(a,b){for(var d=a.length,c=Array(d),e=\"string\"===typeof a?a.split(\"\"):a,f=0;f\u003cd;f++)f in e\u0026\u0026(c[f]=b.call(void 0,e[f],f,a));return c},y=Array.prototype.reduce?function(a,b,d){return Array.prototype.reduce.call(a,b,d)}:function(a,b,d){var c=d;w(a,function(e,f){c=b.call(void 0,c,e,f,a)});return c};function z(a){for(var b=[],d=0;d\u003ca;d++)b[d]=\"\";return b};function A(a){A[\" \"](a);return a}A[\" \"]=function(){};function B(a,b){if(a)for(var d in a)Object.prototype.hasOwnProperty.call(a,d)\u0026\u0026b(a[d],d,a)}var C=/https?:\\/\\/[^\\/]+/;function D(a){return(a=C.exec(a))\u0026\u0026a[0]||\"\"}function E(a){a=void 0===a?document:a;return a.createElement(\"img\")};function F(a,b,d){a.google_image_requests||(a.google_image_requests=[]);var c=E(a.document);if(d){var e=function(){if(d){var f=a.google_image_requests,g=v(f,c);0\u003c=g\u0026\u0026Array.prototype.splice.call(f,g,1)}c.removeEventListener\u0026\u0026c.removeEventListener(\"load\",e,!1);c.removeEventListener\u0026\u0026c.removeEventListener(\"error\",e,!1)};c.addEventListener\u0026\u0026c.addEventListener(\"load\",e,!1);c.addEventListener\u0026\u0026c.addEventListener(\"error\",e,!1)}c.src=b;a.google_image_requests.push(c)};var G=0;function H(a){var b=document.currentScript;return(b=void 0===b?null:b)\u0026\u0026b.getAttribute(\"data-jc\")===String(a)?b:document.querySelector('[data-jc=\"'+a+'\"]')};function I(){J||(J=new K);var a=J.g[u.key];if(\"proto\"===u.valueType){try{var b=JSON.parse(a);if(Array.isArray(b))return b}catch(d){}return u.defaultValue}return typeof a===typeof u.defaultValue?a:u.defaultValue};function K(){this.g={};var a=H(G);a=a\u0026\u0026a.getAttribute(\"data-jc-flags\")||\"\";try{var b=JSON.parse(a)[0];a=\"\";for(var d=0;d\u003cb.length;d++)a+=String.fromCharCode(b.charCodeAt(d)^\"\\u0003\\u0007\\u0003\\u0007\\b\\u0004\\u0004\\u0006\\u0005\\u0003\".charCodeAt(d%10));this.g=JSON.parse(a)}catch(c){}}var J,L=K;function M(){this.g={}}L.prototype=l(M.prototype);L.prototype.constructor=L; if(r)r(L,M);else for(var N in M)if(\"prototype\"!=N)if(Object.defineProperties){var O=Object.getOwnPropertyDescriptor(M,N);O\u0026\u0026Object.defineProperty(L,N,O)}else L[N]=M[N];L.l=M.prototype;var P=RegExp(\"^https?://(\\\\w|-)+\\\\.cdn\\\\.ampproject\\\\.(net|org)(\\\\?|/|$)\");function Q(a){a=a||R();for(var b=new S(t.location.href,!1),d=null,c=a.length-1,e=c;0\u003c=e;--e){var f=a[e];!d\u0026\u0026P.test(f.url)\u0026\u0026(d=f);if(f.url\u0026\u0026!f.h){b=f;break}}e=null;f=a.length\u0026\u0026a[c].url;0!=b.depth\u0026\u0026f\u0026\u0026(e=a[c]);return new T(b,e,d)} function R(){var a=t,b=[],d=null;do{var c=a;try{var e;if(e=!!c\u0026\u0026null!=c.location.href)b:{try{A(c.foo);e=!0;break b}catch(h){}e=!1}var f=e}catch(h){f=!1}if(f){var g=c.location.href;d=c.document\u0026\u0026c.document.referrer||null}else g=d,d=null;b.push(new S(g||\"\"));try{a=c.parent}catch(h){a=null}}while(a\u0026\u0026c!=a);c=0;for(a=b.length-1;c\u003c=a;++c)b[c].depth=a-c;c=t;if(c.location\u0026\u0026c.location.ancestorOrigins\u0026\u0026c.location.ancestorOrigins.length==b.length-1)for(a=1;a\u003cb.length;++a)g=b[a],g.url||(g.url=c.location.ancestorOrigins[a- 1]||\"\",g.h=!0);return b}function T(a,b,d){this.i=a;this.j=b;this.g=d}function S(a,b){this.url=a;this.h=!!b;this.depth=null};function U(a,b,d,c,e){var f=[];B(a,function(g,h){(g=V(g,b,d,c,e))\u0026\u0026f.push(h+\"=\"+g)});return f.join(b)}function V(a,b,d,c,e){if(null==a)return\"\";b=b||\"\u0026\";d=d||\",$\";\"string\"==typeof d\u0026\u0026(d=d.split(\"\"));if(a instanceof Array){if(c=c||0,c\u003cd.length){for(var f=[],g=0;g\u003ca.length;g++)f.push(V(a[g],b,d,c+1,e));return f.join(d[c])}}else if(\"object\"==typeof a)return e=e||0,2\u003ee?encodeURIComponent(U(a,b,d,c,e+1)):\"...\";return encodeURIComponent(String(a))};function W(a,b){this.g=a;this.depth=b}function X(){function a(h,k){return null==h?k:h}var b=R(),d=Math.max(b.length-1,0),c=Q(b);b=c.i;var e=c.j,f=c.g,g=[];f\u0026\u0026g.push(new W([f.url,f.h?2:0],a(f.depth,1)));e\u0026\u0026e!=f\u0026\u0026g.push(new W([e.url,2],0));b.url\u0026\u0026b!=f\u0026\u0026g.push(new W([b.url,0],a(b.depth,d)));c=x(g,function(h,k){return g.slice(0,g.length-k)});!b.url||(f||e)\u0026\u0026b!=f||(e=D(b.url))\u0026\u0026c.push([new W([e,1],a(b.depth,d))]);c.push([]);return x(c,function(h){return Y(d,h)})} function Y(a,b){var d=y(b,function(e,f){return Math.max(e,f.depth)},-1),c=z(d+2);c[0]=a;w(b,function(e){return c[e.depth+1]=e.g});return c}function Z(){var a=X();return x(a,function(b){return V(b)})};G=75; window.rfl=function(a){try{var b=Number(0===(I()||0)?2083:I()),d=Z();d.pop();var c=b-a.length-5;for(b=0;b\u003cd.length;b++){var e=encodeURIComponent(d[b]);if(e.length\u003c=c)return setTimeout(function(){var f=void 0===f?.01:f;if(!(Math.random()\u003ef)){var g=H(75);g=\"https://\"+(g\u0026\u0026\"true\"===g.getAttribute(\"data-jc-rcd\")?\"pagead2.googlesyndication-cn.com\":\"pagead2.googlesyndication.com\")+\"/pagead/gen_204?id=jca\u0026jc=75\u0026version=\";var h=(h=H(75))\u0026\u0026h.getAttribute(\"data-jc-version\")||\"unknown\";f=g+h+\"\u0026sample=\"+f;g=window; var k=void 0===k?!1:k;if(h=g.navigator)h=g.navigator.userAgent,h=/Chrome/.test(h)\u0026\u0026!/Edge/.test(h)?!0:!1;h\u0026\u0026g.navigator.sendBeacon?g.navigator.sendBeacon(f):F(g,f,void 0===k?!1:k)}},0),a+\"\u0026rfl=\"+e}return a}catch(f){}return a};}).call(this);\u003c/script\u003e\u003cscript\u003evar url = 'https://googleads.g.doubleclick.net/dbm/ad?dbm_c=AKAmf-BN_ujQ6A_39NIHNZWs_G-H7YA-HYBptvkN-nhuX3Xjvo733deqpwIjSWe-ALB6NY_f8w9fVj81DqFaziZM0WxuA52ZB4c5Wr9YOoebQ7rBylYIggfoDMU-2nc9RYpwFFcXBwob-sZ51TECenavYH7vAqEnsQ\u0026cry=1\u0026dbm_d=AKAmf-BiaBHYyEhQVzJtsrRFaJvnYMO5CbF5BPj0NvinNIY_OpB9nbMGZdoH_zbxD6mlAgcPpJWrHWPCg1FGzWeif2lkUYMioCT5ydioULidbCHVrSDo7XgqNSvfYhodze6Bgv_DRpAIdttLnl9QdB-8nJDAP7jtrFcgNm2bfvD7PNm8XPpVH2KkOIbIqeVDO51qutrMaXH-HHuwXCE_s5mzHMqYW85Qeg6u9MYs0qvfX-Kz82lI9xCGCGmEtM3zYO3L0s4FAT555n0t4iJJP2_zO0P8Yc3rKQcA_W2cOpewPKU9a7UKzIWdM7xKwGxVY-73JVR1_YSj09E98Kub7IQV-ltYydkBRMZ3DjXG-V5peT9LN11LCpEICuYXKFDqh8PrJUeqaGScK7LXwczDzbv886agfQFxfJJrGg4_TpFxhOwj_Z0HlWrVcRnEmrwufL5DkJ4xTFoiXRcdn-l5oY6xVWdxXUNhuaZrAY9ohJh8eUIW2ROJ3Nr-n5LTNBCuxEwBl3yeMXeTjQacoCu1jjq4gWSo4-xcsav_RUUfWbdgRKw3t2Rxrbp0YmICvUAW_o5NqRz-2NTLt3fk7Wua3Huxo4EbAdWp3vtm_G9_LCODCAntrO0yj7noD-zOHd5YfQbBFLgVvqk78zcWxeLLj5mz5fBjqm87YcRaZxOeHiSSrMYMDJyasCHZOcTl9rvms3Ei1oFRwufbejoKh3JvTSCHiI8MHHo2zoVtWe9eG4yy1Wm-SiVY0mZsdx_S7aj9BIlSjDaQ3ydV9DopdUB1d9f7yphdLcQvFugNBjw9-xc6ajr061qJddr_q5ZOuBlhgEFhbCR-VtQQi_kpfPmWqKbdodprwArlZKG1aW9ePn9IQvzDepwM6UBmuQA8dQzjU5Nt2EoMu38M59cOO2tholrhl43kNEMnTiTrEeytMLajD_Y7sbRDzNkkiZvixKG29WSFU1NlIpD3dlPnbE4-pnZ-IuyjPNFN8iENKK7lYnt1dLfGb8hxUkPwKoN7jB41biWN62BJEUfWaLl5nlslQxTrbZkG9_X5sHRY2o9sjpIux0SHyX9-TkZdKIqyAR-f3NLEK45zh8zlqc3JXXlcmlQs8TV7eeMUOpbuoQBIWrbG9XZacqN-Xsr5encVcz8ElXIcUAjlpzrXBA79_pV7eoXRu_y7qnKoBVO7qWDJ9NXENJSU3EQY9ZEEi5pIaPoYKJSXo7Sg8R5QRxXDHEclukB-p-acOAbb3b1g3ax3Oo-nsrQz2SFlPBdFsb-N-hmeQIfal_T8DuDX1cvnkEBbre8C64y7IAsMbAHXEBheDh8DMbY95H2Cne1vOPOsJ4oIiQCIPy_YCH70dUvugHtNaN3usxDMpR8d5L63ZXI0Q3XGgVXzgsRFXQ5f3aK-bKt_KLT6mHZxk6Sb9IsHh4tZGRipUGLIBvzeEIAelaxMkOjN1TnNo3JZHuh-4GrUCyPwDTrvwqMhEmqo6PI3SH8BOWbGA_n_up9rSJZqrRjZ2kq2oU1pu8fM2c6NkwxgOjJbVSo4_ZPtNigJ0s7YXSXSEvDBDZ75F2PMlsM2TbC1zNl29-isqBrMys-Xsug2OicQzswptr6q-Lz9pCogt0D3jLT8woPexOaPhObivjyqpkwqpOABwC-22MvhUm4uGygu5SLJAi0nEDCH02-ZJH5PyP3Sw5GvkYlzjqPrkI0imcp5eFcbxFOe5SVdktctEvKWfYq9-nrYMUhHCowcBNlrDgKviSuDZw-XOUOFcCuKAVD6jqnK4JmfPEXEws7eDYB2X3ANoMD3w_Ph1_3PWtGawGQVKxHe5KRXoRMa5rytdxRarYwVefeBG7qWhm-tVytcIPGPbpwax90K_hKSBKcPYgVA30Gte8MPL6C-OYP8TA5GbIDdcwpgqgioVM__WzKcjwOZL6fyG6OMzvu0sbHsGh0TLT63UvjXzSBGlYvuAsrWWjGh1Mj8bNyQcUacflCXR8kiaDP_f0TNToG5AcNg8iqS3bJipYYMK4ypoPZ6XCEtMi1gQ2e6KQTH27rrOt78gaFTdFgJMdo595BOJus-xC8A1zz0s-O6vJtEAPN4WtXHREMCGII49h5x-fiOeLy3Pq-r0YZFKfUHHZJJas41o2jCt0MBvbwI29UWCO0QvTWOl0cki1pdTOx2M9ARFOvCb3vTOkUit5narlPDXr1qWGkoJWpREgkNOkxWEwLLnjKyKef2BIzelfU-sLlgSNAIqQoIqgG2VelHr2gAOeP4BB_TILOz1j5rOXQJ3Qxwv2w6khLmJ-dI7vmaLsDsfUEwJghuYIhxH3RjYnrpqAnRSHK4NXvTjQI9qJiCVdxi9tV2_6ra64cEiREZqUo6J3XouyVo3M-qXo1DDrsgqR_keKn5UmO_fUv8TKYkv4lXKGXQY0nlMXp8AHQkHl6EolWeqRrVyq1Vk5DBwpDqimwyWtG2t_81IHB-67Ojj5L7VTgvPe0ggHMLBDowzq_PN947t_2Vwl6SqyiM_nozxy5TNzGAwJw4nqz2vvUiKwTyM6xWLs0RqU83Ge03YdnryV1huUNQqFe2Yp9OIOcmvz2DLfUu_761YGAu4Hvn67gvjDKtnvWeJaVowmwsANSBuBopy-O6kicWtMrHPwAih9aeNcVVSvqM-lt0UI05VOEWJhmaaDA7TjPr-Y5ZqIwVzsVPq58wJcMDKMoVkYZbJBGOuB10pMKaea5N56cwXHAqpHb1OeSznXMNg9716v45g4EGW2Zu6Eapg-WPWOcccYm9nD7RyGmsu3Nd5j0MWds7pXkIx7D-MGtv8OXkeo4ZmwWr2SqtLke6ZUqy3EA8_IBQW3Krsud3CarSem-OYMsgDMc2bzgbSThiz9Od6yV-gEzKRHusIYoztLFFnmJgnND73EqiFQECHLlCgtsWw0pIkcKfCFmQTWHZDoXLQoukJBQ0YN7mGd0HR1t4s2CT4jRQXJ6Y0YQ3rr0zI6dbahDYfgKebclLKNNvWVCXThC22bIJ76U0LnCkZ5pz4kGvFKuReXoU3C3x5oA2EqSoErP5ZJUrHVxK4H5iPeoWdl9dB_9g0oU80rAtBhXxsfXCZZoos_5jxaEdak4ONOrcVvv8_UsluXoQi76b0i5VpJmgbk3FSrU8Lwjl7dKag6POQgHh3UKi4CdOXwT9GeYPUnN4YFtzNDsvzlG7LZk8NYb1VfdStFnaSNdQzI9po2_XHF-xu3ZrwxebGT4Kr2wGSkPMRcRZl-ONplfUBRF2c9dIhTiaARW2bMFbmp46WSW7veF3F1RkxT-26SVP9gB1LhEa1GLkIg9E3qu2Z3Up3xquEOM1S8SHDn7Qcn4KuKn0LYWy_J0XHCJKt1DjCNCjuIhVj33v-shq2l2rIV3a4Khq_5a7IfPOsSozB9vqDBElN2JXexjzWMJjcUNPSHvsbx0CySFs4X2JhVpDPneLnuW8vEPiE9BNrx6l6JS750NZr91ZQRMm_tCv-IgnhmQQC5rU_yxWq-AEJUsD4jO15UCyt_vRY14GLZYlMqjv\u0026pr=6:1.744845\u0026cid=CAASEuRoPvAUHwF-nROeHEsAy3s8dg';document.write('\u003cscript src=\"' + (window.rfl ? window.rfl(url) : url) + '\"\u003e\u003c/s' + 'cript\u003e');\u003c/script\u003e\u003cSCRIPT language=\"JavaScript1.1\" SRC=\"https://fw.adsafeprotected.com/rjss/bgd/164425/58606508/xbbe/creative/adj?p=APEucNXfwsgcYXeWqRnuvBwgQG5hlto0nsp0m2G40htyhcg0WbXiw28\u0026d=CnkAoCZ_4FaKdr3SAVz0qHzWo5qAN5ZhH8fGE9vz677yYovvlXOgibNjWjl9zUFrCpiJltbe8_M-zBuTy9I1YXMbTFgZRzjgsKY76wlETcB0LCJfKjfBVOgg2u7h7aXdMfPFpwBgcq_Q0ZtNkJa8xZY6PEoo3R5OgmcOErkRAKAmf-DnQScW2C4TNCLAPBrx9TWuVfV6hjDnWMQtrDWriAPXCGwCS5ke3OyOfLAwEBjypiToyP5tsBb_aJED8zeiw8WD31cal0SNJSuNcZuz3B6E0vcrj0_gnpXkSAXL1d1CO0GUmt8PDSVYzB4r-3teciKOR2OOADgmOecD3tV-OtMQBLj_7eQXscrf_tbN22thU5QuP41F__SeoVULIpvp5eFukLY1HXw5QU-uwFXTDuJ7YV6LeTvnDypDkj2Rqohl9P9z5bi8d9xej7akl14zoRxsoamJtnfzF_vAeAAuv8_HyL4R4XLrz_6zaM1oO6vzGiRNrR9DbQE4riG3cJP8ZIN0sfJzyynTKjr9qTUHt0YLurVwWq6qDNg_BauwO-EV6Np8U0QBXo5aIoBgewC50p-r9C3u8Ab_359f42ntRlLB1fwgvRmhgCkxbF8D4qKc8L4fHfNLR5f_RVlMyT2kxVghc2EyS63okjTszLpvMx2ztXRRsBSg-Ti-ZzKY0Gg-lOqWcyBIZ5FOaw5ndtFahoLLQmGwNRZYbbXSqE4kuTCViDXrNlmAFN6KLpzVI_hNvbyUcDDIy_iodhr48JFTQ-gIT4SU1jRpYCWQ6s8n1zg0C8-xDYY0mS-f47J5rYoIIUFI6iYar0MumF5HZeOEJIsKS1a2lNOtzlxbMIArwdMJLGOTUhyGlkZK_m5-a_iShib9IOnIbFqjR_WY7IYEniZ_rE-O38nIjI-sioQ_-3CkKLAnzTDvAaTtmXUWDwSlsWENLku14rsX5tGDDD3q8c2wCBaa2IkNySwEnG2ROU4MInBQReYT9-Pn_LLqITBj-w_RvHmuq4cqKXFZPZW66f8gcOsRkmaIWjkKyfRnDmCTXD59BqdP_nV910dpQ20mXLNTg63YtP2koeolWRYTvBr3u1m76bER0iZlacdF2ZIcE9iNjzTIbUje_BmITsV2e1fvfLYi5-fEODCEqhzqhQT6HSFLvokhPSI1EzxChCUv446rNXMOYfy4VGLPpsLlmc6Bpf-tPR7iCXJZUZzi5irV8fywui9lapnRchRsEVxhhKNew7_xBKokdT2xqwDiMpsTAl_Jg_YD-f0XpnCiMT74lCIO3ol4-sTI9jXypVw63HGbkALZ2jcl0Im-fU4O83TGlfLd2OgjvNt727dKWfNKA4UL71ZFXRQmMBXsKTyXeTdeWP_mr75lm2QVkFOEz7JeciCoXM4s6WCee_wY4tsowDpShseupqeOkApNX0CMDAf29mO47LVNw3FefS4ftf2xALBS0MuqaKm0m4s2vHhEwFx9qlLKz2nYIyeTdpzXI3BZ67mZPpMGkEZRd4Wzh_PH_R6eiuEzv8dtBgjNPrNhLvyMNmak48qM_EZaoYUlkko8F6OM8tuENSBc99FVacDVnpLpg94gkt0Uir_6DJ5A-H7e5-zOmidZu0eSuSmtP1mLnPIVwaWAIhVuyLVV42h0v63P6h2p8ThwzZvxAWsNFzjYcW98Dlzv-lmzEoLoikpEqgHyJubOQO4QkxafN-yZ3EaKUxKUxMgSz8wEm2fYFTY-e07Z9cxjzKwE9JmkqSSpXcYyYOS901z527jWU0hixt5kPLRjt3bQALSAdZeUM48aRrrAvM1KPmSljKQOwuPjRAfj2qJKIpsX6v1cnjpxhPWdsr5PQDKgXCDvXuMN3-8AvSLP9Zfl2pfiJotb9UMrrr5kz269AfUZ9sBj7yOLrlPy5FyLMPTx9F2aryJO2VNwKPW79nt8Ofh-LIP4kjJyDJkRqcPwErkxJCPWn_O2LWkkcVu3a8QAdrKSqGVCX272RdZoFz6veW717zUz_Z0rhNn36NkfizdRi1BsiKu288uikwZXba9jSY3YhL6SvVgUEJwkq_1iz20oy_Gl4Dg8aG5pPEY3z5AuRJNWAwWFjZtz-qbAerFuVOj6blPCarILbXmSoufBOBIpHA6sGxC3yTbepsiMitHhhjEjh0vmdG6MMHaReiA1_cJ4TVqJJa8JvAHIYHHnCSJA8V9u5gQDKWF0AEOwO98Ui4fYfc9RwzYIyuOk2Wx3Vb4C5y8URGQblMs2Vs96qG35Tj2PcKP2qDnhvJ8CfYXJHzwHWbNoTmQpZ8E8MGc60uf0nlUdKzBAitRjBeck0nYDcvIvu3LZfu_QGR8NFhmGRwvyZkPST9gihrnu0y0OmODX6-QpL-RHgKdGvmodzOoKzadwRSh71tRwlGOhVtp4G7zvcSWQVGTfBlOYSdcFxDBkk5bftw-CMkg4z4PUsbo0wRTJCReVfzUQyxBf07bGC7O00kSQRuSw7LCOBj-owXavTvgUrlR2ciYn5ZeYWbHhicd9VOuyyFd1697Et6sprlfyksy22QW76jC5VeQ6KqfvIBnrKSJ5c_uX8htgB0W93sIzY4ETILgp04S8a6fWrK3N4QLHAGzCahv7qTz--yUJtncTqS8_CkoCD0I5Qh_Yb-Hot4GZAy6eLt1P3aWREFn9djp1-kp7-_pjgzRS5VmoNT0lHGI5-L2gVcm8qp_V_wvXtJtbUQerbv0x7u-AYoNij5RSu2p8071BOLF8ZHEF1-yX1Vk8CzTL0-HDCiyVoEXeOdhBOqR0mfOIMqNKTblWGnBSWzuuNsw-NKDlVkhTGoWHJ4d9fq0F5xg1q-C4Mwiq5K5g5M3s2RHf1TI9JSuVsXmz6hL2fDWLg-NTQbJOfRQoyiPxthVYjQaDuo67_bSC8YOmpsQwFgl8wJ66Skc0BcaTiiZHj2Lajt6NMurrudA5UI9g59pFAO9fPvCFcKvbpWN5qcarXS_fZW5uDwSkt0QV-wsELa6pHD4QOz_WpjfKUIjhSQoHHBCT_4QGe03f_qo_Kx6wURIKpo5mk4z7zt7tO9BUxrYno1tXBlUYuyi-uZFVlrsTF0-O1r-L3RxymmESXj9NgKd0gaxo9qy-4QJEHaxbWLCYDNwOrL-tJob_nFYvxRoWCAASEuRoPvAUHwF-nROeHEsAy3s8dmAB\u0026xfc=https%3A%2F%2Fclicktrack.pubmatic.com%2FAdServer%2FAdDisplayTrackerServlet%3FclickData%3DJnB1YklkPTE1OTExMCZzaXRlSWQ9NjY2ODg4JmFkSWQ9MzE5Mjg4MyZrYWRzaXplaWQ9MzImdGxkSWQ9MCZjYW1wYWlnbklkPTIyOTg3JmNyZWF0aXZlSWQ9MCZ1Y3JpZD0zNDc0OTkyMjU4OTU5MTExMzE0JmFkU2VydmVySWQ9MjQzJmltcGlkPTZDMjgzQUExLTVFRTMtNEI5Qy04MDZGLUU3NkFEQTAzNkVEQSZwYXNzYmFjaz0w_url%3D\"\u003e\u003c/SCRIPT\u003e\u003cNOSCRIPT\u003e\u003cA HREF=\"https://bid.g.doubleclick.net/xbbe/creative/jump?p=APEucNXfwsgcYXeWqRnuvBwgQG5hlto0nsp0m2G40htyhcg0WbXiw28\u0026d=CnkAoCZ_4FaKdr3SAVz0qHzWo5qAN5ZhH8fGE9vz677yYovvlXOgibNjWjl9zUFrCpiJltbe8_M-zBuTy9I1YXMbTFgZRzjgsKY76wlETcB0LCJfKjfBVOgg2u7h7aXdMfPFpwBgcq_Q0ZtNkJa8xZY6PEoo3R5OgmcOErkRAKAmf-DnQScW2C4TNCLAPBrx9TWuVfV6hjDnWMQtrDWriAPXCGwCS5ke3OyOfLAwEBjypiToyP5tsBb_aJED8zeiw8WD31cal0SNJSuNcZuz3B6E0vcrj0_gnpXkSAXL1d1CO0GUmt8PDSVYzB4r-3teciKOR2OOADgmOecD3tV-OtMQBLj_7eQXscrf_tbN22thU5QuP41F__SeoVULIpvp5eFukLY1HXw5QU-uwFXTDuJ7YV6LeTvnDypDkj2Rqohl9P9z5bi8d9xej7akl14zoRxsoamJtnfzF_vAeAAuv8_HyL4R4XLrz_6zaM1oO6vzGiRNrR9DbQE4riG3cJP8ZIN0sfJzyynTKjr9qTUHt0YLurVwWq6qDNg_BauwO-EV6Np8U0QBXo5aIoBgewC50p-r9C3u8Ab_359f42ntRlLB1fwgvRmhgCkxbF8D4qKc8L4fHfNLR5f_RVlMyT2kxVghc2EyS63okjTszLpvMx2ztXRRsBSg-Ti-ZzKY0Gg-lOqWcyBIZ5FOaw5ndtFahoLLQmGwNRZYbbXSqE4kuTCViDXrNlmAFN6KLpzVI_hNvbyUcDDIy_iodhr48JFTQ-gIT4SU1jRpYCWQ6s8n1zg0C8-xDYY0mS-f47J5rYoIIUFI6iYar0MumF5HZeOEJIsKS1a2lNOtzlxbMIArwdMJLGOTUhyGlkZK_m5-a_iShib9IOnIbFqjR_WY7IYEniZ_rE-O38nIjI-sioQ_-3CkKLAnzTDvAaTtmXUWDwSlsWENLku14rsX5tGDDD3q8c2wCBaa2IkNySwEnG2ROU4MInBQReYT9-Pn_LLqITBj-w_RvHmuq4cqKXFZPZW66f8gcOsRkmaIWjkKyfRnDmCTXD59BqdP_nV910dpQ20mXLNTg63YtP2koeolWRYTvBr3u1m76bER0iZlacdF2ZIcE9iNjzTIbUje_BmITsV2e1fvfLYi5-fEODCEqhzqhQT6HSFLvokhPSI1EzxChCUv446rNXMOYfy4VGLPpsLlmc6Bpf-tPR7iCXJZUZzi5irV8fywui9lapnRchRsEVxhhKNew7_xBKokdT2xqwDiMpsTAl_Jg_YD-f0XpnCiMT74lCIO3ol4-sTI9jXypVw63HGbkALZ2jcl0Im-fU4O83TGlfLd2OgjvNt727dKWfNKA4UL71ZFXRQmMBXsKTyXeTdeWP_mr75lm2QVkFOEz7JeciCoXM4s6WCee_wY4tsowDpShseupqeOkApNX0CMDAf29mO47LVNw3FefS4ftf2xALBS0MuqaKm0m4s2vHhEwFx9qlLKz2nYIyeTdpzXI3BZ67mZPpMGkEZRd4Wzh_PH_R6eiuEzv8dtBgjNPrNhLvyMNmak48qM_EZaoYUlkko8F6OM8tuENSBc99FVacDVnpLpg94gkt0Uir_6DJ5A-H7e5-zOmidZu0eSuSmtP1mLnPIVwaWAIhVuyLVV42h0v63P6h2p8ThwzZvxAWsNFzjYcW98Dlzv-lmzEoLoikpEqgHyJubOQO4QkxafN-yZ3EaKUxKUxMgSz8wEm2fYFTY-e07Z9cxjzKwE9JmkqSSpXcYyYOS901z527jWU0hixt5kPLRjt3bQALSAdZeUM48aRrrAvM1KPmSljKQOwuPjRAfj2qJKIpsX6v1cnjpxhPWdsr5PQDKgXCDvXuMN3-8AvSLP9Zfl2pfiJotb9UMrrr5kz269AfUZ9sBj7yOLrlPy5FyLMPTx9F2aryJO2VNwKPW79nt8Ofh-LIP4kjJyDJkRqcPwErkxJCPWn_O2LWkkcVu3a8QAdrKSqGVCX272RdZoFz6veW717zUz_Z0rhNn36NkfizdRi1BsiKu288uikwZXba9jSY3YhL6SvVgUEJwkq_1iz20oy_Gl4Dg8aG5pPEY3z5AuRJNWAwWFjZtz-qbAerFuVOj6blPCarILbXmSoufBOBIpHA6sGxC3yTbepsiMitHhhjEjh0vmdG6MMHaReiA1_cJ4TVqJJa8JvAHIYHHnCSJA8V9u5gQDKWF0AEOwO98Ui4fYfc9RwzYIyuOk2Wx3Vb4C5y8URGQblMs2Vs96qG35Tj2PcKP2qDnhvJ8CfYXJHzwHWbNoTmQpZ8E8MGc60uf0nlUdKzBAitRjBeck0nYDcvIvu3LZfu_QGR8NFhmGRwvyZkPST9gihrnu0y0OmODX6-QpL-RHgKdGvmodzOoKzadwRSh71tRwlGOhVtp4G7zvcSWQVGTfBlOYSdcFxDBkk5bftw-CMkg4z4PUsbo0wRTJCReVfzUQyxBf07bGC7O00kSQRuSw7LCOBj-owXavTvgUrlR2ciYn5ZeYWbHhicd9VOuyyFd1697Et6sprlfyksy22QW76jC5VeQ6KqfvIBnrKSJ5c_uX8htgB0W93sIzY4ETILgp04S8a6fWrK3N4QLHAGzCahv7qTz--yUJtncTqS8_CkoCD0I5Qh_Yb-Hot4GZAy6eLt1P3aWREFn9djp1-kp7-_pjgzRS5VmoNT0lHGI5-L2gVcm8qp_V_wvXtJtbUQerbv0x7u-AYoNij5RSu2p8071BOLF8ZHEF1-yX1Vk8CzTL0-HDCiyVoEXeOdhBOqR0mfOIMqNKTblWGnBSWzuuNsw-NKDlVkhTGoWHJ4d9fq0F5xg1q-C4Mwiq5K5g5M3s2RHf1TI9JSuVsXmz6hL2fDWLg-NTQbJOfRQoyiPxthVYjQaDuo67_bSC8YOmpsQwFgl8wJ66Skc0BcaTiiZHj2Lajt6NMurrudA5UI9g59pFAO9fPvCFcKvbpWN5qcarXS_fZW5uDwSkt0QV-wsELa6pHD4QOz_WpjfKUIjhSQoHHBCT_4QGe03f_qo_Kx6wURIKpo5mk4z7zt7tO9BUxrYno1tXBlUYuyi-uZFVlrsTF0-O1r-L3RxymmESXj9NgKd0gaxo9qy-4QJEHaxbWLCYDNwOrL-tJob_nFYvxRoWCAASEuRoPvAUHwF-nROeHEsAy3s8dmAB\u0026xfc=https%3A%2F%2Fclicktrack.pubmatic.com%2FAdServer%2FAdDisplayTrackerServlet%3FclickData%3DJnB1YklkPTE1OTExMCZzaXRlSWQ9NjY2ODg4JmFkSWQ9MzE5Mjg4MyZrYWRzaXplaWQ9MzImdGxkSWQ9MCZjYW1wYWlnbklkPTIyOTg3JmNyZWF0aXZlSWQ9MCZ1Y3JpZD0zNDc0OTkyMjU4OTU5MTExMzE0JmFkU2VydmVySWQ9MjQzJmltcGlkPTZDMjgzQUExLTVFRTMtNEI5Qy04MDZGLUU3NkFEQTAzNkVEQSZwYXNzYmFjaz0w_url%3D\"\u003e\u003cIMG SRC=\"https://fw.adsafeprotected.com/rfw/bgd/164425/58606507/xbbe/creative/ad?p=APEucNXfwsgcYXeWqRnuvBwgQG5hlto0nsp0m2G40htyhcg0WbXiw28\u0026d=CnkAoCZ_4FaKdr3SAVz0qHzWo5qAN5ZhH8fGE9vz677yYovvlXOgibNjWjl9zUFrCpiJltbe8_M-zBuTy9I1YXMbTFgZRzjgsKY76wlETcB0LCJfKjfBVOgg2u7h7aXdMfPFpwBgcq_Q0ZtNkJa8xZY6PEoo3R5OgmcOErkRAKAmf-DnQScW2C4TNCLAPBrx9TWuVfV6hjDnWMQtrDWriAPXCGwCS5ke3OyOfLAwEBjypiToyP5tsBb_aJED8zeiw8WD31cal0SNJSuNcZuz3B6E0vcrj0_gnpXkSAXL1d1CO0GUmt8PDSVYzB4r-3teciKOR2OOADgmOecD3tV-OtMQBLj_7eQXscrf_tbN22thU5QuP41F__SeoVULIpvp5eFukLY1HXw5QU-uwFXTDuJ7YV6LeTvnDypDkj2Rqohl9P9z5bi8d9xej7akl14zoRxsoamJtnfzF_vAeAAuv8_HyL4R4XLrz_6zaM1oO6vzGiRNrR9DbQE4riG3cJP8ZIN0sfJzyynTKjr9qTUHt0YLurVwWq6qDNg_BauwO-EV6Np8U0QBXo5aIoBgewC50p-r9C3u8Ab_359f42ntRlLB1fwgvRmhgCkxbF8D4qKc8L4fHfNLR5f_RVlMyT2kxVghc2EyS63okjTszLpvMx2ztXRRsBSg-Ti-ZzKY0Gg-lOqWcyBIZ5FOaw5ndtFahoLLQmGwNRZYbbXSqE4kuTCViDXrNlmAFN6KLpzVI_hNvbyUcDDIy_iodhr48JFTQ-gIT4SU1jRpYCWQ6s8n1zg0C8-xDYY0mS-f47J5rYoIIUFI6iYar0MumF5HZeOEJIsKS1a2lNOtzlxbMIArwdMJLGOTUhyGlkZK_m5-a_iShib9IOnIbFqjR_WY7IYEniZ_rE-O38nIjI-sioQ_-3CkKLAnzTDvAaTtmXUWDwSlsWENLku14rsX5tGDDD3q8c2wCBaa2IkNySwEnG2ROU4MInBQReYT9-Pn_LLqITBj-w_RvHmuq4cqKXFZPZW66f8gcOsRkmaIWjkKyfRnDmCTXD59BqdP_nV910dpQ20mXLNTg63YtP2koeolWRYTvBr3u1m76bER0iZlacdF2ZIcE9iNjzTIbUje_BmITsV2e1fvfLYi5-fEODCEqhzqhQT6HSFLvokhPSI1EzxChCUv446rNXMOYfy4VGLPpsLlmc6Bpf-tPR7iCXJZUZzi5irV8fywui9lapnRchRsEVxhhKNew7_xBKokdT2xqwDiMpsTAl_Jg_YD-f0XpnCiMT74lCIO3ol4-sTI9jXypVw63HGbkALZ2jcl0Im-fU4O83TGlfLd2OgjvNt727dKWfNKA4UL71ZFXRQmMBXsKTyXeTdeWP_mr75lm2QVkFOEz7JeciCoXM4s6WCee_wY4tsowDpShseupqeOkApNX0CMDAf29mO47LVNw3FefS4ftf2xALBS0MuqaKm0m4s2vHhEwFx9qlLKz2nYIyeTdpzXI3BZ67mZPpMGkEZRd4Wzh_PH_R6eiuEzv8dtBgjNPrNhLvyMNmak48qM_EZaoYUlkko8F6OM8tuENSBc99FVacDVnpLpg94gkt0Uir_6DJ5A-H7e5-zOmidZu0eSuSmtP1mLnPIVwaWAIhVuyLVV42h0v63P6h2p8ThwzZvxAWsNFzjYcW98Dlzv-lmzEoLoikpEqgHyJubOQO4QkxafN-yZ3EaKUxKUxMgSz8wEm2fYFTY-e07Z9cxjzKwE9JmkqSSpXcYyYOS901z527jWU0hixt5kPLRjt3bQALSAdZeUM48aRrrAvM1KPmSljKQOwuPjRAfj2qJKIpsX6v1cnjpxhPWdsr5PQDKgXCDvXuMN3-8AvSLP9Zfl2pfiJotb9UMrrr5kz269AfUZ9sBj7yOLrlPy5FyLMPTx9F2aryJO2VNwKPW79nt8Ofh-LIP4kjJyDJkRqcPwErkxJCPWn_O2LWkkcVu3a8QAdrKSqGVCX272RdZoFz6veW717zUz_Z0rhNn36NkfizdRi1BsiKu288uikwZXba9jSY3YhL6SvVgUEJwkq_1iz20oy_Gl4Dg8aG5pPEY3z5AuRJNWAwWFjZtz-qbAerFuVOj6blPCarILbXmSoufBOBIpHA6sGxC3yTbepsiMitHhhjEjh0vmdG6MMHaReiA1_cJ4TVqJJa8JvAHIYHHnCSJA8V9u5gQDKWF0AEOwO98Ui4fYfc9RwzYIyuOk2Wx3Vb4C5y8URGQblMs2Vs96qG35Tj2PcKP2qDnhvJ8CfYXJHzwHWbNoTmQpZ8E8MGc60uf0nlUdKzBAitRjBeck0nYDcvIvu3LZfu_QGR8NFhmGRwvyZkPST9gihrnu0y0OmODX6-QpL-RHgKdGvmodzOoKzadwRSh71tRwlGOhVtp4G7zvcSWQVGTfBlOYSdcFxDBkk5bftw-CMkg4z4PUsbo0wRTJCReVfzUQyxBf07bGC7O00kSQRuSw7LCOBj-owXavTvgUrlR2ciYn5ZeYWbHhicd9VOuyyFd1697Et6sprlfyksy22QW76jC5VeQ6KqfvIBnrKSJ5c_uX8htgB0W93sIzY4ETILgp04S8a6fWrK3N4QLHAGzCahv7qTz--yUJtncTqS8_CkoCD0I5Qh_Yb-Hot4GZAy6eLt1P3aWREFn9djp1-kp7-_pjgzRS5VmoNT0lHGI5-L2gVcm8qp_V_wvXtJtbUQerbv0x7u-AYoNij5RSu2p8071BOLF8ZHEF1-yX1Vk8CzTL0-HDCiyVoEXeOdhBOqR0mfOIMqNKTblWGnBSWzuuNsw-NKDlVkhTGoWHJ4d9fq0F5xg1q-C4Mwiq5K5g5M3s2RHf1TI9JSuVsXmz6hL2fDWLg-NTQbJOfRQoyiPxthVYjQaDuo67_bSC8YOmpsQwFgl8wJ66Skc0BcaTiiZHj2Lajt6NMurrudA5UI9g59pFAO9fPvCFcKvbpWN5qcarXS_fZW5uDwSkt0QV-wsELa6pHD4QOz_WpjfKUIjhSQoHHBCT_4QGe03f_qo_Kx6wURIKpo5mk4z7zt7tO9BUxrYno1tXBlUYuyi-uZFVlrsTF0-O1r-L3RxymmESXj9NgKd0gaxo9qy-4QJEHaxbWLCYDNwOrL-tJob_nFYvxRoWCAASEuRoPvAUHwF-nROeHEsAy3s8dmAB\u0026xfc=https%3A%2F%2Fclicktrack.pubmatic.com%2FAdServer%2FAdDisplayTrackerServlet%3FclickData%3DJnB1YklkPTE1OTExMCZzaXRlSWQ9NjY2ODg4JmFkSWQ9MzE5Mjg4MyZrYWRzaXplaWQ9MzImdGxkSWQ9MCZjYW1wYWlnbklkPTIyOTg3JmNyZWF0aXZlSWQ9MCZ1Y3JpZD0zNDc0OTkyMjU4OTU5MTExMzE0JmFkU2VydmVySWQ9MjQzJmltcGlkPTZDMjgzQUExLTVFRTMtNEI5Qy04MDZGLUU3NkFEQTAzNkVEQSZwYXNzYmFjaz0w_url%3D\" BORDER=0 WIDTH=970 HEIGHT=250 ALT=\"Advertisement\"\u003e\u003c/A\u003e\u003c/NOSCRIPT\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003ciframe width=\"0\" scrolling=\"no\" height=\"0\" frameborder=\"0\" src=\"https://ads.pubmatic.com/AdServer/js/showad.js#PIX\u0026ptask=DSP\u0026SPug=1\u0026fp=1\u0026mpc=10\u0026u=1F3AABE3-615E-40AD-A390-899AE3113A1A\u0026p=159110\u0026s=666888\u0026d=1\u0026cp=0\u0026sc=1\u0026rs=0\u0026os=0\u0026gdpr=1\u0026gdpr_consent=CPam0oAPam0oAAHABBENCTCsAP_AAH_AAAAAHfND_TrMYyNj-XZ9Nrs0eYxOxNSXo-wCjAaJAWgBAQKAIJQG0mAQpAHgBCACIAAEIiJBAQIlDCHACQAA4IABASEAIAiABBIIICIAgEAQAwAICBBDCcAAAQKYgAQEEAQAmgoAAAoiQAAAIAAABgAAAAAAAAAAAAAAABA1kAEwVJiABsSwwJJoQihRADCIICoBQAUQAQIAUAACAABBCASAgAAAAAAAAAAAAABEBAIABAIAAIAAAAPBAAACAAAAAAAAABAARAAAgAAAAAAAAAQDAAAAAQAAAAgACgECAAAAAASAAAAAAAAMAcpACAIsAtAdACAIsAtAJABAWgKAAgCOGAAQBHEAAIAjiQAEARwA.f_gAD_gAAAAA\" style=\"position:absolute;top:-15000px;left:-15000px\" vspace=\"0\" hspace=\"0\" marginwidth=\"0\" marginheight=\"0\" allowtransparency=\"true\" name=\"synciframe\"\u003e\u003c/iframe\u003e\u003ciframe width=\"0\" scrolling=\"no\" height=\"0\" frameborder=\"0\" src=\"https://aktrack.pubmatic.com/AdServer/AdDisplayTrackerServlet?operId=1\u0026pubId=159110\u0026siteId=666888\u0026adId=3192883\u0026adType=10\u0026adServerId=243\u0026kefact=1.628522\u0026kaxefact=1.628522\u0026kadNetFrequecy=0\u0026kadwidth=970\u0026kadheight=250\u0026kadsizeid=32\u0026kltstamp=1655476159\u0026indirectAdId=0\u0026adServerOptimizerId=2\u0026ranreq=0.1\u0026kpbmtpfact=1.744845\u0026dcId=1\u0026tldId=0\u0026passback=0\u0026svr=BID77459U\u0026adsver=_3183238267\u0026adsabzcid=0\u0026cls=BID\u0026ekefact=v4-sYp7JAABDXW5CKnY4dM4r4VMrXFqckyiGI1YvjpwUr8_S\u0026ekaxefact=v4-sYrfJAACSI2fXJV651g6OElzkVMTs0hvRikGflYSlKpri\u0026ekpbmtpfact=v4-sYsnJAADquaksOGtXMCX0cCgwOxsHRLjmfEXuK2d8Te3m\u0026enpp=v4-sYuDJAAA_U3h8MeiCsMnD6xOaPT6N73myFnldaB_Pfu5-\u0026pfi=1\u0026domId=8566818333696122961\u0026dc=SFO2\u0026pubBuyId=20367\u0026crID=392890663\u0026lpu=americanexpress.com\u0026ucrid=3474992258959111314\u0026campaignId=22987\u0026creativeId=0\u0026pctr=0.000000\u0026wDSPByrId=2617933\u0026wDspId=80\u0026wbId=3\u0026wrId=0\u0026wAdvID=746848\u0026wDspCampId=22856574\u0026isRTB=1\u0026rtbId=1978E84C-F587-480C-B4BE-3CB92C3DBC47\u0026imprId=6C283AA1-5EE3-4B9C-806F-E76ADA036EDA\u0026oid=6C283AA1-5EE3-4B9C-806F-E76ADA036EDA\u0026country=US\u0026carrierid=387\u0026cntryId=232\u0026domain=marmiton.org\u0026sec=1\u0026pmc=1\u0026pAuSt=2\u0026wops=0\u0026sURL=marmiton.org\u0026BrID=5\u0026oiabdvt=2\" style=\"position:absolute;top:-15000px;left:-15000px\" vspace=\"0\" hspace=\"0\" marginwidth=\"0\" marginheight=\"0\" allowtransparency=\"true\" name=\"pbeacon\"\u003e\u003c/iframe\u003e\u003c/span\u003e \u003c!-- PubMatic Ad Ends --\u003e\u003cimg width=\"0\" height=\"0\" border=\"0\" alt=\"\" style=\"display: none;\" src=\"https://c.4dex.io/imp.gif?adu_code=pegasus_placeholder_banner_atf\u0026auction_id=a41fe775-0f14-4ed9-91db-94a53355f95e\u0026bid_id=6C283AA1-5EE3-4B9C-806F-E76ADA036EDA\u0026bidder=pubmatic\u0026breq_id=894eb09c-5ace-4c0a-a01a-4f4480e19658\u0026browser=chrome\u0026buid=1\u0026buids=3310\u0026category=\u0026cpm=1.46567\u0026crea_id=392890663\u0026ctry=USA\u0026curr=USD\u0026deal_id=\u0026dvc=2\u0026environment=desktop\u0026h=250\u0026lzy=0\u0026mt=ban\u0026net_cpm=1.25314785\u0026org_id=1110\u0026os=linux\u0026partid=2022061714\u0026pgtyp=\u0026plcmt=banner_atf\u0026pn=1\u0026pub_id=10308\u0026pv_id=38e96607-9b56-4a86-9c4c-9f88d5ea87e9\u0026rpmadc_smpl=1\u0026rule_id=1145\u0026seattyp=shared\u0026site=marmiton-org\u0026sspv=4.3.0-gcp-las\u0026subcategory=\u0026tiv=16\u0026url=https%3A%2F%2Fwww.marmiton.org%2F%3Fpbjs_debug%3Dtrue\u0026vr=0.5\u0026w=970\" /\u003e",
"width": 970,
"height": 250,
"ttl": 30,
"netRevenue": true,
"adUnitCode": "pegasus_placeholder_banner_atf",
"lz": false,
"bidder": "",
"aDomain": [
"americanexpress.com"
],
"meta": {
"advertiserDomains": [
"americanexpress.com"
],
"advertiserId": 746848,
"networkId": 80
},
"mediaType": "banner"
}
],
"data": {
"user_syncs": [
{
"html": "\u003ciframe id='adg-0-sync' height='0' width='0' marginwidth='0' marginheight='0' scrolling='no' frameborder='0' src='https://secure-assets.rubiconproject.com/utils/xapi/multi-sync.html?p=onfocus\u0026endpoint=us-west' style='border: 0px; display: none;'\u003e\u003c/iframe\u003e"
}
],
"adagiojs": {
"sampling": {
"avw": 0
}
}
}
}
As you can see:
originalCpm
matches the response from Adagiocpm == originalCpm * conversionRate
(1.2049 = 1.25314785 * 0.9615384615384615)floorData.cpmAfterAdjustments
is below the floor (0.93 < 1)cpmAfterAdjustments
matches your bidCpmAdjustment
:
Would it help if we added a sort of history log for changes to the CPM? Let's say a "normal" (non-rejected) bid contained something like:
{
...
cpmAdjustments: [
{
reason: "currency",
from: {
currency: 'USD',
cpm: 1.2
},
to: {
currency: 'EUR',
cpm: 1
}
},
{
reason: "bidCpmAdjustment",
from: {
currency: 'EUR',
cpm: 1
},
to: {
currency: 'EUR',
cpm: 0.8
},
}
]
}
then this case would only contain the first and it should clear up confusion. (although, I'd still be wondering why my bidCpmAdjustment
didn't run...)
Agree with @dgirardi. From what I can gather about all of this (and from looking through the prebid docs), it seems as though the expected behavior is occurring (I think). However, I suppose the timeline of the cpm value adjustments could possibly be made a bit more transparent as mentioned above.
So what is the Action Item here?
perhaps we just need more explicit logging of rejected bids?
In my initial P.O.C of this I actually was just going to add a new event called BID_REJECTED
that the price floors module would emit.
I decided not to do it for some reason, but I think this is probably the right thing to do now.
Maybe in the case of a BID_REJECTED
there should NOT be a BID_RESPONSE
event and vice versa.
But that might be a breaking change, so maybe for now we can just add in this new BID_REJECTED
event to help?
@robertrmartinez for this issue specifically, I don't think an a different event would have helped - I think; the log message would have beeen the same, showing the rejected bid with a half-adjusted cpm (I believe it would have looked the same in a rejection event, unless we want to open pandora's box and try to process those together with "real" bids?) https://github.com/prebid/Prebid.js/pull/8655 might be enough to clarify that the rejected bid was indeed below the floor.
Ah ok makes sense!
Type of issue
bug
Description
In prebid's console log lines I can see bid which are rejected by the price floor module but as far as I understand they are valid bids. For example see attached screenshot, where floorValue 0.25 is set in currency EUR, a 0.2886 USD bid is received, converted to 0.2761 EUR but is rejected.
Steps to reproduce
I noticed this behavior on this page https://www.marmiton.org/?pbjs_debug=true after a few refreshs.
Is there something I missed with the reason why this bid was rejected ?
Thanks.