Robert Devine Program Manager Microsoft Corporation Understanding the Advertising Ecosystem Advertiser Tools Online Advertising Local Ads Display Ads Search Ads Content Ads Publisher Tools Offline Advertising Analytics Ad-Funded Software Mobile Ads Asset Mgmt Ad Exchange Cross-section of an Advertising Platform User/Role Mgmt AuthN Balance Mgmt $$ Account Mgmt Kwd / Site Selection Audience Research Internal Reports Web Analytics Campaign ROI Optm Site/Medium Selection Publisher Reports Advertiser Analytics Automation Engines Budget Allocation Advertiser Reports Publisher Analytics Pre-Sales BI Reporting Analytics Customer Management Live ID Service Invoicing & Cr. Cards Topology Mgmt Creative Marktplace Brand Campaigns Preference Mgmt Creative Design Search Campaigns Yield Mgmt Creative Library Other Campaigns Publisher Mgmt Creative Mgmt Campaign Mgmt Rebates Payout Segment Studio Raw Data Store Revenue Recog BT Service Ad/Site Relevance Billing Ad Quality Check Ad/Kwd Relevance Site Quality Verification Relevance Verification Site Quality Verification Ad Quality Verification Pub Editorial Listing, Order, Bid, Schedule updates Ad Editorial Price Estimation Inventory Estimation CTR Estimation CPA Estimation Estimation Engines Search sites Client-Side Ad Engine Software Apps Feedback Semiconnected Devices Mobile Sites Publishers Gateway Content sites Segmentat ion Engine Creative Store Rendering Engine Creative Fetch Ad Call Site Data Logging Creative Delivery Display Delivery Contextual Delivery Real-time Content Ad Yield Decision Engine Paid Search Delivery (incl. Local Ranking) Ad Selection Engines Fraud Detection Feedback ETL / Agg Ad Data Logging ETL / Agg Qlty Score Calc. Ad Data Processing Site Data Processing My Role in Microsoft adCenter User/Role Mgmt AuthN Balance Mgmt $$ Account Mgmt Kwd / Site Selection Audience Research Internal Reports Web Analytics Campaign ROI Optm Site/Medium Selection Publisher Reports Advertiser Analytics Automation Engines Budget Allocation Advertiser Reports Publisher Analytics Pre-Sales BI Reporting Analytics Customer Management Live ID Service Invoicing & Cr. Cards Topology Mgmt Creative Marktplace Brand Campaigns Preference Mgmt Creative Design Search Campaigns Yield Mgmt Creative Library Other Campaigns Publisher Mgmt Creative Mgmt Campaign Mgmt Rebates Payout Segment Studio Raw Data Store Revenue Recog BT Service Ad/Site Relevance Billing Ad Quality Check Ad/Kwd Relevance Site Quality Verification Relevance Verification Site Quality Verification Ad Quality Verification Pub Editorial Listing, Order, Bid, Schedule updates Ad Editorial Price Estimation Inventory Estimation CTR Estimation CPA Estimation Estimation Engines Search sites Client-Side Ad Engine Software Apps Feedback Semiconnected Devices Mobile Sites Publishers Gateway Content sites Segmentat ion Engine Creative Store Rendering Engine Creative Fetch Ad Call Site Data Logging Creative Delivery Display Delivery Contextual Delivery Real-time Content Ad Yield Decision Engine Paid Search Delivery (incl. Local Ranking) Ad Selection Engines Fraud Detection Feedback ETL / Agg Ad Data Logging ETL / Agg Qlty Score Calc. Ad Data Processing Site Data Processing Who are the parties involved in the Ad Ecosystem? Publishers Sell Ads, via Advertisers Buy Ads Customers IM Ad Platforms connect buyers & sellers Who are the parties involved in the Ad Ecosystem? Publishers Sell Ads, via Advertisers Buy Ads Customers IM Ad Platforms connect buyers & sellers Who are the parties involved in the Ad Ecosystem? Publishers Sell Ads, via Advertisers Buy Ads Customers IM Ad Platforms connect buyers & sellers Who are the parties involved in the Ad Ecosystem? Publishers Sell Ads, via Advertisers Buy Ads Customers IM Ad Platforms connect buyers & sellers Who are the parties involved in the Ad Ecosystem? Publishers Sell Ads, via Advertisers Buy Ads Customers IM Ad Platforms connect buyers & sellers Who are the parties involved in the Ad Ecosystem? Publishers Sell Ads, via Advertisers Buy Ads Customers IM Ad Platforms connect buyers & sellers “Banner Ads” “Rich Media” Ad Types “Books” “Relevance” “Pizza in Seattle” Joe’s Pizza $5.00 off any Large Pizza “Banner Ads” “Rich Media” Ad Types “Books” Display “Relevance” “Pizza in Seattle” Joe’s Pizza $5.00 off any Large Pizza “Banner Ads” “Rich Media” Ad Types “Books” Display Search “Relevance” “Pizza in Seattle” Joe’s Pizza $5.00 off any Large Pizza “Banner Ads” “Rich Media” Ad Types Display Search Content “Books” “Relevance” “Pizza in Seattle” Joe’s Pizza $5.00 off any Large Pizza “Banner Ads” “Rich Media” Ad Types Display Search Content Local / Mobile “Books” “Relevance” “Pizza in Seattle” Joe’s Pizza $5.00 off any Large Pizza “Banner Ads” “Rich Media” Ad Types “Books” “Relevance” “Pizza in Seattle” Joe’s Pizza $5.00 off any Large Pizza Pricing Model Description Common Values CPM Cost per Mille, or Thousand Impressions, often negotiated. Commonplace in Display Ads. $0.10 to $20, depending on the value of the targeting CPC Cost per Click, often sold via auction. Commonplace in Search and Content Ads. $0.05 to a few dollars, depending on the keywords (auction) CPA Cost per Action [also Acquisition] Actions could be web form completion, click to call, mouse-over, video playback, product purchase on advertiser’s site, print a coupon for inperson purchase High value (often dollars), depends on what was purchased or action taken Here are some example values by keyword(s) on our network. Average CPC represents actual clicks against auctioned keywords. Many advertisers may have bid higher – the top ranked position isn’t always the one that gets clicked. Keyword(s) Average CPC Hilton Hotel $ 0.40 Pizza $ 0.90 Books $ 0.96 Sports $ 1.06 Diamond Ring $ 1.24 Washington Mortgage $ 1.31 Autos $ 1.32 Hotel $ 1.44 Diamond Engagement Ring $ 1.53 Dating $ 1.67 HDTV $ 1.67 Tokyo Hotel $ 1.97 California Mortgage $ 3.92 Sometimes being more specific is more valuable since it tells more about your search intent. Specific More Specific Keyword(s) Average CPC Hilton Hotel $ 0.40 Pizza $ 0.90 Books $ 0.96 Sports $ 1.06 Diamond Ring $ 1.24 Washington Mortgage $ 1.31 Autos $ 1.32 Hotel $ 1.44 Diamond Engagement Ring $ 1.53 Dating $ 1.67 HDTV $ 1.67 Tokyo Hotel $ 1.97 California Mortgage $ 3.92 On other occasions a very specific search may be cheaper if it lowers bid density – the number of advertisers willing to bid on those keywords. Lower Bid Density Higher Bid Density Keyword(s) Average CPC Hilton Hotel $ 0.40 Pizza $ 0.90 Books $ 0.96 Sports $ 1.06 Diamond Ring $ 1.24 Washington Mortgage $ 1.31 Autos $ 1.32 Hotel $ 1.44 Diamond Engagement Ring $ 1.53 Dating $ 1.67 HDTV $ 1.67 Tokyo Hotel $ 1.97 California Mortgage $ 3.92 In addition to bid density some keywords also have their worth influenced by the value of the prospective transaction. Keyword(s) Average CPC Hilton Hotel $ 0.40 Pizza $ 0.90 Books $ 0.96 Sports $ 1.06 Diamond Ring $ 1.24 Washington Mortgage $ 1.31 Autos $ 1.32 Hotel $ 1.44 Diamond Engagement Ring $ 1.53 Dating $ 1.67 HDTV $ 1.67 Tokyo Hotel $ 1.97 California Mortgage $ 3.92 A Data Flow Perspective Advertisers User enters Campaign, Budget, Keywords, Bids, Ads, Etc. Customer Mgmt Publisher Campaign Mgmt Editorial Validation Budget Pause Cust CM EV Feed Ad call Delivery Engine Budget Pause Auction adCenter BI Reports Click! Valid Clicks drdr drdr Auction Billing Pipelines Bill cr Redirect Servers To Advertiser’s Site Fraud Credits Aggregations [ Pub Acct, Adv Acct, Order, AdUnit, Medium] Invoicing Card Swipes Revenue Feeds Customer Mgmt Publisher Campaign Mgmt Editorial Validation Budget Pause Cust CM EV Feed Ad call Delivery Engine Perform Customer Sign Up, provide: Address, Credit Card, User ID Budget Pause Auction adCenter BI Reports Click! Valid Clicks drdr drdr Auction Billing Pipelines Bill cr Redirect Servers To Advertiser’s Site Fraud Credits Aggregations [ Pub Acct, Adv Acct, Order, AdUnit, Medium] Invoicing Card Swipes Revenue Feeds Advertiser Customer Mgmt Publisher Cust Campaign Mgmt Editorial Validation Budget Pause CM CM CM CM CM CM CM CM EV Feed Ad call Delivery Engine User enters Campaign, Budget, Keywords, Bids, Ads, Ad Text, Destination URLs, Targeting, etc. Budget Pause Auction adCenter BI Reports Click! Valid Clicks drdr drdr Auction Billing Pipelines Bill cr Redirect Servers To Advertiser’s Site Fraud Credits Invoicing Card Swipes Revenue Feeds Aggregations [ Pub Acct, Adv Acct, Order, AdUnit, Medium] Billions of Keywords exist in our databases. Consider all the permutations of book titles, CDs, product names, ISBNs, SKUs, … Customer Mgmt Publisher Editorial Validation Campaign Mgmt Budget Pause Cust CM EV Feed Ad call Delivery Engine • Risk Management • Relevance • Appropriate use • Legal Budget Pause Auction adCenter BI Reports Click! Valid Clicks drdr drdr Auction Billing Pipelines Bill cr Redirect Servers To Advertiser’s Site Fraud Credits Aggregations [ Pub Acct, Adv Acct, Order, AdUnit, Medium] Invoicing Card Swipes Revenue Feeds Advertisers User enters Campaign, Budget, Keywords, Bids, Ads, Etc. Publisher Ad call Click! Redirect Servers To Advertiser’s Site • Real Time Auction Customer Campaign Editorial • <10 msValidation Response Time Mgmt Mgmt • Partitioned structures, Budget Pause entirely in memory Cust CM EV • Relevance & Ranking • Impression & CTR Feed History Delivery Budget • Many 9’s of uptime Engines Pause • Budget Pause • Algorithms from adLabs Auction researchers adCenter BI Reports • Auction currency, Valid Clicks Auction Billing common units of drdr drdr measure to handle CPM, Pipelines Bill cr CPC, CPA bids Aggregations Fraud Credits [ Pub Acct, Adv Acct, Order, AdUnit, Medium] Advertisers User enters Campaign, Budget, Keywords, Bids, Ads, Etc. Customer Mgmt Publisher Campaign Mgmt Editorial Validation Budget Pause Cust CM EV Feed Delivery Engine Ad call • Redirection required to record the click • Terabytes of logs every day Budget Pause Auction adCenter BI Reports Click! Valid Clicks Auction Billing drdr dr Logs Pipelines Redirect Servers To Advertiser’s Site Fraud Credits Bill Aggregations [ Pub Acct, Adv Acct, Order, AdUnit, Medium] Invoicing Card Swipes Revenue Feeds Here is an excerpt from a paid search impression log, schema & data Schema (partial) Name ClientIP CDate CTime ClientTimeZoneId UserAgent PUID AnonymousId CID GUID RGUID PassportGenderId PassportAgeGroupId PassportZipCode CleanKeyword StartPosition ReturnedAdCnt ListingIds AdIds AmountCharged MatchTypeIds ProbablityOfClicks IXRoundTripTime […] Type StringA(16) DBDate DBTime Int16 StringA(1024) StringA(16) StringA(32) StringA(32) StringA(32) StringA(32) StringA(3) StringA(3) StringA(15) String(256) Int32 Int16 StringA(256) StringA(256) StringA(256) StringA(128) StringA(128) StringA(20) 1 Full Row of Data (scrubbed) Advertisers User enters Campaign, Budget, Keywords, Bids, Ads, Etc. Customer Mgmt Publisher Campaign Mgmt Editorial Validation Budget Pause Cust CM EV Feed Delivery Engine Ad call Budget Pause Auction Valid Clicks adCenter BI Reports Click! drdr dr Debits Credits Pipelines Bill Invoicing Card Swipes Revenue Feeds Aggregations Redirect Servers To Advertiser’s Site Auction Billing [ Pub Acct, Adv Acct, Order, AdUnit, Medium] Fraud Logic Click Fraud analysis seeks to reduce harmful impacts from botnets and other non-human traffic Advertisers User enters Campaign, Budget, Keywords, Bids, Ads, Etc. Customer Mgmt Publisher Campaign Mgmt Editorial Validation Budget Pause Cust CM EV Feed Ad call Delivery Engine • Performance Reporting • Granularity is down to the Keyword • Partitioned for scale Budget Pause Auction BI / Reports Click! Valid Clicks drdr drdr cr Redirect Servers Fraud Credits Auction Billing Pipelines Aggregations [ Pub Acct, Adv Acct, Order, AdUnit, Medium] To Advertiser’s Site [ Pub Acct, Adv Acct, Order, AdUnit, Medium, Keyword] Bill Invoicing Card Swipes Revenue Feeds Advertisers User enters Campaign, Budget, Keywords, Bids, Ads, Etc. Customer Mgmt Publisher • Transactions are Editorial Validation ‘Rated’ at Auction • Billing calculates EV commission splits & recognizes revenue • Invoice Presentment • Fine Grained budget pause Campaign Mgmt Budget Pause Cust CM Feed Ad call Delivery Engine Budget Pause Auction adCenter BI Reports Click! Valid Clicks drdr drdr Pipelines cr Redirect Servers To Advertiser’s Site Fraud Credits Aggregations Auction Billing Bill [ Pub Acct, Adv Acct, Order, AdUnit, Medium] Invoicing Card Swipes Revenue Feeds Advertisers User enters Campaign, Budget, Keywords, Bids, Ads, Etc. Customer Mgmt Publisher Campaign Mgmt Editorial Validation Budget Pause Cust CM EV Feed Ad call Delivery Engine Budget Pause Auction adCenter BI Reports Click! Valid Clicks drdr drdr Auction Billing Pipelines Bill cr Redirect Servers To Advertiser’s Site Fraud Credits Aggregations [ Pub Acct, Adv Acct, Order, AdUnit, Medium] Invoicing Card Swipes Revenue Feeds Advertisers Advertisers User enters Campaign, Budget, Impression Goal, Targeting User enters Campaign, Budget, Keywords, Bids, Ads, Etc. Customer Mgmt Campaign Mgmt Campaign Mgmt Editorial Validation Budget Pause Cust CM CM EV Feed Delivery Engine Negotiated Delivery Engine Budget Pause Auction Ad call adCenter BI Reports Valid Clicks Impressions served drdr drdr Auction Billing Pipelines Bill cr Fraud Credits Invoicing Card Swipes Revenue Feeds Aggregations Display Reports Negotiated Billing Impression, Clicks and events Logs drdr dr Pipelines Aggregations & Rating Bill Invoicing Revenue Feeds Advertisers User enters Campaign, Budget, Keywords, Bids, Ads, Etc. Campaign Mgmt Customer Mgmt Campaign Mgmt Editorial Validation Budget Pause Cust CM CM EV Feed Delivery Engine Negotiated Delivery Engine • User enters Campaign, Budget, Impression Goal, Targeting • Price is Negotiated, typically CPM Budget Pause Auction Ad call adCenter BI Reports Valid Clicks Impressions served drdr drdr Auction Billing Pipelines Bill cr Fraud Credits Invoicing Card Swipes Revenue Feeds Aggregations Display Reports Negotiated Billing Impression, Clicks and events Logs drdr dr Pipelines Aggregations & Rating Bill Invoicing Revenue Feeds Advertisers Advertisers User enters Campaign, Budget, Impression Goal, Targeting User enters Campaign, Budget, Keywords, Bids, Ads, Etc. Customer Mgmt Campaign Mgmt Campaign Mgmt Editorial Validation Budget Pause Cust CM CM EV Feed Delivery Engine Delivery Engine • Single digit millisecond response time • Optimize impression goals and targeting across all inventory Budget Pause Auction Ad call adCenter BI Reports Valid Clicks Impressions served drdr drdr Auction Billing Pipelines Bill cr Fraud Credits Invoicing Card Swipes Revenue Feeds Aggregations Display Reports Negotiated Billing Impression, Clicks and events Logs drdr dr Pipelines Aggregations & Rating Bill Invoicing Revenue Feeds Advertisers Advertisers User enters Campaign, Budget, Impression Goal, Targeting User enters Campaign, Budget, Keywords, Bids, Ads, Etc. Customer Mgmt Campaign Mgmt • Logging can be First or Editorial Third Party Validation • First Party is recorded by the Publisher EV • 3rd Party is recorded by an intermediary • Redirection • 1 px Clear Gif Callbacks Campaign Mgmt Budget Pause Cust CM CM Feed Delivery Engine Negotiated Delivery Engine Budget Pause Auction Ad call adCenter BI Reports Valid Clicks Impressions served drdr drdr Auction Billing Pipelines Bill cr Fraud Credits 3P Aggregations Impression, Clicks and events Logs drdr dr Invoicing Card Swipes Revenue Feeds Display Reports Negotiated Billing Pipelines Aggregations & Rating Bill Invoicing Revenue Feeds Advertisers Advertisers User enters Campaign, Budget, Impression Goal, Targeting User enters Campaign, Budget, Keywords, Bids, Ads, Etc. Customer Mgmt Campaign Mgmt Campaign Mgmt Editorial Validation Budget Pause Cust CM CM EV Feed Delivery Engine Negotiated Delivery Engine • Performance Reporting • Granularity is down to the ad placement • Partitioned for scale Budget Pause Auction Ad call adCenter BI Reports Valid Clicks Impressions served drdr drdr Auction Billing Pipelines cr Fraud Credits Aggregations Display Reports Logs drdr dr Bill Invoicing Card Swipes Revenue Feeds Negotiated Billing Pipelines Aggregations Bill Invoicing Revenue Feeds Advertisers Advertisers User enters Campaign, Budget, Impression Goal, Targeting User enters Campaign, Budget, Keywords, Bids, Ads, Etc. Customer Mgmt Campaign Mgmt Campaign Mgmt Editorial Validation Budget Pause Cust CM CM EV • Pipeline records must be rated • Customers can pay based on Scheduled or Delivered impressions • Billed Amount Feedback to Campaing Mgmt. Feed Delivery Engine Negotiated Delivery Engine Budget Pause Auction Ad call adCenter BI Reports Valid Clicks Impressions served drdr drdr Auction Billing Pipelines Bill cr Fraud Credits Invoicing Card Swipes Revenue Feeds Aggregations Negotiated Billing Display Reports Impression, Clicks and events Logs drdr dr Pipelines Aggregations & Rating RE Bill Rating Invoicing Revenue Feeds Advertisers Advertisers User enters Campaign, Budget, Impression Goal, Targeting User enters Campaign, Budget, Keywords, Bids, Ads, Etc. Customer Mgmt Campaign Mgmt • The scope thus far is Editorial commonly called “Owned Validation and Operated” publisher sites, in this case for EV search and display • What about serving ads elsewhere? Campaign Mgmt Budget Pause Cust CM CM Feed Delivery Engine Negotiated Delivery Engine Budget Pause Auction Ad call adCenter BI Reports Valid Clicks Impressions served drdr drdr Auction Billing Pipelines Bill cr Fraud Credits Invoicing Card Swipes Revenue Feeds Aggregations Display Reports Negotiated Billing Impression, Clicks and events Logs drdr dr Pipelines Aggregations & Rating Bill Invoicing Revenue Feeds Campaign Mgmt CM Ad Delivery Examples: ZDNet.com • Agencies / Adv’s can set up campaigns across the internet • Ads get served on many publisher sites, each may have its own ad delivery platform • Advertisers pay Ad Serving Fees for the service, and negotiated CPM rates with publishers (e.g. for a negotiated display buy) … Microsoft Ecosystem MSN Live Search CNET.com InformationWeek Publishers User enters data describing the inventory for sale – sites, AdUnits (placements) Campaign Mgmt Publisher Mgmt Campaign Mgmt Editorial Validation Budget Pause Pub CM CM EV Feed Delivery Engine Contextual Delivery Engine Negotiated Delivery Engine Budget Pause Auction Contextual Ad call adCenter BI Reports Valid Clicks Impressions served drdr drdr Auction Billing Billing Pipelines cr Fraud Credits Payments Aggregations Invoicing Card Swipes Revenue Feeds Payments Display Reports Redir Negotiated Billing Impression, Clicks and events Logs drdr dr Pipelines Aggregations & Rating Bill Invoicing Revenue Feeds Publishers Publisher Mgmt Campaign Mgmt Campaign Mgmt Editorial Validation Budget Pause CM CM Pub Delivery Engine • Publishers enter describing what they have to sell • Sites, Channels, Targeting, AdUnits Feed Contextual Delivery Engine Negotiated EV Delivery Engine Budget Pause Auction Contextual Ad call adCenter BI Reports Valid Clicks Impressions served drdr drdr Auction Billing Billing Pipelines cr Fraud Credits Payments Aggregations Invoicing Card Swipes Revenue Feeds Payments Display Reports Redir Negotiated Billing Impression, Clicks and events Logs drdr dr Pipelines Aggregations & Rating Bill Invoicing Revenue Feeds Publishers • Contextual Delivery matches derived Editorial Validation keywords from target sites to those bid by Advertisers EV • Auction-based • CPC, CPM or CPA based pricing; CPC most common • Publisher Editorial occurs (not shown) User enters data describing the inventory for sale – sites, AdUnits (placements) Publisher Mgmt Campaign Mgmt Campaign Mgmt Budget Pause Pub CM CM Feed Delivery Engine Negotiated Contxtl Delivery Auction Ad call Delivery Engine Budget Pause adCenter BI Reports Valid Clicks Impressions served drdr drdr Auction Billing Billing Pipelines cr Fraud Credits Payments Aggregations Invoicing Card Swipes Revenue Feeds Payments Display Reports Redir Negotiated Billing Impression, Clicks and events Logs drdr dr Pipelines Aggregations & Rating Bill Invoicing Revenue Feeds Publishers • Impressions logged ServerEditorial side for CPM (1st Party Validation Numbers) at present • Clicks logged via EV redirect servers similar to search (not shown) for CPC • Fraud detection combats click fraud from bots or other means User enters data describing the inventory for sale – sites, AdUnits (placements) Campaign Mgmt Publisher Mgmt Campaign Mgmt Budget Pause Pub CM CM Feed Delivery Engine Contextual Delivery Engine Negotiated Delivery Engine Budget Pause Auction Contextual Ad call Valid Clicks adCenter BI Reports Auction Billing drdr drdr Impressions served Billing Pipelines cr Fraud Credits Payments Aggregations Invoicing Card Swipes Revenue Feeds Payments Display Reports Redir Fraud Logic Negotiated Billing Impression, Clicks and events Logs drdr dr Pipelines Aggregations & Rating Bill Invoicing Revenue Feeds Publishers • Publisher-specific reports exist Editorial Validation • Report by AdUnit, Site, Channel • Performance & EV Revenue reports User enters data describing the inventory for sale – sites, AdUnits (placements) Campaign Mgmt Publisher Mgmt Campaign Mgmt Budget Pause Pub CM CM Feed Delivery Engine Contextual Delivery Engine Negotiated Delivery Engine Budget Pause Auction Contextual Ad call BI / Reporting Valid Clicks Impressions served drdr drdr cr Fraud Credits Auction Billing Billing Pipelines Payments Invoicing Card Swipes Revenue Feeds Payments Aggregations Display Reports Redir Negotiated Billing Impression, Clicks and events Logs drdr dr Pipelines Aggregations & Rating Bill Invoicing Revenue Feeds • Each pipeline record increments an advertiser’s pendingEditorial bill and a Validation publisher’s pending check • Revenue recognition proceeds EV as it did for search (rev rec on delivery) • Publisher and Advertiser need not share pricing model (CPM, CPC,…) Publishers User enters data describing the inventory for sale – sites, AdUnits (placements) Campaign Mgmt Publisher Mgmt Campaign Mgmt Budget Pause Pub CM CM Feed Delivery Engine Contextual Delivery Engine Negotiated Delivery Engine Budget Pause Auction Contextual Ad call Billing & Payout adCenter BI Reports Valid Clicks Impressions served drdr drdr Billing Pipelines cr Fraud Credits Aggregations Payments Invoicing Card Swipes Revenue Feeds Payments Display Reports Redir Negotiated Billing Impression, Clicks and events Logs drdr dr Pipelines Aggregations & Rating Bill Invoicing Revenue Feeds Publishers User enters data describing the inventory for sale – sites, AdUnits (placements) Campaign Mgmt Publisher Mgmt Campaign Mgmt Editorial Validation Budget Pause Pub CM CM EV Feed Delivery Engine Contextual Delivery Engine Negotiated Delivery Engine Budget Pause Auction Contextual Ad call adCenter BI Reports Valid Clicks Impressions served drdr drdr Auction Billing Billing Pipelines cr Fraud Credits Payments Aggregations Invoicing Card Swipes Revenue Feeds Payments Display Reports Redir Negotiated Billing Impression, Clicks and events Logs drdr dr Pipelines Aggregations & Rating Bill Invoicing Revenue Feeds Publishers … Inventory Mgmt Advertisers Yield Mgmt Targeting Search Display Negotiated Creative Assets Targeting … Campaign Mgmt Publisher Mgmt Off-Network Delivery Content Pub CM Contextual Delivery Engine Search Delivery Engine Auction Delivery Engine Budget Pause Cust Common Customers, Accounts & Users BI / Reports drdr dr Pipelines Redir Off-Network Delivery Numbers drdr dr Pipelines 3rd Party Online Pipelines 3rd Party Offline (Print…) Pipelines Aggregations Billing Billing Payments Contract Mgmt CP* Pricing Invoicing Card Swipes Revenue Payments Publishers … Inventory Mgmt Yield Mgmt Targeting Search Publisher Mgmt Off-Network Delivery Negotiated Pub CM Contextual Delivery Engine Search Delivery Engine Key Concepts: • Mixed Campaigns – Search, Content, Advertisers Display Creative • Shared Creatives Display Content Targeting Assets … • On/Off Network Campaign Mgmt delivery • On/Offline delivery • Expose as Platform Auction Delivery Engine Budget Pause Cust Common Customers, Accounts & Users BI / Reports drdr dr Pipelines Redir Off-Network Delivery Numbers drdr dr Pipelines 3rd Party Online Pipelines 3rd Party Offline (Print…) Pipelines Aggregations Billing Billing Payments Contract Mgmt CP* Pricing Invoicing Card Swipes Revenue Payments Ad Exchanges offer a means for networks to inventory and campaign requests that cannot be optimally fulfilled on their own network. An advertiser on Network 2 might yield the highest CPM for a publisher on Network 1 for a given page view. Network 1 Network 2 Ad Exchange Network 3 • Flat fee basis (not %) • Like a stock exchange A Data Perspective Advertiser Customer 234 Agency The Customer object represents the bricks & mortar company entity Customer 345 Account 1 Adv Relationship, Currency, Agency, Comm % Account 2 Adv Inv Budget, Date Range Campaigns Adgroups Ads Ad Text Target URL URL Params Targeting Keywords Bid prices This view shows data objects related to Customers that participate on the “Buy Side” of the ecosystem, aka Advertisers. This conceptual schema is for Search Ads. The Customer object represents the bricks & mortar company entity. A single customer can have more than 1 kind of relationship, (e.g. advertiser, publisher, web analytics, product catalog integration, cashback, etc.) Customer 123 Account 3 Pub Account 4 Pub Sites Channels Relationship, Currency, Agency Chk User defined reporting tags AdUnits Keyword Hints Targeting AdUnit 1 2 This view shows data objects related to Customers that participate on the “Sell Side” of the ecosystem, aka Publishers. This conceptual schema is for Content Ads. Customer 123 Customer 234 Account 3 Pub Account 4 Pub Chk Sites AdGroups Targeting This is how billing and reporting “connect the dots” Pipelines += USD 10*N% to Check Customer 345 % Account 1 Adv Account 2 Adv Agent Campaigns AdGroups Keywords Ads Targeting += USD 10 to Invoice Pub: A4 | Adv: A2 | Qty: 10 | Amt: $10 | … Inv What does it mean to plug into this ecosystem as a developer? What kind of scenarios are possible going forward? UI, APIs API Librarie examples: Advertising Ecosystem(s) Campaign Management Publisher Management Buy Sell Deliver Report Reporting Exchange Ad Delivery / Ad Calls Example capabilities: Keyword / Bid Management Bring Your Own Targeting (BYOT) Extract Performance Data Desktop Client Web Based App Publish Assets for Sale (Content, Application, Graphics, Video, …) Call Pattern to add an array of Campaigns and related objects: AddCampaigns() AddAdGroups() AddKeywords() AddAds() AddTarget() Injection of Demand into the Buy Side of the Platform Campaign BudgetType CashBack ConversionTrackingEnabled ConversionTrackingScript DailyBudget DaylightSaving Id MonthlyBudget Name NegativeKeywords TimeZone http://msdn.microsoft.com/en-us/library/bb672088.aspx The ad platform will permit applications to interact with it in many ways: UI, APIs Developers build Applications: Advertising Ecosystem (1) Apps that Manage Ads Buy Sell Deliver App Exchange (2) Apps that show Ads App Desktop tools Silverlight apps Web Apps Gadgets … Report • Power Users • Bulk Operations • Download • Bulk Edits • Upload API (HTTPS) Campaign Mgmt UI Mid tier CM Develop Ad Call Deploy with Streaming by Windows Live Content Ads $ Revisiting the Component View Revisiting the Cross-section of an Advertising Platform User/Role Mgmt AuthN Balance Mgmt $$ Account Mgmt Kwd / Site Selection Audience Research Internal Reports Web Analytics Campaign ROI Optm Site/Medium Selection Publisher Reports Advertiser Analytics Automation Engines Budget Allocation Advertiser Reports Publisher Analytics Pre-Sales BI Reporting Analytics Customer Management Live ID Service Invoicing & Cr. Cards Topology Mgmt Creative Marktplace Brand Campaigns Preference Mgmt Creative Design Search Campaigns Yield Mgmt Creative Library Other Campaigns Publisher Mgmt Creative Mgmt Campaign Mgmt Rebates Payout Segment Studio Raw Data Store Revenue Recog BT Service Ad/Site Relevance Billing Ad Quality Check Ad/Kwd Relevance Site Quality Verification Relevance Verification Site Quality Verification Ad Quality Verification Pub Editorial Listing, Order, Bid, Schedule updates Ad Editorial Price Estimation Inventory Estimation CTR Estimation CPA Estimation Estimation Engines Search sites Client-Side Ad Engine Software Apps Feedback Semiconnected Devices Mobile Sites Publishers Gateway Content sites Segmentat ion Engine Creative Store Rendering Engine Creative Fetch Ad Call Site Data Logging Creative Delivery Display Delivery Contextual Delivery Real-time Content Ad Yield Decision Engine Paid Search Delivery (incl. Local Ranking) Ad Selection Engines Fraud Detection Feedback ETL / Agg Ad Data Logging ETL / Agg Qlty Score Calc. Ad Data Processing Site Data Processing What we covered today User/Role Mgmt AuthN Balance Mgmt $$ Account Mgmt Kwd / Site Selection Audience Research Internal Reports Web Analytics Campaign ROI Optm Site/Medium Selection Publisher Reports Advertiser Analytics Automation Engines Budget Allocation Advertiser Reports Publisher Analytics Pre-Sales BI Reporting Analytics Customer Management Live ID Service Invoicing & Cr. Cards Topology Mgmt Creative Marktplace Brand Campaigns Preference Mgmt Creative Design Search Campaigns Yield Mgmt Creative Library Other Campaigns Publisher Mgmt Creative Mgmt Campaign Mgmt Rebates Payout Segment Studio Raw Data Store Revenue Recog BT Service Ad/Site Relevance Billing Ad Quality Check Ad/Kwd Relevance Site Quality Verification Relevance Verification Site Quality Verification Ad Quality Verification Pub Editorial Listing, Order, Bid, Schedule updates Ad Editorial Price Estimation Inventory Estimation CTR Estimation CPA Estimation Estimation Engines Search sites Client-Side Ad Engine Software Apps Feedback Semiconnected Devices Mobile Sites Publishers Gateway Content sites Segmentat ion Engine Creative Store Rendering Engine Creative Fetch Ad Call Site Data Logging Creative Delivery Display Delivery Contextual Delivery Real-time Content Ad Yield Decision Engine Paid Search Delivery (incl. Local Ranking) Ad Selection Engines Fraud Detection Feedback ETL / Agg Ad Data Logging ETL / Agg Qlty Score Calc. Ad Data Processing Site Data Processing www.microsoftpdc.com