ad serving flow and serving architecture

32
© 2010 MediaMind Technologies Inc. | All rights reserved Kris Fortney | Global Client Tech Support November 2011 Ad Serving Flow and Serving Architecture

Upload: helene

Post on 07-Feb-2016

82 views

Category:

Documents


0 download

DESCRIPTION

Ad Serving Flow and Serving Architecture. Kris Fortney | Global Client Tech Support November 2011. Agenda. HTTP and Fiddler UI Ad serving flow Serving architecture Viewing an ad and its files with fiddler. HTTP requests and responses. Animation if needed Is “Fade - very fast”. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Kris Fortney | Global Client Tech Support November 2011

Ad Serving Flow and Serving Architecture

Page 2: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

▸ HTTP and Fiddler UI

▸ Ad serving flow

▸ Serving architecture

▸ Viewing an ad and its files with fiddler

Agenda

Page 3: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

HTTP requests and responses

▸ Requests are sent from the browser

▸ Responses are sent form the server

Page 4: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

▸ After the browser receives a request a response code is returned indicating the status of the request

HTTP response codes

Status Technical Description Non-tech equivalent

200 OK message was received and accepted and any content is contained in the message body.

ALL GOOD

302 Found The requested resource resides temporarily under a different URL.

REDIRECT

304 Not Modified The requested resource has not changed and the client can utilize cache.

CACHED ON BROWSER

404 Page Not Found The server could not find a matching resource at the URL supplied by the client.

PAGE DOES NOT EXIST

500 Internal Error The server encountered an unexpected condition which prevented it from fulfilling the request.

Pfffffft. Server blew up.

Page 5: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

HTTP sniffer: Fiddler UI

Sessions

Requests

Responses

Page 6: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

HTTP sniffer: Sessions

Page 7: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Request – What is sent to the server

Page 8: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Response – What comes back from the server

Page 9: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Servers, Ad Files, and Ad Flowwhere, what, when?

Page 10: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Rich Media Ad Flow – Serving

▸ The publisher’s page is consisted of a publisher ad server call, which should retrieve an appropriate ad tag (hopefully ours…)

Page 11: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Rich Media Ad Flow – Serving

▸ Now we have a page with our tags:

<script src="http://bs.serving-sys.com/BurstingPipe/adServer.bs?cn=rb&c=22&pli=&PluID=0&w=730&h=90&ord=[timestamp]"></script><noscript><a href="http://bs.serving-sys.com/BurstingPipe/BannerRedirect.asp?FlightID=1252012&Page=&PluID=0&Pos=5233" target="_blank"><img src="http://bs.serving-sys.com/BurstingPipe/BannerSource.asp?FlightID=1252012&Page=&PluID=0&Pos=5233" border=0 width=300 height=250></a></noscript>

Page 12: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Rich Media Ad Flow – Bursting Servers

▸ We have ~90 Bursting Servers residing in 8 Data Centers around the world, ready to “take the call”

NY/NJ

Netherlands/Amsterdam

LA

Singapore

Japan

China

Page 13: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Rich Media Ad Flow – Serving

▸ “The Chosen One”:• Selects an Ad for the Placement• Counts an Impression• Returns a JS Response to Initiate the

Ad Display

Page 14: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Rich Media Ad Flow – Serving

▸ The initial server response consists of:var ebPtcl = "http://";var ebBigS = "ds.serving-sys-dev4.com/BurstingCachedScripts/";var ebResourcePath = "ds.serving-sys-dev4.com/BurstingRes//";var ebRand = new String(Math.random());ebRand = ebRand.substr(ebRand.indexOf(".") + 1);ebBigS = ebPtcl + ebBigS;ebResourcePath = ebPtcl + ebResourcePath;gEbUT = "";gEbUT = "tp_PlacementID%3D549668%24%24tp_AdID%3D954807%24%24";var ebO = new Object();ebO.pi = 0;ebO.d = 0;ebO.sms = "ds.serving-sys-dev4.com/BurstingScript/";ebO.bs = "bs.serving-sys-dev4.com";ebO.p = "";ebO.tn = "Banner";ebO.bt = 5;ebO.bv = 14.000000;ebO.plt = 9;ebO.ut = gEbUT;ebO.w = 300;

ebO.h = 250;ebO.pli = 549668;ebO.ai = 954807;ebO.ci = 63210;ebO.au = "Site-23204/Type-11/954807_27015f25-9794-45b0-b3ce-9807bf80a98b.js";ebO.fvp = "Res/";ebO.dlm = 1;ebO.oo = 0;ebO.fvp += "Dev4/";ebO.pv = "_4_5_0";ebBv = "_2_4_4";ebO.rpv = "_2_5_1";ebO.wv = "_3_0_1";ebO.ta = "-1";ebO.abp = "Site-15871/Type-20/955962/47c79cde-8024-4dc0-83cf-86aed89cfaae/";ebO.dg = "11905";var ebIfrm = ("" == "1");var ebSrc = ebBigS + "eb" + ebO.tn + "" + ebBv + ".js";document.write("<scr" + "ipt src=" + ebSrc + "></scr" + "ipt>");var ebDSGID = 16512;/* RichSupported */

