This disclosure relates to information management.
Web pages on the Internet frequently include advertisements. In some cases, stylistic elements of the advertisements, such as font faces, sizes, and colors, are specified when the ad is requested from an ad server. Custom settings for a given web page publisher may be stored at the ad server and applied to ads for that publisher automatically.
Cascading Style Sheets (CSS) is a mechanism for adding stylistic elements to web documents. CSS files associated with web pages include formatting definitions that can be applied to the content of the web pages by reference, without the web pages including specific formatting details themselves. Different CSS pages can be used to display a common web page in different styles, in different formats, or on different devices, to name a few examples.
In general, in one aspect, general instructions for formatting advertisements are identified, content for a specific advertisement is identified; and the identified content is displayed on a medium according to the identified formatting instructions.
Implementations may include none, one or more of the following features. The formatting instructions can include a CSS file. The formatting instructions can include instructions to apply a CSS file. The medium can include one or more of a web page, a video, or a printed document. The formatting instructions and the content can each be received from a different source. Obtaining the set of instructions can include retrieving the instructions from a location specified by a source of the instructions. Obtaining the set of instructions can include retrieving the instructions from a location identified by a source of the web page. The formatting instructions can be received from a source of the medium. Receiving the instructions can include identifying the source of the medium, determining that the source of the web page has identified a set of instructions for formatting advertisements, and obtaining the set of instructions identified by the source of the medium. The formatting instructions can be associated with a user. Receiving the instructions can include identifying the user, determining that the user has identified a set of instructions for formatting advertisements, and obtaining the set of instructions identified by the user. The formatting instructions can be associated with a source of the advertisement. Receiving the instructions can include identifying an advertiser associated with the specific advertisement, determining that the advertiser has identified a set of instructions for formatting advertisements, and obtaining the set of instructions identified by the advertiser.
In general, in another aspect, in connection with offering to publish advertisements, a CSS file is identified to be used to format advertisements.
Implementations may include one of more of the following features. Identifying the CSS file can include providing a copy of the CSS file. Identifying the CSS file can include providing a location of the CSS file. Identifying the CSS file can include identifying a specific CSS file associated with a user. An advertisement to publish can be received, formatted according to the identified CSS file, and published. An advertisement to publish can be received and published with the identified CSS file. A first price can be identified at which the identified CSS file will be used to format the advertisements, and a second price can be identified at which a CSS file other than the identified CSS file will be used to format the advertisements. An advertisement to publish and a CSS file other than the identified CSS file can be received, and the advertisement can be formatted according to the received CSS file and published.
These and other aspects and features, and combinations of them, may be expressed as methods, apparatus, systems, means for performing functions, program products, and in other ways. Other features and advantages of the invention will be apparent from the description and the claims.
In the example of
The advertisements 122 are derived from advertisement content 124 (e.g., created by an advertiser) and are provided to the advertisement server 106 by the advertiser device 108. Alternatively, the system 100 or a third party can provide the advertisement content 124. The advertisements 122 may be stored in a data repository 118 at the advertisement server 106 or they may be provided on-demand directly from the advertiser device 108, which may itself be an advertisement server. In some examples, the advertisements 122 are generated on-demand by the advertisement server based on general instructions rather than specific content provided by the advertiser. For example, an advertisement may be generated directing a user to a current auction listing for a product a user entered as input in a search engine.
The client device 104 includes a web browser program 120. The web browser 120 can, among other things, display the web page 114 retrieved from the web server 102 through the network 110. The web page 114 can be requested by the user device 104 or the web server 102 may provide it without a request from the user device 104. The web browser 120 may also display the advertisements 122 if they are delivered without having first been integrated into the web page 114. In some examples, the web browser 120 may integrate the advertisements 122 into the web page 114 itself. Alternatively, or in addition, the web browser 120 may display the advertisements separately from the web page 114.
The web server 102, client device 104, advertisement server 106, and advertiser server 108, in the example of
When advertisements are presented on web pages, one or more parties may desire to control the appearance of the advertisements.
The parties who may desire to control the appearance of advertisements include the author or publisher of the web page on which they appear, the advertiser, and the user who is ultimately viewing the ads. The author or publisher may want to assure that advertisements placed on his web page are consistent in appearance with the content of the page—this may include selecting a font face, text size and color, and background images and colors that match or complement those of the web page. The advertiser may want to assure that the appearance of the advertisement is consistent with their brand identity, for example, Coca-Cola may want an advertisement for Coke® to have white text on a red background using the same font as is used on their cans and bottles. A user may want to configure ads to use a combination of font size and color other than the default, for example, larger fonts in a high-contrast color scheme to accommodate limited vision.
If the web server 102 has direct access to the CSS file, it may perform the formatting 314 itself, and the steps of uploading 308 the CSS file 204 and specifying 310 its use may be skipped (or effectively performed internally). Uploading 308 the CSS file 204 may also be skipped if the CSS file 204 is already stored at the advertisement server 106, for example, if it was supplied by the advertiser. Depending on the implementation, various steps of the process 300 may be performed in a different order or combined into single actions.
In some examples, the publisher may store the CSS file locally, e.g., on the web server 102 with the content of the web page, and specify where the CSS file may be found when indicating 310 which ad units to use it with. This may be done, for example, by transmitting a URL of the CSS file to the advertisement server 106, putting the URL in an agreed-upon location, such as in a text file similar to the robots.txt file used by web sites to control search engine indexing, or by putting the CSS file itself in an agreed-upon location. In another variation, the publisher may apply the formatting dictated by the CSS file itself after text or HTML representing the ad is sent from the ad vendor to the publisher.
To deliver the formatted advertisement, the advertisement server 106 (
If more than one of the above examples are implemented, such that more than one party may attempt to control the appearance of advertisements, various policies may be implemented to determine which party's preferences control. For example, an advertiser may be given priority over a user's selection in order to maintain the consistency of the advertiser's branding. To implement the above examples, advertisements are configured to make use of the CSS files and to respect the formatting they indicate. This can be accomplished by including HTML commands to use CSS formatting in the text defining the advertisement content 124. Other formatting systems can be used, such as Document Style Semantics and Specification Language (DSSSL), Extensible Stylesheet Language (XSL), other style sheet languages, and other standards for specifying formatting or a proprietary standard developed by the ad vendor or a third party.
The ability to style advertisements using CSS files represents an additional source of revenue to web sites beyond that brought in by advertisements alone. A web publisher may specify a minimum amount of compensation he would require to apply an advertiser-specified CSS file to advertisements his web page (e.g., a flat rate, a cost-per-thousand-impressions (CPM), or some other arrangement). Advertisers may specify specific web sites or types of websites on which they want to format the advertisements, which may be a narrower set than the websites on which they want their ads placed, and what price they will pay for their formatting to be used. Advertisers may bid on the right to have their formatting used when their ads are placed on a web page, as part of or in addition to the existing process by which they may bid or pay for placing the ads in the first place.
The memory 420 stores information within the system 400. In one implementation, the memory 420 is a computer-readable medium. In one implementation, the memory 420 is a volatile memory unit. In another implementation, the memory 420 is a non-volatile memory unit.
The storage device 430 is capable of providing mass storage for the system 400. In one implementation, the storage device 430 is a computer-readable medium. In various different implementations, the storage device 430 may be a floppy disk device, a hard disk device, an optical disk device, or a tape device.
The input/output device 440 provides input/output operations for the system 400. In one implementation, the input/output device 440 includes a keyboard and/or pointing device. In another implementation, the input/output device 440 includes a display unit for displaying graphical user interfaces.
The computing system 400 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The components shown here, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed in this document. The features described can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The apparatus can be implemented in a computer program product tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by a programmable processor; and method steps can be performed by a programmable processor executing a program of instructions to perform functions of the described implementations by operating on input data and generating output. The described features can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors of any kind of computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data. Generally, a computer will also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
To provide for interaction with a user, the features can be implemented on a computer having a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer.
The features can be implemented in a computer system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination of them. The components of the system can be connected by any form or medium of digital data communication such as a communication network. Examples of communication networks include, e.g., a LAN, a WAN, and the computers and networks forming the Internet.
The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a network, such as the described one. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
Although a few implementations have been described in detail above, other modifications are possible. In addition, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. In addition, other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Accordingly, other implementations are within the scope of the following claims.