U.S. patent application number 13/329944 was filed with the patent office on 2012-04-19 for system and method for managing advertising campaign data.
Invention is credited to Gilles Drieu, Gary Steven Grossman, Suzanne Mattis Johnson, Vladislav Sinaniyev, Dritan Suljoti, Steven Wolkoff.
Application Number | 20120095847 13/329944 |
Document ID | / |
Family ID | 35600576 |
Filed Date | 2012-04-19 |
United States Patent
Application |
20120095847 |
Kind Code |
A1 |
Wolkoff; Steven ; et
al. |
April 19, 2012 |
SYSTEM AND METHOD FOR MANAGING ADVERTISING CAMPAIGN DATA
Abstract
A method and system for managing ad campaign data. According to
one embodiment, an application receives a request to store data
associated with an ad campaign, and responsive to the request,
stores one or more output files and context information associated
with the data, the context information assembled according to a
pre-defined data format defining a role of the data within the ad
campaign.
Inventors: |
Wolkoff; Steven; (San
Francisco, CA) ; Sinaniyev; Vladislav; (Flushing,
NY) ; Suljoti; Dritan; (Astoria, NY) ;
Grossman; Gary Steven; (San Francisco, CA) ; Drieu;
Gilles; (San Frfancisco, CA) ; Johnson; Suzanne
Mattis; (Brooklyn, NY) |
Family ID: |
35600576 |
Appl. No.: |
13/329944 |
Filed: |
December 19, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10891517 |
Jul 15, 2004 |
8082178 |
|
|
13329944 |
|
|
|
|
Current U.S.
Class: |
705/14.73 |
Current CPC
Class: |
G06Q 30/0276 20130101;
Y10S 715/971 20130101; G06Q 30/0277 20130101; G06Q 30/02
20130101 |
Class at
Publication: |
705/14.73 |
International
Class: |
G06Q 30/02 20120101
G06Q030/02 |
Claims
1-23. (canceled)
24. A computer-implemented method for managing ad campaign data,
comprising: receiving, by at least one processor, a request to
store data associated with an ad campaign; obtaining, by at least
one processor, context information based on information received in
the request, the context information including information
regarding an ad type; validating, by at least one processor and
based on the information regarding the ad type, the context
information when the context information is sufficient to define a
valid ad campaign of a type associated with the ad type; and
responsive to the request, storing, by at least one processor, one
or more output files and the validated context information
associated with the data in a package file.
25. The method of claim 24, wherein the request is received through
a graphical user interface of an authoring tool.
26. The method of claim 25, wherein the data associated with the ad
campaign corresponds to a creative.
27. The method of claim 26, wherein the authoring tool is a
software application for generating the creative.
28. The method of claim 27, wherein the one or more output files
include an asset file associated with the creative generated by the
authoring tool.
29. The method of claim 28, wherein the asset file is one of an
audio file, video file and an image file.
30. The method of claim 28, wherein the asset file is a vector
graphic animation file.
31. The method of claim 25, wherein the data associated with the ad
campaign corresponds to a media plan.
32. The method of claim 25, wherein the authoring tool is a word
processing application for generating the media plan.
33. The method of claim 32, wherein the one or more output files
include a word processing file associated with the media plan
generated by the authoring tool.
34. The method of claim 24, wherein the pre-defined data format is
based on an extensible markup language schema.
35. The method of claim 24, wherein the context information is
stored in an extensible markup language document.
36. The method of claim 24, wherein the context information is
stored in one or more of the one or more output files.
37. The method of claim 24, wherein the context information is
stored in an e-mail.
38. The method of claim 24, wherein the context information relates
to the ad campaign associated with the data.
39. The method of claim 38, wherein the context information
includes at least one of a campaign name, a campaign start time and
a campaign end time.
40. The method of claim 24, wherein the context information relates
to the data associated with the ad campaign.
41. The method of claim 40, wherein the context information
includes at least one of output file name associated with a
creative and type of creative.
42. The method of claim 40, wherein the context information
includes at least one of an output file name associated with a
media plan and media buy information.
43. The method of claim 24, further comprising determining whether
additional context information is required based on validating the
obtained context information, and obtaining supplemental context
information if additional context information is necessary.
44. A machine-readable medium having stored thereon a plurality of
executable instructions for managing ad campaign data, the
plurality of executable instructions causing a processor to:
receive a request to store data associated with an ad campaign;
obtain context information based on information received in the
request, the context information including information regarding an
ad type; validate, based on the information regarding the ad type,
the context information when the context information is sufficient
to define a valid ad campaign of a type associated with the ad
type; and responsive to the request, store one or more output files
and the validated context information associated with the data in a
package file.
45. The machine-readable medium of claim 44, wherein the plurality
of executable instructions further cause the processor to:
determine whether additional context information is required based
on validating the obtained context information; and obtain
additional context information when additional context information
is necessary.
46. A system for managing ad campaign data, comprising: means for
receiving a request to store data associated with an ad campaign;
means for obtaining context information based on information
received in the request, the context information including
information regarding an ad type; a processor operable to determine
whether the obtained context information is sufficient to define a
valid ad campaign of a type associated with the ad type based on
analysis of obtained context information; means for obtaining
additional context information when the obtained context
information is not sufficient to define a valid ad campaign of the
type associated with the ad type; and means for storing, in
response to the request and when the obtained context information
is valid, one or more output files and the obtained context
information associated with the data in a package file.
Description
BACKGROUND OF THE INVENTION
[0001] One of the major problems in online advertising is that it
takes a long time for a campaign to go live. Two of the main
factors driving this problem are: involvement of many people and
stakeholders, and complex creatives. A creative refers to the
content of an advertisement which is displayed on a web site.
[0002] The first main factor is illustrated in FIG. 1. A typical
campaign process is as follows: an advertiser (advertiser 115)
comes up with a campaign, campaign goals, and campaign budget to
promote a product or service. The advertiser works with an agency
(agency 105) to arrive at a media plan which includes media buys
(i.e., ad buys) across a series of publishers (e.g., publisher
100). The agency then negotiates these buys with the various
publishers and sends orders to them once negotiations are
completed.
[0003] During this process the agency sends campaign goals, target
market information and creative specifications to a creative
agency/designer (designer 110) to come up with a creative strategy
and story boards (step 120). Once created (step 125), the designer
sends the creative strategy and story boards back to the agency to
assess whether the creative strategy matches the campaign goals
(step 130). If not, the agency sends feedback to the designer (step
135), who revises the strategy and story boards (step 140) and
sends them back for further review. If so, the agency forwards the
creative strategy and story boards to the advertiser to assess
whether the strategy matches the goals and company image (step
145). If not, the advertiser returns the strategy and boards to the
agency with comments (step 150), at which point the agency forwards
the feedback to the designer (step 135) for revised strategy and
story boards (step 140). If so, the advertiser approves the
creative strategy and story boards (step 155).
[0004] Upon the advertiser's approval, the agency gives approval
for the design of the creatives to the designer (step 160), who
then generates the creatives (step 165). The designer sends the
generated creatives to the agency, who sends them on to one or more
publishers (step 170). The publisher checks to make sure the
creatives are within the proper specifications (step 175), and if
they are, the publisher books and delivers the creatives on its ad
serving system (step 180). If not, the publisher sends the
creatives with feedback to the agency (step 185), who forwards the
feedback to the designer (step 190). The designer redesigns the
creatives (step 195) and forwards them back to the agency, who
sends them back to the publisher (step 170).
[0005] As illustrated by this process, multiple parties are
involved and several pieces of information are exchanged between
them. This creates room for error and a complex network of
communication among involved groups.
[0006] The second main factor driving the increasing length of time
for a campaign to go live is the creative complexity. Some
creatives are relatively simple and composed of one asset file,
such as a graphic file; however, advertisers have recently been
using more and more interactive ads called "rich media" ads. Rich
media ads differ depending on the technology they use, but are
similar in that they are all composed of several asset files. The
most common rich media ads are Flash creatives, which are composed
of HTML files which display the creative, main SWF files which
contains most of the creatives, other child SWF files that contain
different parts of the creative, image files which serve as back up
content or are called by the different SWF files, and other
auxiliary files like audio, video, XML, or text files. A rich media
creative can be composed of 2-20 or more different files, which
need to be placed and referenced correctly on an ad serving system.
Sometimes the creative code needs information which the designer
does not have but the agency has--in other cases the publisher has
the required information.
[0007] Accordingly, there is a need in the art for a system and
method for managing the data associated with advertising campaigns
in a simple and efficient manner.
SUMMARY OF THE INVENTION
[0008] Embodiments of the present invention provide for managing ad
campaign data. According to one embodiment, an application receives
a request to store data associated with an ad campaign, and
responsive to the request, stores one or more output files and
context information associated with the data, the context
information assembled according to a pre-defined data format
defining a role of the data within the ad campaign.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] FIG. 1 is a flowchart that depicts a creative process behind
creative design and booking.
[0010] FIG. 2 is a block diagram that depicts a process for
managing ad campaign data in accordance with an embodiment of the
present invention.
[0011] FIG. 3 is a block diagram that depicts a package file in
accordance with an embodiment of the present invention.
[0012] FIG. 4 is a flowchart that depicts a packaging process in
accordance with an embodiment of the present invention.
[0013] FIG. 5 is a flowchart that depicts a importing process in
accordance with an embodiment of the present invention.
[0014] FIG. 6 is a block diagram that depicts a user computing
device in accordance with an embodiment of the present
invention.
[0015] FIG. 7 is a block diagram that depicts an application
architecture for an application in accordance with an embodiment of
the present invention.
DETAILED DESCRIPTION
[0016] FIG. 2 depicts a process for managing ad campaign data in
accordance with an embodiment of the present invention. As
explained above, the process of implementing an ad campaign can
involve different parties in different locations, such as publisher
100, agency 105, designer 110 and advertiser 115. In FIG. 2, user
220 uses authoring tool 200 to design some form of output (step
210) to be utilized within the ad campaign.
[0017] For example, user 220 could be an agency creating a media
plan (i.e., output) using a word processing application such as
Microsoft Word (i.e., authoring tool 200). In another embodiment
user 220 could be a creative designer generating a creative
strategy (i.e., output) using a word processing application (i.e.,
authoring tool 200), or the designer could be producing a creative
(i.e., output) using a corresponding software application such as
Macromedia Flash (i.e., authoring tool 200).
[0018] Irrespective of the particular use of authoring tool 200,
instead of authoring tool 200 simply producing corresponding output
files (such as a Microsoft Word DOC or RTF file, or the various
output files associated with Flash creatives discussed above),
authoring tool 200 provides user 220 with the ability to save the
output as a package that relieves user 220 of the need to alter,
supplement, organize, or otherwise manage the output in its
transition to the next user or role in the ad campaign process.
[0019] An embodiment of such a package is illustrated in FIG. 3 as
package file 300. Package file 300 includes the various output
files generated within the ad campaign process along with a
configuration file (config file 350), which stores information that
provides a context of the output file data with respect to the
corresponding ad campaign. The various output files in package file
300 include media plan file 305, creative strategy file 310 and
some Flash creative files (e.g., HTML files 315, main SWF files
320, child SWF files 325, image files 330, audio files 335, video
files 340 and XML files 345).
[0020] Presume, for instance, that user 220 is a designer who saves
a newly generated rich media creative as a package according to the
present invention. With the benefit of having the data associated
with an ad campaign packaged in this manner, user 220 next merely
e-mails the package file (step 225) over the Internet (230) to user
235 (e.g., an agency trafficker or publisher), who simply uploads
the package file (step 250) into publishing tool 240 (e.g., an ad
serving system) for automatic booking and delivery (step 255) to
Internet user 260 over the Internet (230).
[0021] Without the benefit of the present invention, user 220 would
have manually written up the implementing code for displaying the
ad, or reused previously designed code and modified it to make the
creative displayable. Once the code was written, user 220 would
have sent the code and the asset for the creative to user 235, who
then would have tested the creative, and could have modified it or
used its own code to display the creative. The main reasons behind
modifying the code for the creative are that different publishers
have different specifications as to how the creative should be
displayed and behave, and that there are many different ways of
coding creatives, and certain companies have their preferred way of
coding creatives because they do not want to spend too much time
testing the creatives. Additionally, user 235 would have manually
booked the creative, first by inputting the relevant campaign
information into publishing tool 240 (e.g., campaign start time,
end time, etc.) and uploading, organizing and arranging the
creative output files into publishing tool 240.
[0022] By packaging the data associated with an ad campaign
according to the present invention, software tools used in the ad
campaign process can utilize additional functionality (embodied by
package interfaces 205 and 245) to fully automate the processing of
the packaged output files based on the information in the packaged
configuration file. Thus, the present invention provides a simple
method of transporting data associated with ad campaigns between
users that are in different locations and using different
applications. According to one embodiment, package interfaces 205
and 245 allow users to easily package and import (i.e., upload)
multiple pieces of information in one file, versus having to deal
with multiple files and figuring out where and how each file should
be used.
[0023] FIG. 4 illustrates an exemplary packaging process
implemented by package interface 205 in accordance with an
embodiment of the present invention. After a designer (user 220)
utilizes authoring tool 200 to create artwork (e.g., a creative),
the designer selects a "Save As" or "Publish option" in order to
save the work. Upon receiving this request to store ad campaign
data (step 400), package interface 205 displays a modal window
asking the designer for the following context information (step
410): [0024] Campaign Info [0025] Creative Type [0026] Creative
Name [0027] Description [0028] Width [0029] Height
[0030] Once the designer fills out the information and selects
"banner" as the creative type, package interface 205 looks at
internal settings of authoring tool 200 (e.g., config file,
registry or code instructions) to find out what other fields the
designer should fill out (step 420). Because banner type creatives
require supplemental context information, package interface 205
next displays two new fields for input (step 430): [0031] Alt Text
[0032] Exit Link The "Alt Text" field relates to an alternative
text message to be displayed by a web browser in the event that the
banner ad does not render. The "Exit Link" field relates to a
click-through URL address to be followed in the event the banner is
clicked.
[0033] Once the designer has filled out these fields and clicks
"Publish", package interface 205 validates the information (step
440), and if the information is valid, creates a special file
(i.e., a package file) containing: [0034] Config File: includes all
the settings for the creative which were input by the user or were
associated with the artwork [0035] Artwork: the actual file the
designer created (e.g., creative output files)
[0036] An example of a config file follows:
TABLE-US-00001 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE DTDReference SYSTEM "DTDReference.dtd">
<CampaignInfo> <CampaignName>Fall
Campaign</CampaignName> <StartTime>1 November
2003</StartTime> <EndTime>1 November
2004</EndTime> </CampaignInfo> <Creatives>
<CreativeInfo id="Creative1">
<FileName>banner.gif</FileName>
<Type>Banner</Type> <Width>468</Width>
<Height>60</Height> <AltText>Click
Here</AltText>
<ExitLink>http://www.site.com</ExitLink>
</CreativeInfo> </Creatives> </xml>
[0037] As illustrated in this embodiment, the config file is an XML
document in which the context information is assembled according to
a pre-defined data format based on an XML schema. The data format
defines the role of the output data within the ad campaign, so that
package interfaces 205 and 245 can rely upon the information in the
config file to automatically process the corresponding output files
within their respective application tools. In other embodiments the
config file may include other ad campaign data like ad buys or
order information.
[0038] According to an exemplary embodiment, the package file may
be compressed using one of the different compression technologies
available (e.g., zip, gzip, rar, etc.) and can be encrypted for
security purposes. Different applications can be built so they can
create, view, modify such package files. For example, a user can
open a creative designing tool such as Flash, create the ad in that
tool, package it using the technology mentioned above, and pass to
another user that can actually upload the package in an ad serving
system which in turn opens the package and processes it as
necessary to correctly deliver the creative.
[0039] In another embodiment the packaged data may be included in
more than one file. In yet another embodiment, the information
associated with the config file may be placed in an e-mail with the
corresponding output files as attachments. In yet another
embodiment, the information associated with the config file may be
incorporated into one or more of the corresponding output
files.
[0040] FIG. 5 illustrates an exemplary importing process
implemented by package interface 245 based on the above config and
creative output files in accordance with an embodiment of the
present invention. Once the ad serving system (publishing tool 240)
receives a request to import the artwork (step 500) by an agency
(user 235), package interface 245 uploads the config and creative
output files (step 510) and validates the package (step 520).
Package interface 245 then stores internally the package and the
individual files the package contains, and uses the information
passed in the config file and information stored in a global
template file to build the final code needed to display the
creative to a viewer in a web browser (step 530). The global
template file stores all the necessary business logic that is
required to create the necessary output for the ad creative.
[0041] An example of a global template file follows:
TABLE-US-00002 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE DTDReference SYSTEM "DTDReference.dtd">
<BannerCreative> <![CDATA [ <!-- business logic -->
]]> </BannerCreative> <OtherCreative> <![CDATA [
<!-- business logic --> ]]> </OtherCreative>
</xml>
In this embodiment package interface 245 checks the creative type
in the config file for each creative, and based on the type creates
the code necessary to display each creative based on the business
logic specified for that type in the global template. Thus, if the
creative is of the type "Banner" it would be deployed using the
business logic generated and stored in the "BannerCreative" node of
the global template.
[0042] Additionally, through package interface 245 the agency may
view the settings of the creative on the ad serving system's
application UI and edit any of the settings or information that
came with the package. The settings can be changed at any time and
the ad serving system can easily modify the config file and rebuild
the code every time a change is applied.
Application Architecture
[0043] FIG. 6 is a block diagram depicting the internal structure
of user computing device 600 in accordance with an embodiment of
the present invention. User computing device 600 may be a personal
computer, handheld personal digital assistant ("PDA"), or any other
type of microprocessor-based device. User computing device 600 may
include one or more of processor 610, input device 620, output
device 630, storage 640, and communication device 660.
[0044] Input device 620 may include a keyboard, mouse, pen-operated
touch screen, voice-recognition device, or any other device that
provides input. Output device 630 may include a monitor, printer,
disk drive, speakers, or any other device that provides output.
[0045] Storage 640 may include volatile and nonvolatile data
storage, including one or more electrical, magnetic or optical
memories such as a RAM, cache, hard drive, CD-ROM drive, tape drive
or removable storage disk. Communication device 660 may include a
modem, network interface card, or any other device capable of
transmitting and receiving signals over a network.
[0046] Web browser 650, which may be stored in storage 640 and
executed by processor 610, may include Internet Explorer by
Microsoft Corp. or Communicator.RTM. by Netscape Communications
Corp., or any other software program that displays data from a web
server via output device 630.
[0047] The components of user computing device 600 may be connected
via an electrical bus or wirelessly.
[0048] FIG. 7 is a block diagram depicting an application
architecture for an application in accordance with an embodiment of
the present invention. According to one particular embodiment, when
user 700 employs web-based application services of application 720
(e.g., authoring tool 200 or publishing tool 240), user computing
device 600 sends and receives via web browser 650 HTTP ("Hypertext
Transport Protocol") requests (or any similar protocol requests) to
and from web application server 730 via network link 715a, network
710, and network link 715b.
[0049] Network link 715 may include telephone lines, DSL, cable
networks, T1 or T3 lines, wireless network connections, or any
other arrangement that provides a medium for the transmission and
reception of network signals. Network 710 may include any type of
interconnected communication system, which may be based on packets,
cells or circuits, for example.
[0050] Network 710 may implement any number of communications
protocols, including TCP/IP (Transmission Control Protocol/Internet
Protocol). The communication between UCD 600 and web application
server 730 may be secured by any security protocol, such as SSL
(Secured Sockets Layer).
[0051] Web application server 730 includes a processor and memory
for executing program instructions, as well as a network interface,
and may include a collection of servers working in tandem to
distribute the network functionality and load. In one particular
embodiment, web application server 730 may include a combination of
servers such as a web application server, a web user interface
server and a database server, all of which could be manufactured by
Sun Microsystems, Inc. Web application server 730 could run an HTTP
server program in one embodiment, such as Apache.RTM., as a process
under an operating system such as UNIX.RTM. (or any variant
thereof). Database 740 may be part of a relational database
program, such as MySQL.RTM. that may be run as a process by a
database server within the UNIX.RTM. operating system, for
example.
[0052] Application software residing in web application server 730
may take the form of custom-written programs and libraries that
run, either interpreted or compiled, in part as a result of HTTP
requests received by web application server 730. These programs may
be written in any programming language, such as C, C++ or Java, and
they may generate an HTML user interface of application 720. The
application software may be built on a web-based enterprise
application platform, such as J2EE.RTM. (Java 2 Platform,
Enterprise Edition).
[0053] Several embodiments of the invention are specifically
illustrated and/or described herein. However, it will be
appreciated that modifications and variations of the invention are
covered by the above teachings and within the purview of the
appended claims without departing from the spirit and intended
scope of the invention.
* * * * *
References