Initializing General Variables (DS base path, Detected Browser etc.)

Page 15: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Rich Media Ad Flow – Serving

▸ The Server response consists of:var ebPtcl = "http://";var ebBigS = "ds.serving-sys-dev4.com/BurstingCachedScripts/";var ebResourcePath = "ds.serving-sys-dev4.com/BurstingRes//";var ebRand = new String(Math.random());ebRand = ebRand.substr(ebRand.indexOf(".") + 1);ebBigS = ebPtcl + ebBigS;ebResourcePath = ebPtcl + ebResourcePath;gEbUT = "";gEbUT = "tp_PlacementID%3D549668%24%24tp_AdID%3D954807%24%24";var ebO = new Object();ebO.pi = 0;ebO.d = 0;ebO.sms = "ds.serving-sys-dev4.com/BurstingScript/";ebO.bs = "bs.serving-sys-dev4.com";ebO.p = "";ebO.tn = "Banner";ebO.bt = 5;ebO.bv = 14.000000;ebO.plt = 9;ebO.ut = gEbUT;ebO.w = 300;

ebO.h = 250;ebO.pli = 549668;ebO.ai = 954807;ebO.ci = 63210;ebO.au = "Site-23204/Type-11/954807_27015f25-9794-45b0-b3ce-9807bf80a98b.js";ebO.fvp = "Res/";ebO.dlm = 1;ebO.oo = 0;ebO.fvp += "Dev4/";ebO.pv = "_4_5_0";ebBv = "_2_4_4";ebO.rpv = "_2_5_1";ebO.wv = "_3_0_1";ebO.ta = "-1";ebO.abp = "Site-15871/Type-20/955962/47c79cde-8024-4dc0-83cf-86aed89cfaae/";ebO.dg = "11905";var ebIfrm = ("" == "1");var ebSrc = ebBigS + "eb" + ebO.tn + "" + ebBv + ".js";document.write("<scr" + "ipt src=" + ebSrc + "></scr" + "ipt>");var ebDSGID = 16512;/* RichSupported */

Initializing Ad-specific Variables (e.g. AdJS path)

Page 16: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Rich Media Ad Flow – Serving

▸ The Server response consists of:var ebPtcl = "http://";var ebBigS = "ds.serving-sys-dev4.com/BurstingCachedScripts/";var ebResourcePath = "ds.serving-sys-dev4.com/BurstingRes//";var ebRand = new String(Math.random());ebRand = ebRand.substr(ebRand.indexOf(".") + 1);ebBigS = ebPtcl + ebBigS;ebResourcePath = ebPtcl + ebResourcePath;gEbUT = "";gEbUT = "tp_PlacementID%3D549668%24%24tp_AdID%3D954807%24%24";var ebO = new Object();ebO.pi = 0;ebO.d = 0;ebO.sms = "ds.serving-sys-dev4.com/BurstingScript/";ebO.bs = "bs.serving-sys-dev4.com";ebO.p = "";ebO.tn = "Banner";ebO.bt = 5;ebO.bv = 14.000000;ebO.plt = 9;ebO.ut = gEbUT;ebO.w = 300;

ebO.h = 250;ebO.pli = 549668;ebO.ai = 954807;ebO.ci = 63210;ebO.au = "Site-23204/Type-11/954807_27015f25-9794-45b0-b3ce-9807bf80a98b.js";ebO.fvp = "Res/";ebO.dlm = 1;ebO.oo = 0;ebO.fvp += "Dev4/";ebO.pv = "_4_5_0";ebBv = "_2_4_4";ebO.rpv = "_2_5_1";ebO.wv = "_3_0_1";ebO.ta = "-1";ebO.abp = "Site-15871/Type-20/955962/47c79cde-8024-4dc0-83cf-86aed89cfaae/";ebO.dg = "11905";var ebIfrm = ("" == "1");

var ebSrc = ebBigS + "eb" + ebO.tn + "" + ebBv + ".js";document.write("<scr" + "ipt src=" + ebSrc + "></scr" + "ipt>");var ebDSGID = 16512;/* RichSupported */

Loading the Necessary Client Script + Version (e.g. ebBanner_2_2_5.js)

Page 17: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Rich Media Ad Flow – Serving

• Since the response is not cached and expensive, the ad configuration is almost entirely in the Ad .js (which is cached).

• However, the extra round trip is something we might prevent in the future.

Page 18: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Rich Media Ad Flow – Serving

▸ The Client Code Loads all the Necessary Assets:• Ad Configuration File (AdJS)• Creative Assets (SWF)• Additional Assets (FLV, F4V, SWF, MP3 etc.)

