`US 201301 l 1328Al
`
`(19) United States
`(12) Patent Application Publication
`Khanna et al.
`
`(IO) Pub. No.: US 2013/0111328 Al
`May 2, 2013
`(43) Pub. Date:
`
`(54) LAUNCIUNG APPLICATIONS FROM
`WEBPAGES
`
`(52) U.S. Cl.
`USPC ..
`
`.. ....................................... ...... 715/234
`
`(71) Applicanls: Amit Khanna, Sunnyvale, CA (US);
`Linus Chou, San Francisco, CA (US)
`
`(72)
`
`Inventors: Amit Khanna, Sunnyvale, CA (US);
`Linus C hou, San Francisco, CA (US)
`
`(21) Appl. No.: 13/665,700
`
`(22) Filed:
`
`Oct. 3 1, 2012
`
`Related U.S. Application Data
`( 60) Provisional applicalion No 61/554,310, filed on Nov.
`1, 2011.
`
`Publication Classification
`
`(51)
`
`Int. Cl.
`G06F 17100
`
`(200 6.01)
`
`(57)
`
`ABSTRACT
`
`This specification describes technologies relating to launch(cid:173)
`ing applications from conteu l items in webpages. In general,
`one aspect of the subject matter described in this specification
`can be embodied in methods that include receiving a content
`item including a fust data clement that identifies an applica(cid:173)
`tion and a second data element that identifies a product. The
`methods may farther include displaying the contenl item.
`receiving a user selection of Lhe coment item, and, in
`response, automa tically checking if the a pplication is
`installed on a user device. The methods may further include
`transmitting a request, including the first data elemenl, to a
`server and installing the application identified by the first data
`element on the user device. TI1e methods may forther include
`launching the application with the second data element as an
`input so that the first content displayed by the application
`relates to the product.
`
`300i
`
`305
`
`.-5307
`3_1_°1_
`0 (§) 0
`
`311
`
`319
`
`f
`
`332 t
`04 i 335
`t~~@ 70 ~~-)
`~26i~ ~ [iJ [J ~ (2) ~ [J
`~~~~[J[J[J[;:::)[J~
`[2][El~~GJGJ[J00~
`
`309
`
`001
`
`POSTSCRIPT 1006
`
`
`
`106 ~
`
`108~
`
`•• •
`
`Advertisers
`
`•• •
`
`100 ~
`
`104 ~
`
`Websites
`Resource(s)
`~
`
`User
`Devices
`
`Search
`Results
`ill
`
`••• ------7
`
`____ ,
`
`I
`
`' ,
`,
`'
`
`I
`I
`App
`I
`I
`I
`I
`: Finder
`1
`, Module •
`' , I
`I
`
`~--):
`
`130
`
`Application Vendor
`System
`ill
`
`Network m
`
`120
`
`Search
`System
`ill
`
`Indexed
`Cache
`ill
`
`------,.
`
`I
`I '
`:
`I ' ,
`I
`'
`: Indexed 1
`'
`,.,
`1 Resources :
`I
`I , '
`I
`,,.,,..
`~------'
`
`Advertisement
`Management
`System
`110
`
`1- - - - - - 7
`I
`I
`I
`I
`: App URL
`: Module
`
`I
`I 1 _______ 1
`
`Data
`Store
`lli
`
`Fig.1
`
`002
`
`~
`rJ'J
`N
`
`0 -w ---0 ---w
`> -
`
`N
`00
`
`
`
`Patent Application Publication May 2, 2013 Sheet 2 of 7
`
`US 2013/0111328 Al
`
`2 0 0~
`
`Receive a content item associated with an
`application and a product
`
`Display the content ite m
`
`Receive a user selection of the content item
`
`202
`
`204
`
`206
`
`Check if the application is installed
`
`208
`
`215
`
`no
`
`Transmit request for the application
`
`220
`
`yes
`
`Download the application
`
`Install the application
`
`222
`
`224
`
`230
`
`232
`
`Launch application with data identifying the
`product
`
`Complete purchase of the product
`
`Transmit conversion data
`
`234
`
`Fig. 2
`
`003
`
`
`
`Patent Application Publication May 2, 2013 Sheet 3 of 7
`
`US 2013/0111328 Al
`
`305
`
`a s 307
`
`311
`
`3. 1 _
`0 ~ 0
`
`300 i
`
`301
`
`306
`
`332
`
`=
`
`330 ©
`
`335
`
`<J331
`
`334 ~
`
`~
`
`336
`
`~jiw~~Q:J0[D~[cl~~
`~~~~~~~GJ~~
`[2]~~~GJ~[J□□~
`
`329
`
`309
`
`302
`
`--
`
`Fig. 3
`
`004
`
`
`
`400
`
`401
`
`CPU
`
`402
`
`404
`
`405
`
`406
`
`407
`
`408
`
`409
`
`DISPLAY
`INTERFACE
`
`KEYBOARD
`INTERFACE
`
`POINTING
`DEVICE
`INTERFACE
`
`ANTENNA
`INTERFACE
`
`NETWORK
`CONNECTION
`INTERFACE
`
`CAMERA
`INTERFACE
`
`SOUND
`INTERFACE
`
`BUS
`
`421
`
`MAIN M EMORY
`
`RAM
`
`ROM
`
`410
`
`411
`
`STORAGE MEDIUM
`
`OPERATING SYS TEM
`
`APPLI CATION PROGRAMS
`
`DATA FILES
`
`412
`
`414
`
`415
`
`416
`
`NAVIGATION
`MODULE
`
`POWER SOURCE
`
`TELE PHONY
`SUBSYSTEM
`
`417
`
`419
`
`420
`
`Fig. 4
`
`005
`
`C::1
`l✓.l
`N
`0 ....
`tH ---0 ....
`....
`....
`
`tH
`N
`00
`
`> ....
`
`
`
`506
`-
`
`542
`
`ill
`
`540
`
`546
`
`545
`sos
`
`501
`
`520
`
`Media
`Framework
`MP3
`H.254,PNG,
`JPEG, ...
`
`550 GGB Browser
`
`54 7
`
`549
`
`t·
`A 1·
`pp ,ca ions
`
`Application Libraries
`~
`
`552
`
`View
`System
`
`Resource
`Manager
`
`Content
`Providers
`
`534
`
`535
`
`537
`Android Runtime
`
`531 c.c Core Java Libraries )
`
`532
`
`Dalvik Virtual Machine
`
`MIDP
`Apps
`
`551
`
`MIDP/
`JSRs
`
`MIDP
`Runtime
`
`504
`
`502
`
`( OpenGLIES )5 524
`~
`~
`( LibWebCore )5 526 ~ ( SSL
`~
`
`)5 529 (
`
`SQLite }5 530
`
`512 CX]
`
`B
`r
`
`Binder (IPC)
`Driver
`
`)5 517
`
`Power
`Management
`
`519
`
`SQQ
`
`~
`rJ'J
`N
`
`0 -w ---0 ---w
`> -
`
`N
`00
`
`507
`
`509
`
`510
`
`Linux Kernel
`
`511
`
`Display
`Driver
`
`515
`
`Camera
`Driver
`
`Keypad
`Driver
`
`516
`
`Bluetooth
`Driver
`
`WiFi
`Driver
`
`M-Systems
`Driver
`
`( Audio
`
`Drivers
`
`Fig. 5
`
`006
`
`
`
`§Q.!
`
`System Services
`Process
`
`ill
`
`Dialer
`Process
`
`2Qi
`
`Browser
`Process
`
`~ Maps
`Process
`
`Status Bar
`_2Q§
`
`App
`Launcher
`§Ql
`
`Package
`Manager
`609
`
`( Dialer
`
`( Browser m)
`.,J
`
`( Maps J
`
`Activity
`Manager
`610
`
`Resource
`Manager
`611
`
`~
`
`Notification
`Manager
`612
`
`Telephony
`Manager
`
`r
`
`ill
`
`Core Java Libraries
`629
`
`Core Java Libraries
`635
`
`Window
`Manager
`614
`
`Core Java Libraries
`615
`
`r
`
`Surface
`Manager
`616
`
`Dalvik Virtual Machine
`617
`
`Ube, etc.
`619
`
`App Finder
`
`620
`
`I
`
`Core Java Libraries
`624
`
`Dalvik Virtual Machine
`630
`
`Dalvik Virtual Machine
`636
`
`Dalvik Virtual Machine
`625
`
`LibWebCore
`
`Ube, etc.
`
`ill
`
`632
`
`ill
`
`J
`
`~
`rJ'J
`N
`
`0 -w ---0 ---w
`> -
`
`N
`00
`
`Libc, etc.
`
`Libc, etc.
`
`ill
`
`Linux Kernel
`
`Fig. 6
`
`007
`
`
`
`Patent Application Publication May 2, 2013 Sheet 7 of 7
`
`US 2013/0111328 Al
`
`008
`
`
`
`US 2013/0111328 Al
`
`May 2, 2013
`
`1
`
`LAUNCHING APPLICATIONS FROM
`WEBPAGES
`
`CROSS-REFERENCE TO RELATED
`APPLICATION
`
`[0001] Priority is hereby claimed to U.S. Provisional Appli(cid:173)
`cation No. 61/554,310, which was filed on Nov. 1, 2011. The
`contents of U.S. Provisional Application No. 61/554,310 are
`hereby incorporated by reference into this disclosure in their
`entirety.
`
`TECHNICAL FIELD
`
`[0002] The present disclosure relates to launching applica(cid:173)
`tions from content items in web pages.
`
`BACKGROUND
`
`[0003] The Internet provides access to a wide variety of
`resources. For example, video and/or audio files, as well as
`web pages for particular subjects or particular news articles,
`are accessible over the Internet. Access to these resources
`presents opportunities for content items ( e.g., advertise(cid:173)
`ments) to be provided with the resources. The pairing of
`content items with requested resources can generate value.
`For example, a web page can include content slots in which
`advertisements or other content items can be presented. These
`content slots can be defined in the web page or defined for
`presentation with a web page, for example, in a pop-up win(cid:173)
`dow. Paired online content may include a link to a landing
`page with additional information thought to be of interest to a
`user.
`[0004] Applications for mobile devices are often available
`for download from application vendors that run maintain
`servers for this purpose.
`
`SUMMARY
`
`[0005] This specification describes technologies relating to
`launching applications from content item in a webpage. In
`general, one aspect of the subject matter described in this
`specification can be embodied in a method that includes
`receiving a content item that includes a first data element that
`identifies an application and a second data element that iden(cid:173)
`tifies a product. The method may further include displaying
`the content item and receiving a user selection of the content
`item. The method may further include, in response to receiv(cid:173)
`ing the user selection, automatically checking if the applica(cid:173)
`tion is installed on a user device. The method may further
`include transmitting a request to a server, wherein the request
`includes the first data element, and installing the application
`identified by the first data element on the user device. The
`method may further include launching the application with
`the second data element as an input so that the first content
`displayed by the application relates to the product.
`[0006]
`In general, one aspect of the subject matter
`described in this specification can be embodied in a method
`that includes transmitting a content item including a first data
`element that identifies an application, a second data element
`that identifies a product, and a set of instructions. The set of
`instructions, when executed by a user device in response to
`user selection of the content item, cause the processing device
`to perform operations including automatically checking if the
`application is installed on the user device and launching the
`application with the second data element as an input so that
`the first content displayed by the application relates to the
`
`product. The set of instructions may be a script. The opera(cid:173)
`tions may further include transmitting conversion tracking
`information.
`[0007]
`In general, one aspect of the subject matter
`described in this specification can be embodied in a system
`that includes a data processing apparatus and a memory
`coupled to the data processing apparatus. The memory having
`instructions stored thereon which, when executed by the data
`processing apparatus cause the data processing apparatus to
`perform operations including receiving a content item that
`includes a first data element that identifies an application and
`a second data element that identifies a product. The opera(cid:173)
`tions may further include displaying the content item and
`receiving a user selection of the content item. The operations
`may further include, in response to receiving the user selec(cid:173)
`tion, automatically checking if the application is installed on
`a user device. The operations may further include transmit(cid:173)
`ting a request to a server, wherein the request includes the first
`data element, and installing the application identified by the
`first data element on the user device. The operations may
`further include launching the application with the second data
`element as an input so that the first content displayed by the
`application relates to the product.
`[0008]
`In general, one aspect of the subject matter
`described in this specification can be embodied in a system
`that includes a data processing apparatus and a memory
`coupled to the data processing apparatus. The memory having
`instructions stored thereon which, when executed by the data
`processing apparatus cause the data processing apparatus to
`perform operations including transmitting a content item
`including a first data element that identifies an application, a
`second data element that identifies a product, and a set of
`instructions. The set of instructions, when executed by a user
`device in response to user selection of the content item, cause
`the processing device to perform operations including auto(cid:173)
`matically checking if the application is installed on the user
`device and launching the application with the second data
`element as an input so that the first content displayed by the
`application relates to the product. The set of instructions may
`be a script. The operations may further include transmitting
`conversion tracking information.
`[0009]
`In general, one aspect of the subject matter
`described in this specification can be embodied in a system
`that includes a network interface configured to receive a con(cid:173)
`tent item that includes a first data element that identifies an
`application and a second data element that identifies a prod(cid:173)
`uct. The system may further include a display configured to
`display the content item. The system may further include a
`user interface configured to receive a user selection of the
`content item. The system may further include means for, in
`response to receiving the user selection, automatically check(cid:173)
`ing if the application is installed. The system may further
`include a network interface configured to transmit a request to
`a server, wherein the request includes the first data element.
`The system may further include a module configured to
`install the application identified by the first data element. The
`system may further include means for launching the applica(cid:173)
`tion with the second data element as an input so that the first
`content displayed by the application relates to the product.
`[0010]
`In general, one aspect of the subject matter
`described in this specification can be embodied in a system
`that includes a network interface configured to transmit a
`content item including a first data element that identifies an
`application, a second data element that identifies a product,
`
`009
`
`
`
`US 2013/0111328 Al
`
`May 2, 2013
`
`2
`
`and a set of instructions. The set of instructions, when
`executed by a user device in response to user selection of the
`content item, cause the processing device to perform opera(cid:173)
`tions including automatically checking if the application is
`installed on the user device and launching the application
`with the second data element as an input so that the first
`content displayed by the application relates to the product.
`The set of instructions may be a script. The operations may
`further include transmitting conversion tracking information.
`[0011]
`In general, one aspect of the subject matter
`described in this specification can be embodied in a mobile
`device that includes a wireless network interface configured
`to receive a content item that includes a first data element that
`identifies an application and a second data element that iden(cid:173)
`tifies a product. The system may further include a display
`configured to a present the content item. The system may
`further include a user interface configured to receive a user
`selection of the content item. The system may further include
`means for, in response to receiving the user selection, auto(cid:173)
`matically checking if the application is installed. The system
`may further include a wireless network interface configured
`to transmit a request to a server, wherein the request includes
`the first data element. The system may further include means
`for launching the application with the second data element as
`an input so that the first content displayed by the application
`relates to the product.
`[0012]
`In general, one aspect of the subject matter
`described in this specification can be embodied in a computer
`readable storage media storing software including instruc(cid:173)
`tions executable by a processing device that upon such execu(cid:173)
`tion cause the processing device to perform operations that
`include receiving a content item that includes a first data
`element that identifies an application and a second data ele(cid:173)
`ment that identifies a product. The operations may further
`include displaying the content item and receiving a user selec(cid:173)
`tion of the content item. The operations may further include,
`in response to receiving the user selection, automatically
`checking if the application is installed on a user device. The
`operations may further include transmitting a request to a
`server, wherein the request includes the first data element, and
`installing the application identified by the first data element
`on the user device. The operations may further include
`launching the application with the second data element as an
`input so that the first content displayed by the application
`relates to the product.
`[0013]
`In general, one aspect of the subject matter
`described in this specification can be embodied in a computer
`readable storage media storing software including instruc(cid:173)
`tions executable by a processing device that upon such execu(cid:173)
`tion cause the processing device to perform operations that
`include transmitting a content item including a first data ele(cid:173)
`ment that identifies an application, a second data element that
`identifies a product, and a set of instructions. The set of
`instructions, when executed by a user device in response to
`user selection of the content item, cause the processing device
`to perform operations including automatically checking if the
`application is installed on the user device and launching the
`application with the second data element as an input so that
`the first content displayed by the application relates to the
`product. The set of instructions may be a script. The opera(cid:173)
`tions may further include transmitting conversion tracking
`information.
`[0014] These and other embodiments can each optionally
`include one or more of the following features. A purchase
`
`transaction for the product may be completed using the appli(cid:173)
`cation. Conversion tracking information may be transmitted.
`The content item may include an address for a server that
`maintains a conversion log. The content item may include a
`third data element that identifies a minimum version for the
`application. A check may be performed to determine if an
`installed version of the application is older than the minimum
`version for the application. The second data element may be
`stored in a message queue for applications until the applica(cid:173)
`tion is launched. The server may provide download of appli(cid:173)
`cations. The server may redirect the request to a second server
`that provides download of applications. The application may
`be automatically launched after installation. Icons for a plu(cid:173)
`rality of applications that are configured to process the second
`data element may be displayed and a user selection of the
`application may be received. Applications not matching the
`first data element may be prevented from processing the sec(cid:173)
`ond data element.
`[0015] Particular embodiments of the invention can be
`implemented to realize none, one or more of the following
`advantages. Some implementations may facilitate purchase
`of products associated with content items by deep-linking
`from the content item in a webpage directly to related content
`presented in a specialized application adapted to facilitate
`purchase transactions. Some implementations may enhance
`user experience by streamlining the process of finding and
`purchasing products. Some implementations may facilitate
`brand promotion for advertisers by linking an advertiser's
`specialized application to products that users are interested in
`and encouraging users to adopt the advertiser's online shop(cid:173)
`ping application. Users of an advertiser's application may be
`more likely to make future purchases from the advertiser,
`rather than competitors. Some implementations may help to
`increase the install base for an advertiser's application.
`[0016] The details of one or more embodiments of the
`invention are set forth in the accompanying drawings and the
`description below. Other features, aspects, and advantages of
`the invention will become apparent from the description, the
`drawings, and the claims.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0017] FIG. 1 is a block diagram of an example online
`environment.
`[0018] FIG. 2 is a flow chart of an example process for
`launching an application associated with a content item from
`a webpage.
`[0019] FIG. 3 is a schematic representationofanexemplary
`mobile device that implements embodiments of the applica(cid:173)
`tion finder module described herein.
`[0020] FIG. 4 is a block diagram illustrating the internal
`architecture of the device of FIG. 3.
`[0021] FIG. 5 is a block diagram illustrating exemplary
`components of the operating system used by the device of
`FIG. 3.
`[0022] FIG. 6 is a block diagram illustrating exemplary
`processes implemented by the operating system kernel of
`FIG. 5.
`[0023] FIG. 7 shows an example of a computer device and
`a mobile computer device that can be used to implement the
`techniques described here.
`[0024] Like reference numbers and designations in the
`various drawings indicate like elements.
`
`010
`
`
`
`US 2013/0111328 Al
`
`May 2, 2013
`
`3
`
`DETAILED DESCRIPTION
`
`[0025] Many mobile applications allow users to make pur(cid:173)
`chases from within the application. For example, users may
`purchase books through a BookStore App or a camera
`through a Shopping App. It may be difficult to directly pro(cid:173)
`mote the adoption of these applications because the products
`they sell rather than the applications themselves may be the
`primary driver of user interest. Allowing publishers or adver(cid:173)
`tisers to create content items that deep-link directly to the
`content within their applications may lead to better user(cid:173)
`experience as well as create opportunities for the publisher to
`drive more business.
`[0026] For example, a user may use a device ( e.g. a mobile
`device) to search for a product. A user search query for a
`camera may result in a content item (e.g. an advertisement)
`that is included in a search result webpage. The content item
`may include data elements that allow for a deep-link into the
`camera section of a Shopping App associated with the content
`item. Similarly, content items on a webpage about a book
`review should be able to deep-link into the specific section
`about the book in the BookStore App.
`[0027] Data elements identifying a product of interest may
`be passed into an application when it is launched to facilitate
`this deep-linking. A user device may be configured to handle
`the case where an application specified by a content item is
`not installed on the device. When a user selects ( e.g., clicks
`on) the content item, if the application is installed, the appli(cid:173)
`cation may be launched with the associated product related
`data elements as inputs so that the content ( e.g., a landing
`page) related to the product is displayed in the application. If
`the application is not currently installed, a user may be pre(cid:173)
`sented with a download screen for the application served from
`an application vendor system. With user authorization, the
`application may be downloaded and installed on a user
`device. When the installation is complete, the application
`may be launched with the deep-link information.
`[0028]
`In some implementations, instructions ( e.g., a Java(cid:173)
`Script script) for checking whether a designated application is
`installed and launching the application may be included in the
`content item.
`[0029] A content item is any data that can be provided over
`a network. For example, an advertisement, including a link to
`a landing page is a content item.
`[0030] Deep-linking is making a hyperlink that points to a
`specific content ( e.g., a webpage or image) on a destination
`website, instead of that website's main or home page. Such
`links may be called deep-links. For example, an online mer(cid:173)
`chant's website may have a main or home page that welcomes
`visitors and helps them to find content or products of interest.
`A visitor may navigate to other webpages within the website
`that include content related to particular products. A link that
`directs a user to a webpage for a particular product on the
`merchant's website, without viewing the main or home page,
`is an example of a deep-link.
`[0031] FIG. 1 is a block diagram of an example online
`environment 100 in which user devices may use specialized
`applications to access online content (e.g., landing pages)
`associated with content items (e.g., advertisements). The
`example environment 100 includes a network 102, e.g., a
`local area network (LAN), wide area network (WAN), the
`Internet, or a combination thereof. The network 102 connects
`websites 104, user devices 106, content providers (e.g.,
`advertisers 108), the advertisement management system 110.
`
`The example environment 100 may include many thousands
`of websites 104, user devices 106, and advertisers 108.
`[0032] A website 104 includes one or more resources 105
`associated with a domain name and hosted by one or more
`servers. An example website is a collection of webpages
`formatted in hypertext markup language (HTML) that can
`contain text, images, multimedia content, and programming
`elements, e.g., scripts. Each website 104 is maintained by a
`publisher, e.g., an entity that controls, manages and/or owns
`the website 104.
`[0033] A resource 105 includes any data that can be pro(cid:173)
`vided over the network 102. A resource 105 is identified by a
`resource address that is associated with the resource 105.
`Resources include HTML pages, word processing docu(cid:173)
`ments, and portable document format (PDF) documents,
`images, video, and feed sources, to name only a few
`examples. The resources can include content, e.g., words,
`phrases, images and sounds that may include embedded
`information (e.g., meta-information in hyperlinks) and/or
`embedded instructions (e.g., JavaScript scripts).
`[0034] A user device 106 is an electronic device that is
`under control of a user and is capable of requesting and
`receiving resources over the network 102. Example user
`devices 106 include personal computers, mobile communi(cid:173)
`cation devices, and other devices that can send and receive
`data over the network 102. A user device 106 typically
`includes a user application (e.g., a web browser) to facilitate
`the sending and receiving of data over the network 102 and
`the presentation of content to a user.
`[0035] A user device 106 can request resources 105 from a
`website 104. In tum, data representing the resource 105 can
`be provided to the user device 106 for presentation by the user
`device 106. The data representing the resource 105 can also
`include data specifying a portion of the resource or a portion
`of a user display (e.g., a presentation location of a pop-up
`window or in a slot of a web page) in which advertisements or
`other content can be presented. These specified portions of
`the resource or user display are referred to as advertisement
`slots or impressions.
`[0036] To facilitate searching of these resources, the envi(cid:173)
`ronment can include a search system 112 that identifies the
`resources by craw ling and indexing the resources provided by
`the publishers on the websites 104. Data about the resources
`can be indexed based on the resource to which the data cor(cid:173)
`responds. The indexed and, optionally, cached copies of the
`resources are stored in an indexed cache 114.
`[0037] User devices 106 can submit search queries 116 to
`the search system 112 over the network 102. In response, the
`search system 112 accesses the indexed cache 114 to identify
`resources that are relevant to the search query 116. The search
`system 112 identifies the resources in the form of search
`results 118 and returns the search results 118 to the user
`devices 106 in search results pages. A search result 118 is data
`generated by the search system 112 that identifies a resource
`that is responsive to a particular search query, and includes a
`link to the resource. An example search result 118 can include
`a web page title, a snippet of text or a portion of an image
`extracted from the web page, and the URL of the web page.
`Search results pages can also include one or more advertise(cid:173)
`ment slots in which advertisements or other content can be
`presented.
`[0038] When a resource 105 or search results 118 are
`requested by a user device 106, the advertisement manage(cid:173)
`ment system 110 receives a request for additional content
`
`011
`
`
`
`US 2013/0111328 Al
`
`May 2, 2013
`
`4
`
`(e.g., advertisements) to be provided with the resource 105 or
`search results 118. The request for advertisements can
`include characteristics of the advertisement slots that are
`defined for the requested resource or search results page, and
`these requests are provided to the advertisement management
`system 110.
`[0039] For example, a reference ( e.g., URL) to the resource
`for which the advertisement slot is defined, a size of the
`advertisement slot, and/or media types that are available for
`presentation in the advertisement slot can be provided to the
`advertisement management system 110. Similarly, keywords
`associated with a requested resource ("resource keywords")
`or a search query 116 for which search results are requested
`can also be provided to the advertisement management sys(cid:173)
`tem 110 to facilitate identification of advertisements that are
`relevant to the resource or search query 116.
`[0040] Based on data included in the request for advertise(cid:173)
`ments, the advertisement management system 110 can select
`advertisements that are eligible to be provided in response to
`the request ("eligible advertisements"). For example, eligible
`advertisements can include advertisements having character(cid:173)
`istics matching the characteristics of advertisement slots and
`that are identified as relevant to specified resource keywords
`or search queries 116.
`[0041] The advertisement management system 110 can
`select from the eligible advertisements that are provided for
`presentation in advertisement slots of a resource or search
`results page based on results of an auction. For example, the
`advertisement management system 110 can receive bids from
`advertisers and allocate the advertisement slots to the highest
`bidders at the conclusion of the auction. The bids are amounts
`that the advertisers are willing to pay for presentation ( or
`selection) of their advertisement with a resource or search
`results page. For example, a bid can specify an amount that an
`advertiser is willing to pay for each 1000 impressions (i.e.,
`presentations) of the advertisement, referred to as a CPC bid.
`Alternatively, the bid can specify an amount that the adver(cid:173)
`tiser is willing to pay for a selection (i.e., a click-through) of
`the advertisement or a conversion following selection of the
`advertisement. The highest bidders can be determined based
`on the bids alone, or based on the bids of each bidder being
`multiplied by one or more factors ( e.g., quality scores derived
`from advertisement performance, landing page scores, and
`the like).
`[0042] A conversion occurs when a user performs a par(cid:173)
`ticular action related to an advertisement provided with a
`resource or search results page. What constitutes a conversion
`may vary from case to case and can be determined in a variety
`of ways. For example, a conversion may occur when a user
`clicks on an advertisement and is referred to a landing page.
`Another conversion may occur when a user consummates a
`purchase before leaving that landing page or within a prede(cid:173)
`termined period of time (e.g., 30 days) after first visiting the
`landing page. A conversion can also be defined by an adver(cid:173)
`tiser to be any measurable/observable user action. User
`actions may include, for example, downloading a white
`paper, navigating to at least a given depth of a website, view(cid:173)
`ing at least a certain number of web pages, spending at least a
`predetermined amount of time on a website or web page,
`registering on a website, etc. Other actions that constitute a
`conversion can also be used.
`[0043] The advertisement management system may store
`and access data regarding past allocations of content items
`and user interactions in a data store 119. The data store 119 is
`
`a data store that stores data representing previous user inter(cid:173)
`actions with publisher websites and advertisements. For
`example, in response to receiving a request for an advertise(cid:173)
`ment, the advertisement management system 110 can store
`data identifying the website to which the request corresponds
`and identifying the request as an impression for the website.
`Additionally, the advertisement management system 110 can
`store data representing the advertisements that were provided
`in response to the request and any user actions ( e.g., clicks or
`conversions) that are detected following presentation of the
`advertisements. The data store 119 may also store user ses(cid:173)
`sion logs.
`[0044] The advertisement management system 110 may
`also include an application URL module 120. The application
`URL module may be used to generate or modify a formatted
`URL for a content item. For example, the application URL
`module may receive a content item from an advertiser 108
`that includes a URL for a landing page. The URL may be
`formatted and include data elements specifying a preferred
`application for viewing the landing page and aspects of a
`product or products associated with the content item. The
`application URL module may modify the URL by adding
`data elements rela