BB49: A Day in the Life of a Click

advertisement
 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
Download