▸ All the Files are in one place

▸ So, how do we take care of redundancy and globalization?

File Server

Page 19: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Rich Media Ad Flow – Serving

▸ The Assets are downloaded from our Display Servers, which is actually an “origin” of a Content Delivery Network (CDN): Akamai.

▸ This way, only 5% of the traffic is reaching our origin DS.

File Server

(Display Server)

Page 20: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

MediaMind servers for Ad Serving

▸ Two main serving systems for ad serving

• Bursting Server bs.serving-sys.comTakes information from the ad tagTalks to the databaseDecides which ad to showKnows where all the assets are

• Display Serversds.serving-sys.comHold all the files an ad needs to display

Assets and scriptsPart of a large content distribution

network – Akamai

Page 21: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Ad tag – What gets passed to the Bursting Server▸ data is passed via the URL’s querystring ▸ http://bs.serving-sys.com/BurstingPipe/adServer.bs?cn=rb&c=22&ifl=$$/default/eb/$

$&pli=754211&PluID=0&ai=1358143&t=1&w=300&h=250&ucm=0&ord=%time%

Key Valuecn rb

c 22

ifl $$/default/eb/$$

pli 754211

PluID 0

ai 1358143

t 1

w 300

h 250

ucm 0

ord %time%

Page 22: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

What static files are delivered from the Display Servers?

Files FunctionAds.js file Holds specific configuration information for

the ad

Ad serving behavioral templates Js files which hold the code to provide the functionality, ie floating ads, expandable ads

Gif or jpg files Default image files

Swf files Swf files for default and rich banners

FLV, WMV or other additional assets

Video assets (progressive download only in http)

Page 23: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Rich banner ad flowBS Decision Call

Yes

count impressionno

Display blankBS response

ebBanner /ebExpBanner.js

Ad.js

Set ad parameters

Report to 3rd party

Load js files Sufficient plug-ins

Show bannerYes

Default imageNo

Something to display

Yes

User views a web siteWith eyeblaster script tags

Page 24: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Rich Media Ad Flow – Serving

▸ Finally, the Ad is shown!

Page 25: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Rich Media Ad Flow – Serving

▸ Interactions from the Ad are constantly reported to our Bursting Servers. ‘Timer Interactions’ (e.g. AdDuration, DwellTime) are reported only when the ad is closed.User Interacts with the Ad Server Logs Interaction Client Generates Reports

Page 26: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Rich Media Ad Flow – Serving

▸ The main interactions we track are:“Counter” Interactions

• Click

• Video Progress

• Video Pause/Mute/Replay• Video Fullscreen Start/End

• Dwell Once

• Visibility (Above/Below the Fold)“Timer” Interactions

• Ad Duration

• Dwell Time

• Video Playing Duration

▸ In addition, we support custom counter/timer interactions reported by the creative.

Page 27: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Rich Media Ad Flow – Serving

▸ Examples of interactions tracking:“Counter” Interactions:http://bs.serving-sys.com/BurstingPipe/adServer.bs?cn=int&iv=2&int=954807~~0~~11905~^ebUniqueDwell~0~0~01020^ebRichFlashPlayed~0~0~01020^ebVideoUnmuted~0~0~00010^ebAboveTheFold~0~0~01020&OptOut=0&ebRandom=0.23478155699558556&flv=10.3183&wmpv=0&res=16

Click:http://bs.serving-sys.com/BurstingPipe/adServer.bs?cn=brd&Page=&PluID=0&Pos=3932768984232098&EyeblasterID=954807&dg=11905&di=0

“Timer” Interactions:http://bs.serving-sys.com/BurstingPipe/adServer.bs?cn=int&iv=2&int=954807~~0~~11905~^ebAdDuration~68~0~01020^ebIntDuration~5~0~01020^ebDwellTime~64~0~01020^ebAboveTheFoldDuration~67~0~01020&OptOut=0&ebRandom=0.14506820333190262&flv=10.3183&wmpv=0&res=16

Page 28: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Servers, Ad Files and Ad Flow viewing in fiddler

Page 29: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

What can we see using fiddler?

▸ What files do we serve?

▸ Where are they served from?

▸ How to see what the server is returning

▸ What other information is delivered?

▸ How big are the files?

Page 30: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Viewing an ad with Fiddler

▸ How many calls are made to the Bursting Server?

▸ How many calls are made to the Display Servers?

What kind of files are needed to support the ad?

http://demo.eyeblaster.com/kris/training/sessiontwo/boredwithUSA.htm

Page 31: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Fiddler: How To Tips

▸ Remove all encodingWhy?

▸ Disable CachingExceptions?

▸ How to save a fiddler session

▸ How to clear the session window

▸ How to search for EB code quickly

Page 32: Ad Serving Flow and Serving Architecture

© 2010 MediaMind Technologies Inc. | All rights reserved

Thank you!