US20080065474A1 - Secure conversion tracking - Google Patents
Secure conversion tracking Download PDFInfo
- Publication number
- US20080065474A1 US20080065474A1 US11/520,351 US52035106A US2008065474A1 US 20080065474 A1 US20080065474 A1 US 20080065474A1 US 52035106 A US52035106 A US 52035106A US 2008065474 A1 US2008065474 A1 US 2008065474A1
- Authority
- US
- United States
- Prior art keywords
- unique identifier
- conversion
- notification
- advertiser
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
Definitions
- CPA cost-per-action
- publishers of online advertisements are often compensated based on the number of valid “conversions” reported by the advertiser to a payment system.
- a user interacts with an ad on a publisher website and is directed to the “landing page” of an advertiser's website.
- a “conversion” is said to occur when the user performs a conversion action at the advertiser's website, such as purchase a product, create a new account, provide information, etc.
- Conversion callbacks can be spoofed (“conversion fraud”), where conversion spammers report the same conversion callback to the payment system multiple times. This is particularly true for systems where the callbacks are generated by the user's browser, since such systems rely on a cookie to tie the conversion to the particular ad impression that was clicked on by the user.
- an advertiser sponsoring the ad In response to a conversion action associated with an online ad, an advertiser sponsoring the ad generates a unique identifier (e.g., a pseudo random number), which is transmitted to a payment system through a user device.
- the unique identifier can be generated by a payment system in response to a request from an advertiser.
- the advertiser stores the unique identifier in a secure location that is accessible by the payment system.
- the payment system compares the received unique identifier with the stored unique identifier. If the received unique identifier matches the stored unique identifier, and if the received unique identifier was not previously generated by the advertiser, then the payment system deems the conversion action to be valid.
- the advertiser creates a file in a web directory on the advertiser's website and uses the unique identifier as a filename.
- the payment system crawls the file and determines whether the file was previously crawled (i.e., whether the unique identifier was previously reported to the payment system). If the file was not previously crawled, then the payment system deems the reported conversion valid.
- a secure conversion tracking method includes: receiving a conversion notification, the notification including a unique identifier generated by an advertiser in response to a conversion action; determining if the unique identifier was submitted in a previous notification; and if the unique identifier was not submitted in a previous notification, validating the conversion action.
- a secure conversion tracking method includes: detecting a conversion action; and responsive to detecting a conversion action, generating a unique identifier; storing the unique identifier in a location that is accessible to a verification process; and generating a conversion notification that includes the unique identifier.
- a secure conversion tracking method includes: receiving a request to generate a unique identifier; generating a unique identifier in response to the request; sending the unique identifier to a first device, where the unique identifier is stored at a location accessible to a verification process; receiving a conversion callback from a second device, the conversion callback including the unique identifier; and initiating the verification process to confirm the conversion using the unique identifier.
- a method includes: associating a unique identifier with a conversion action related to an advertisement; and validating subsequent conversion actions for the advertisement, including confirming that the subsequent conversion actions are not associated with the unique identifier.
- the disclosed implementations of secure conversion tracking can detect invalid conversion callbacks or “conversion spam.”
- the detection of invalid conversion callbacks provides improved accountability between advertisers and a payment system in terms of the number of valid conversions reported.
- the disclosed implementations do not require any shared keys between advertisers and the payment system.
- the disclosed implementations provide a secure conversion tracking solution that can be easily adopted and managed by advertisers and payment system operators without making substantial modifications to existing online advertising infrastructures.
- FIG. 1 is a block diagram of an exemplary online advertising system.
- FIG. 2 is a block diagram of an exemplary secure conversion tracking system.
- FIG. 3 is a flow diagram of an exemplary secure conversion process (payment system side).
- FIG. 4 is a flow diagram of an exemplary secure conversion process (advertiser side).
- FIG. 5 is a flow diagram of an alternative secure conversion process (payment system side).
- FIG. 6 is a block diagram of an exemplary architecture for a secure conversion tracking system.
- FIG. 1 is a schematic diagram of an example of an online advertising system 100 .
- One or more advertisers 102 may directly, or indirectly, enter, maintain, and track ad information in an advertising manager and payment system 104 .
- the ads may be in the form of graphical ads such as banner ads, text only ads, image ads, audio ads, video ads, ads combining one of more of any of such components, etc.
- the ads may also include embedded information, such as a link, meta-information, and/or machine executable instructions.
- One or more publishers 106 may submit requests for ads to, and accept ads responsive to their request from, the system 104 . Publishers 106 may also provide usage information to the system 104 .
- Other entities such as users 108 and advertisers 102 may provide usage information (e.g., whether or not a conversion or click-through related to the ad occurred) to the system 104 .
- This usage information may include measured or observed user behavior related to ads that have been served.
- the system 104 performs financial transactions, such as crediting the publishers 106 and charging the advertisers 102 , based on the usage information.
- a computer network 110 such as a local area network (LAN), wide area network (WAN), the Internet, an intranet, a peer-to-peer network, a wireless network, or a combination thereof, connects the advertisers 102 , the system 104 , the publishers 106 , and the users 108 .
- a publisher 106 is a general content server that receives requests for content (e.g., articles, discussion threads, music, video, graphics, search results, web page listings, etc.), and retrieves the requested content in response to, or otherwise services, the request.
- the content server may submit a request for ads to the system 104 .
- Such an ad request may include a number of ads desired.
- the ad request may also include content request information.
- This information may include the content itself (e.g., page), a category corresponding to the content or the content request (e.g., arts, business, computers, arts-movies, arts-music, etc.), part or all of the content request, content age, content type (e.g., text, graphics, video, audio, mixed media, etc.), geo-location information, etc.
- the content server may combine the requested content with one or more of the advertisements provided by the system 104 . This combined information including the content and advertisement(s) is then forwarded to the user 108 that requested the content, for presentation to the viewer. Finally, the content server may transmit information about the ads and how, when, and/or where the ads are to be rendered (e.g., position, click-through or not, impression time, impression date, size, conversion or not, etc.) back to the system 104 . Alternatively, or in addition, such information may be provided back to the system 104 by some other means.
- a search engine may receive queries for search results. In response, the search engine may retrieve relevant search results (e.g., from an index of web pages).
- relevant search results e.g., from an index of web pages.
- An exemplary search engine is described in the article S. Brin and L. Page, “The Anatomy of a Large-Scale Hypertextual Search Engine,” Seventh International World Wide Web Conference, Brisbane, Australia and in U.S. Pat. No. 6,285,999, both of which are incorporated herein by reference each in their entirety.
- Such search results may include, for example, lists of web page titles, snippets of text extracted from those web pages, and hypertext links to those web pages, and may be grouped into a predetermined number of (e.g., ten) search results.
- the search engine may submit a request for ads to the system 104 .
- the request may include a number of ads desired. This number may depend on the search results, the amount of screen or page space occupied by the search results, the size and shape of the ads, etc. In one implementation, the number of desired ads will be from one to ten, and preferably from three to five.
- the request for ads may also include the query (as entered or parsed), information based on the query (such as geo-location information, whether the query came from an affiliate and an identifier of such an affiliate), and/or information associated with, or based on, the search results.
- Such information may include, for example, identifiers related to the search results (e.g., document identifiers or “docIDs”), scores related to the search results (e.g., information retrieval (“IR”) scores such as dot products of feature vectors corresponding to a query and a document, Page Rank scores, and/or combinations of IR scores and Page Rank scores), snippets of text extracted from identified documents (e.g., web pages), full text of identified documents, feature vectors of identified documents, etc.
- identifiers related to the search results e.g., document identifiers or “docIDs”
- scores related to the search results e.g., information retrieval (“IR”) scores such as dot products of feature vectors corresponding to a query and a document, Page Rank scores, and/or combinations of IR scores and Page Rank scores
- snippets of text extracted from identified documents e.g., web pages
- full text of identified documents e.g., feature vectors of identified documents,
- the search engine may combine the search results with one or more of the advertisements provided by the system 104 . This combined information including the search results and advertisement(s) is then forwarded to the user 108 that requested the content, for presentation to the user 108 .
- the search results are maintained as distinct from the ads, so as not to confuse the user between paid advertisements and presumably neutral search results.
- the search engine may transmit information about the ad and when, where, and/or how the ad was to be rendered (e.g., position, click-through or not, impression time, impression date, size, conversion or not, etc.) back to the system 104 .
- information about the ad and when, where, and/or how the ad was to be rendered e.g., position, click-through or not, impression time, impression date, size, conversion or not, etc.
- such information may be provided back to the system 104 by some other means.
- the advertising system manager/payment system 104 may serve publishers 106 such as content servers and search engines.
- the serving of ads targeted to the search results page generated by a search engine is known.
- the proposed system further permits the serving of ads targeted to documents served by content servers.
- a network or inter-network may include an ad server serving targeted ads in response to requests from a search engine with ad spots for sale.
- the inter-network is the World Wide Web.
- the search engine crawls much or all of the content.
- Some of this content will include ad spots (also referred to as “inventory”) available.
- one or more content servers may include one or more documents.
- Documents may include content, embedded information such as meta-information and machine executable instructions, and ad spots available. Note that ads inserted into ad spots in a document can vary each time the document is served. Alternatively, ads inserted into ad spots can have a static association with a given document. An ad server may use the results of a separate crawl of the some or all of the content with ad spots available.
- FIG. 2 is a block diagram of an exemplary secure conversion tracking system 200 .
- the system 200 includes a payment system 202 , one or more user devices 204 , and one or more advertiser websites 206 .
- the payment system 202 further includes a payment server 208 , a verification server 210 and a repository 212 .
- the payment system 202 communicates with user devices 204 and advertiser websites 206 through the network 110 .
- the user devices 204 can be any device capable of receiving ads, including but not limited to: personal computers, mobile devices, cell phones, media players/recorders, music players, game consoles, media centers, media players, tablets, personal digital assistants (PDAs), television systems, removable storage devices, etc.
- the advertiser websites 206 can include “landing pages” that a user is directed to when the user clicks an ad presented on a publisher website.
- the ad can be provided by an ad server associated with the payment system 202 , such as described in U.S. patent application Ser. No. 11/477,134, for “Secure and Extensible Pay Per Action Online Advertising.”
- ad click when a user clicks on an ad on a webpage displayed on a user device 204 (“ad click”), the server 208 is notified of the ad click, and in response to the notification places a conversion cookie on the user device 204 (e.g., in a browser file 218 ).
- the cookie includes information (e.g., an ad click string) that can be used by the payment system 202 to tie the conversion action back to the ad that was clicked by the user at the user device 204 .
- a browser running on the user device 204 is directed to a landing page of the advertiser's website 206 .
- a unique identifier generator at the advertiser's website 206 generates a unique identifier (e.g., a random number (“RN”)), which is stored in a data structure 216 (e.g., a database).
- RN random number
- the data structure 216 is made accessible to the payment system 202 through network 110 .
- the advertiser's website 206 creates a file in a web server directory or other desired storage location using the unique identifier as a filename.
- a web server or other device at the advertiser's website 206 generates a conversion snippet including the unique identifier as a parameter, and returns the conversion snippet to the user device 204 .
- conversion snippets are portions of code (e.g., JavaScript®) that can be executed by a browser running on the user device 204 , as described in U.S. patent application Ser. No. 11/477,134, for “Secure and Extensible Pay Per Action Online Advertising.”
- a “snippet” is a method used by a web server to ask a web browser running on a user device to perform actions after downloading a web page.
- a “snippet” is typically implemented in JavaScript® code. However, a “snippet” can also be part of HTML web page content.
- the user device 204 generates a conversion notification (hereinafter also referred to as a “conversion callback”) to the server 208 in the payment system 202 , and includes the unique identifier as a callback parameter.
- Conversion callbacks can be implemented using known web protocols and technologies (e.g., HTTP, Java®).
- the verification server 210 verifies the conversion action by, for example, crawling the unique identifier file previously stored in the web server directory of the advertiser's website 206 . Because the web server's directory cannot be listed, the only way to fetch a file with the unique identifier as the filename is to know the unique identifier. Guessing the unique identifier will likely not result in a successful crawling of the file.
- the advertiser's website 206 can be protected using passwords and other convention security schemes to prevent users from modifying the filenames in the advertiser's web server directory.
- web crawlers include open source crawlers written in Java®, such as HeritrixTM, WebSPHINXTM, JSpiderTM, WebEaterTM, Java Web CrawlerTM, WebLechTM, ArachnidTM, etc.
- the conversion is deemed valid by the payment system 202 . If a file was previously crawled, the filename of the file can be included in a list 222 of filenames of previously crawled files stored in a repository 220 (e.g., cache) of the payment system 202 . For subsequent conversion events, the filename for the file to be crawled can be compared to the list 222 to determine if the file was previously crawled. If there is no match, the conversion is deemed valid and the filename can be added to the list 222 .
- a repository 220 e.g., cache
- the verification server 210 can take an appropriate action, such as, for example, not counting the conversion for compensation purposes.
- the advertiser can delete or archive its conversion files on a scheduled basis (e.g., a few days) or in response to a trigger event.
- a time window can be specified for determining if a file has been previously crawled.
- the verification server 210 may only look at the last k days (e.g., 30 days) to determine if a given file was crawled.
- the server 208 maintains a table 214 of conversion events in the repository 212 .
- Each row of the table 214 can include information related to a conversion event.
- the columns of the table 214 can be the date of the conversion, advertiser ID, total of the number of valid conversions for advertiser ID and a spam reason.
- Other formats for the table 214 are possible, including formats with more or fewer fields or different types of fields. If a conversion is deemed invalid, then the “spam reason” could be described in the table 214 .
- the contents of table 214 can be used by an accounting service (e.g., accounting service 628 of FIG. 6 ) to determine payments.
- an accounting service e.g., accounting service 628 of FIG. 6
- conversion spam is thwarted because it is difficult, if not impossible, for a conversion spammer to guess the unique identifier generated by the advertiser, and the spammer cannot list unique identifier files in the advertiser's web servers directory without breaching the security of the advertiser's website 206 .
- the advertisers website can be made secure with passwords and other known security techniques.
- the payment system 202 can determine if the web servers directory is secure and warn the advertiser operating the web servers directory of the potential security risk. This can be done by attempting to list the content of a given web server directory using, for example, the HTTP protocol.
- the directory is not secure because a spammer may use the same method to obtain all the filenames (i.e., the unique identifiers) in the directory. Whether a directory can be listed using HTTP protocol is controlled by the configuration of the advertiser's web server.
- a unique identifier Once a unique identifier has been used it can be marked by the verification server 210 as “expired,” so that it will not be used again by a given advertiser or by any advertiser for a predetermined period of time.
- FIG. 3 is a flow diagram of an exemplary secure conversion process 300 which can be performed by the payment system 202 of FIG. 2 .
- the process 300 begins when the payment system 202 receives an ad click ( 302 ), or other indication from a user device 204 , that a user has interacted with an ad presented on a webpage through, for example, a web browser.
- the payment system 202 stores the ad click string on the user device ( 304 ).
- the payment system 202 can generate a cookie that includes the ad click string, and then places the cookie in a web browser file (e.g., Microsoft® Explorer) located on, or accessible to, the user device 204 .
- a web browser file e.g., Microsoft® Explorer
- the advertiser associated with the ad If the user performs a conversion action, the advertiser associated with the ad generates and stores a unique identifier (e.g., a random number) locally at the advertiser's website 206 , as described in reference to FIG. 4 . The advertiser then generates a conversion snippet (or other conversion reporting mechanism) that includes the unique identifier as a parameter, and returns the snippet to the user device 204 . The user device 204 generates a conversion callback to the payment system 202 , including the ad click string and the unique identifier, which is received ( 306 ) by the payment system 202 . The unique identifier is used by a verification service (e.g., verification service 624 in FIG. 6 ) running on the verification server 210 of the payment system 202 to determine if the conversion is invalid ( 308 ).
- a verification service e.g., verification service 624 in FIG. 6
- the verification service crawls a web server directory associated with the advertiser's website 206 and fetches a file having the unique identifier as a filename. If the filename exists, and the file was not crawled before by the verification service, the conversion action is deemed valid.
- the verification can be performed in real time or as a background process. For example, multiple conversion callbacks can be accumulated over a period of time (e.g., a day), and verified as a batch process at the end of the accumulation period.
- the results of the process 300 are stored by the payment system 202 in a table (e.g., table 214 ) or other suitable data structure.
- the contents of the table can then be used by an accounting service for purposes of determining compensation, performing a security procedure or any other desired procedure or action.
- the contents of the table can be compared against the advertiser's conversion records to determine accountability between the advertiser and the payment system 202 .
- historical data and statistical methods can be used with the contents of the table to determine if a given advertiser is impacted by conversion spam, spoofing or other fraudulent activity.
- FIG. 4 is a flow diagram of an exemplary secure conversion process 400 which can be performed by advertisers 206 .
- the process 400 begins when a conversion action is detected ( 402 ) by the advertiser's website 206 .
- a conversion action can be any action taken by the user of the user device 204 , including but not limited to making a purchase, creating an account, registering a product, etc.
- the detection of conversion actions is described in U.S. patent application Ser. No. 11/477,134, for “Secure and Extensible Pay Per Action Online Advertising.”
- the advertiser If a conversion action is detected, the advertiser generates a unique or unique identifier and stores the unique identifier in a location accessible to the payment system ( 404 ).
- a file is generated in a web server directory that has the unique identifier as a filename. The file can be crawled by the payment system 202 as part of a verification process, as described in reference to FIG. 3 .
- the unique identifier can be stored in a database or other data structure that is accessible by the payment system 202 .
- Various known techniques can be used to generate the unique identifier.
- a unique identifier can be a Universally Unique Identifier (UUID), such as a pseudo random number (e.g., a 128-bit number), such as described in the UUID standard of the Open Source Foundation (OSF).
- UUID Universally Unique Identifier
- the unique identifier can be written in text as a sequence of hexadecimal digits, alphanumeric characters and/or symbols (e.g., hyphens).
- a unique identifier can be encoded into a string of characters using a positional numeral system (e.g., base 64 ).
- a code snippet that includes the unique identifier can be generated by the advertiser and made accessible to a user device 204 for use in a conversion callback to the payment system ( 406 ), as described in reference to FIG. 3 .
- the advertiser can optionally delete stored unique identifiers (e.g., files with unique identifier filenames) after a predetermined period of time (e.g., a few days) or upon a trigger event ( 408 ) (e.g., a command from a system administrator).
- FIG. 5 is a flow diagram of an alternative secure conversion process 500 , which can be performed by a payment system 202 .
- the process 500 begins when the payment system 202 receives an ad click ( 502 ) or other indication from a user device 204 that a user has interacted with an ad presented on a webpage through, for example, a web browser.
- the payment system 202 stores the ad click string on the user device ( 504 ).
- the payment system 202 can generate a cookie that includes the ad click string, and then puts the cookie in a web browser file (e.g., Microsoft® Explorer) located on, or accessible to, the user device 204 .
- a web browser file e.g., Microsoft® Explorer
- the payment system 202 receives a request for a unique identifier from the advertiser ( 506 ).
- the request can be made through an application programming interface (API) call if an API exists between the advertiser and the payment system 202 .
- API application programming interface
- the payment system 202 generates the unique identifier and returns (e.g., through an API call) the unique identifier to the advertiser's website 206 , and at the same time stores the unique identifier in a database or other data structure of the payment system 202 .
- the advertiser then generates a conversion snippet that includes the unique identifier as a parameter, and returns the conversion snippet to the user device.
- the user device 204 generates a conversion callback to the payment system 202 , including the ad click string and the unique identifier, which is received by the payment system ( 510 ).
- the unique identifier is used by a verification service of the payment system to determine if the conversion is invalid ( 512 ).
- the verification service looks for the presence of the unique identifier in the database or other data structure of the payment system 202 . If the unique identifier exists and has not been used before, the conversion action is deemed valid.
- the results of the process 500 are stored by the payment system 202 in a table (e.g., table 214 ) or other suitable data structure.
- the contents of the table can then be used by an accounting service for purposes of determining compensation, for performing a security procedure or for any other desired purpose.
- spamming is thwarted because it would be difficult, if not impossible, for a spammer to guess the unique identifier provided by the payment system 202 .
- the communication channel between the advertiser and the payment system 202 can be made secure to prevent eaves-dropping. For example, at the beginning of an API call to the payment system 202 , the payment system 202 can verify the identity of the advertiser by its user name and password. Other security measures are possible.
- FIG. 6 is a block diagram of exemplary payment system architecture 600 .
- Other architectures are possible, including architectures with more or fewer components.
- the components of the architecture 600 can be implemented in software, hardware and/or firmware.
- Software components can be implemented using any known programming languages and technologies (e.g., C++, Objective-C, JavaTM, XML, HTML, PerlTM).
- the software components can include one or more modules, libraries, files, etc.
- the architecture 600 includes one or more processors 602 (e.g., dual-core Intel® Xeon® Processors), one or more repositories 604 , one or more network interfaces 606 , an optional administrative computer 608 and one or more computer-readable mediums 610 (e.g., RAM, ROM, SDRAM, hard disk, optical disk, flash memory, etc.). These components can exchange communications and data over one or more communication channels 612 (e.g., Ethernet) which can include various known network devices (e.g., routers, hubs, gateways, buses) and software (e.g., middleware) for facilitating the transfer of data and control signals between devices.
- processors 602 e.g., dual-core Intel® Xeon® Processors
- repositories 604 e.g., one or more repositories 604
- network interfaces 606 e.g., an optional administrative computer 608 and one or more computer-readable mediums 610 (e.g., RAM, ROM
- computer-readable medium refers to any medium that participates in providing instructions to a processor 602 for execution, including without limitation, non-volatile media (e.g., optical or magnetic disks), volatile media (e.g., memory) and transmission media.
- Transmission media includes, without limitation, coaxial cables, copper wire and fiber optics. Transmission media can also take the form of acoustic, light or radio frequency waves.
- the computer-readable medium 610 further includes an operating system 614 (e.g., Linux® server, Mac OS® server, Windows® NT server), a network communication module 616 and a payment system 618 .
- an operating system 614 e.g., Linux® server, Mac OS® server, Windows® NT server
- the operating system 614 can be multi-user, multiprocessing, multitasking, multithreading, real-time and the like.
- the operating system 614 performs basic tasks, including but not limited to: recognizing input from and providing output to the administrator computer 608 ; keeping track of files and directories on computer-readable mediums 610 (e.g., memory or a storage device); controlling peripheral devices (e.g., repository 604 ); and managing traffic on the one or more communication channels 612 .
- the network communications module 616 includes various components for establishing and maintaining network connections (e.g., software for implementing communication protocols, such as TCP/IP, HTTP, Ethernet, etc.).
- the payment system 618 includes a web page server 620 , a conversion callback service 622 , a verification service 624 , a unique identifier generator 626 and an accounting service 628 .
- the payment system 618 is responsible for implementing the secure conversion tracking processes, as described in reference to FIGS. 1-5 .
- the secure conversion tracking processes can be fully or partially automated, and can include human intervention at one or more points in the secure conversion tracking processes.
- the web page server 620 (e.g., Apache® web page server) serves web pages to advertisers and publishers and provides an input means for advertisers and publishers to provide input into the payment system 618 .
- the conversion callback service 622 provides various processes for managing the processing of conversion callbacks, including generating code snippets with unique identifiers, etc.
- the verification service 624 provides various processes (e.g., a web crawler) for verifying the unique identifier that is stored by the advertiser.
- the unique identifier generator 626 provides unique identifiers in accordance with the alternative secure conversion tracking process 500 described in reference to FIG. 5 .
- the unique identifier generator 626 can be implemented in software using known technology, functions or OS services (e.g., Linux® random( ) function).
- the accounting service 628 manages accounting associated with conversion tracking, such as, for example, generating and maintaining the Table 214 shown in FIG. 2 .
Abstract
In response to a conversion action associated with an online advertisement (“ad”), an advertiser associated with the ad generates a unique identifier (e.g., a pseudo random number), which is transmitted to a payment system through a user device. In some implementations, the unique identifier can be generated by a payment system in response to a request from an advertiser. The advertiser stores the unique identifier in a secure location that is accessible by the payment system. The payment system compares the received unique identifier with the stored unique identifier. If the received unique identifier matches the stored unique identifier, and if the received unique identifier was not previously generated by the advertiser, then the payment system deems the conversion action to be valid.
Description
- The subject matter of this application is generally related to U.S. patent application Ser. No. 11/477,134, for “Secure and Extensible Pay Per Action Online Advertising,” filed Jun. 27, 2006, Attorney Docket No. 16113-152001/GP-909-00-US, U.S. patent application Ser. No. 11/379,510, for “Syndicated Trackable Ad Content,” filed Apr. 20, 2006, Attorney Docket No. 0026-0221, U.S. patent application Ser. No. 11/375,900, for “Serving Advertisements based on Content”, filed Apr. 20, 2006, Attorney Docket No. Google-31/CON1 (GP-064-01-US), U.S. patent application Ser. No. 10/314,427, for “Method and Apparatus For Serving Relevant Advertisements,” filed Feb. 26, 2003 Attorney Docket No. Google-31 (GP-064-00-US). Each of these applications is incorporated by reference herein in its entirety.
- The subject matter of this application is generally related to advertising.
- With cost-per-action (“CPA”) online advertising systems, publishers of online advertisements (“ads”) are often compensated based on the number of valid “conversions” reported by the advertiser to a payment system. In such systems, a user interacts with an ad on a publisher website and is directed to the “landing page” of an advertiser's website. A “conversion” is said to occur when the user performs a conversion action at the advertiser's website, such as purchase a product, create a new account, provide information, etc.
- Conventional CPA advertising provides callback mechanisms for advertisers to report conversions to the payment system. Conversion callbacks, however, can be spoofed (“conversion fraud”), where conversion spammers report the same conversion callback to the payment system multiple times. This is particularly true for systems where the callbacks are generated by the user's browser, since such systems rely on a cookie to tie the conversion to the particular ad impression that was clicked on by the user.
- Existing technology to solve conversion fraud often requires that the advertiser and the payment system share a secret key, which can be used to cryptographically sign conversion callback parameters. Without the secret key, a spammer cannot spoof the payment system by issuing invalid conversion callbacks. This conventional approach is deficient, however, in that it relies on the keys being kept secret and can require frequent re-keying and key-versioning.
- In response to a conversion action associated with an online ad, an advertiser sponsoring the ad generates a unique identifier (e.g., a pseudo random number), which is transmitted to a payment system through a user device. In some implementations, the unique identifier can be generated by a payment system in response to a request from an advertiser. The advertiser stores the unique identifier in a secure location that is accessible by the payment system. The payment system compares the received unique identifier with the stored unique identifier. If the received unique identifier matches the stored unique identifier, and if the received unique identifier was not previously generated by the advertiser, then the payment system deems the conversion action to be valid. In some implementations, the advertiser creates a file in a web directory on the advertiser's website and uses the unique identifier as a filename. The payment system crawls the file and determines whether the file was previously crawled (i.e., whether the unique identifier was previously reported to the payment system). If the file was not previously crawled, then the payment system deems the reported conversion valid.
- In some implementations, a secure conversion tracking method includes: receiving a conversion notification, the notification including a unique identifier generated by an advertiser in response to a conversion action; determining if the unique identifier was submitted in a previous notification; and if the unique identifier was not submitted in a previous notification, validating the conversion action.
- In some implementations, a secure conversion tracking method includes: detecting a conversion action; and responsive to detecting a conversion action, generating a unique identifier; storing the unique identifier in a location that is accessible to a verification process; and generating a conversion notification that includes the unique identifier.
- In some implementations, a secure conversion tracking method includes: receiving a request to generate a unique identifier; generating a unique identifier in response to the request; sending the unique identifier to a first device, where the unique identifier is stored at a location accessible to a verification process; receiving a conversion callback from a second device, the conversion callback including the unique identifier; and initiating the verification process to confirm the conversion using the unique identifier.
- In some implementations, a method includes: associating a unique identifier with a conversion action related to an advertisement; and validating subsequent conversion actions for the advertisement, including confirming that the subsequent conversion actions are not associated with the unique identifier.
- Other implementations of secure conversion tracking are disclosed that are related to systems, methods, apparatuses, computer-readable mediums and user interfaces.
- The disclosed implementations of secure conversion tracking can detect invalid conversion callbacks or “conversion spam.” The detection of invalid conversion callbacks provides improved accountability between advertisers and a payment system in terms of the number of valid conversions reported. The disclosed implementations do not require any shared keys between advertisers and the payment system. The disclosed implementations provide a secure conversion tracking solution that can be easily adopted and managed by advertisers and payment system operators without making substantial modifications to existing online advertising infrastructures.
-
FIG. 1 is a block diagram of an exemplary online advertising system. -
FIG. 2 is a block diagram of an exemplary secure conversion tracking system. -
FIG. 3 is a flow diagram of an exemplary secure conversion process (payment system side). -
FIG. 4 is a flow diagram of an exemplary secure conversion process (advertiser side). -
FIG. 5 is a flow diagram of an alternative secure conversion process (payment system side). -
FIG. 6 is a block diagram of an exemplary architecture for a secure conversion tracking system. -
FIG. 1 is a schematic diagram of an example of anonline advertising system 100. One ormore advertisers 102 may directly, or indirectly, enter, maintain, and track ad information in an advertising manager andpayment system 104. The ads may be in the form of graphical ads such as banner ads, text only ads, image ads, audio ads, video ads, ads combining one of more of any of such components, etc. The ads may also include embedded information, such as a link, meta-information, and/or machine executable instructions. One ormore publishers 106 may submit requests for ads to, and accept ads responsive to their request from, thesystem 104.Publishers 106 may also provide usage information to thesystem 104. - Other entities, such as users 108 and
advertisers 102, may provide usage information (e.g., whether or not a conversion or click-through related to the ad occurred) to thesystem 104. This usage information may include measured or observed user behavior related to ads that have been served. Thesystem 104 performs financial transactions, such as crediting thepublishers 106 and charging theadvertisers 102, based on the usage information. Acomputer network 110, such as a local area network (LAN), wide area network (WAN), the Internet, an intranet, a peer-to-peer network, a wireless network, or a combination thereof, connects theadvertisers 102, thesystem 104, thepublishers 106, and the users 108. - One example of a
publisher 106 is a general content server that receives requests for content (e.g., articles, discussion threads, music, video, graphics, search results, web page listings, etc.), and retrieves the requested content in response to, or otherwise services, the request. The content server may submit a request for ads to thesystem 104. Such an ad request may include a number of ads desired. The ad request may also include content request information. This information may include the content itself (e.g., page), a category corresponding to the content or the content request (e.g., arts, business, computers, arts-movies, arts-music, etc.), part or all of the content request, content age, content type (e.g., text, graphics, video, audio, mixed media, etc.), geo-location information, etc. - The content server may combine the requested content with one or more of the advertisements provided by the
system 104. This combined information including the content and advertisement(s) is then forwarded to the user 108 that requested the content, for presentation to the viewer. Finally, the content server may transmit information about the ads and how, when, and/or where the ads are to be rendered (e.g., position, click-through or not, impression time, impression date, size, conversion or not, etc.) back to thesystem 104. Alternatively, or in addition, such information may be provided back to thesystem 104 by some other means. - Another example of a
publisher 106 is a search engine. A search engine may receive queries for search results. In response, the search engine may retrieve relevant search results (e.g., from an index of web pages). An exemplary search engine is described in the article S. Brin and L. Page, “The Anatomy of a Large-Scale Hypertextual Search Engine,” Seventh International World Wide Web Conference, Brisbane, Australia and in U.S. Pat. No. 6,285,999, both of which are incorporated herein by reference each in their entirety. Such search results may include, for example, lists of web page titles, snippets of text extracted from those web pages, and hypertext links to those web pages, and may be grouped into a predetermined number of (e.g., ten) search results. - The search engine may submit a request for ads to the
system 104. The request may include a number of ads desired. This number may depend on the search results, the amount of screen or page space occupied by the search results, the size and shape of the ads, etc. In one implementation, the number of desired ads will be from one to ten, and preferably from three to five. The request for ads may also include the query (as entered or parsed), information based on the query (such as geo-location information, whether the query came from an affiliate and an identifier of such an affiliate), and/or information associated with, or based on, the search results. Such information may include, for example, identifiers related to the search results (e.g., document identifiers or “docIDs”), scores related to the search results (e.g., information retrieval (“IR”) scores such as dot products of feature vectors corresponding to a query and a document, Page Rank scores, and/or combinations of IR scores and Page Rank scores), snippets of text extracted from identified documents (e.g., web pages), full text of identified documents, feature vectors of identified documents, etc. - The search engine may combine the search results with one or more of the advertisements provided by the
system 104. This combined information including the search results and advertisement(s) is then forwarded to the user 108 that requested the content, for presentation to the user 108. Preferably, the search results are maintained as distinct from the ads, so as not to confuse the user between paid advertisements and presumably neutral search results. - Finally, the search engine may transmit information about the ad and when, where, and/or how the ad was to be rendered (e.g., position, click-through or not, impression time, impression date, size, conversion or not, etc.) back to the
system 104. Alternatively, or in addition, such information may be provided back to thesystem 104 by some other means. - As can be appreciated from the foregoing, the advertising system manager/
payment system 104 may servepublishers 106 such as content servers and search engines. The serving of ads targeted to the search results page generated by a search engine is known. The proposed system further permits the serving of ads targeted to documents served by content servers. For example, a network or inter-network may include an ad server serving targeted ads in response to requests from a search engine with ad spots for sale. Suppose that the inter-network is the World Wide Web. The search engine crawls much or all of the content. Some of this content will include ad spots (also referred to as “inventory”) available. More specifically, one or more content servers may include one or more documents. Documents may include content, embedded information such as meta-information and machine executable instructions, and ad spots available. Note that ads inserted into ad spots in a document can vary each time the document is served. Alternatively, ads inserted into ad spots can have a static association with a given document. An ad server may use the results of a separate crawl of the some or all of the content with ad spots available. -
FIG. 2 is a block diagram of an exemplary secureconversion tracking system 200. In some implementations, thesystem 200 includes apayment system 202, one ormore user devices 204, and one ormore advertiser websites 206. Thepayment system 202 further includes apayment server 208, averification server 210 and arepository 212. Thepayment system 202 communicates withuser devices 204 andadvertiser websites 206 through thenetwork 110. - The
user devices 204 can be any device capable of receiving ads, including but not limited to: personal computers, mobile devices, cell phones, media players/recorders, music players, game consoles, media centers, media players, tablets, personal digital assistants (PDAs), television systems, removable storage devices, etc. Theadvertiser websites 206 can include “landing pages” that a user is directed to when the user clicks an ad presented on a publisher website. In some implementations, the ad can be provided by an ad server associated with thepayment system 202, such as described in U.S. patent application Ser. No. 11/477,134, for “Secure and Extensible Pay Per Action Online Advertising.” - In operation, when a user clicks on an ad on a webpage displayed on a user device 204 (“ad click”), the
server 208 is notified of the ad click, and in response to the notification places a conversion cookie on the user device 204 (e.g., in a browser file 218). The cookie includes information (e.g., an ad click string) that can be used by thepayment system 202 to tie the conversion action back to the ad that was clicked by the user at theuser device 204. When the user clicks on the ad, a browser running on theuser device 204 is directed to a landing page of the advertiser'swebsite 206. If the user completes a conversion action at the advertiser's website 206 (e.g., makes purchase, creates an account, provides information), a unique identifier generator at the advertiser'swebsite 206 generates a unique identifier (e.g., a random number (“RN”)), which is stored in a data structure 216 (e.g., a database). Thedata structure 216 is made accessible to thepayment system 202 throughnetwork 110. In some implementations, the advertiser'swebsite 206 creates a file in a web server directory or other desired storage location using the unique identifier as a filename. - A web server or other device at the advertiser's
website 206 generates a conversion snippet including the unique identifier as a parameter, and returns the conversion snippet to theuser device 204. In some implementations, conversion snippets are portions of code (e.g., JavaScript®) that can be executed by a browser running on theuser device 204, as described in U.S. patent application Ser. No. 11/477,134, for “Secure and Extensible Pay Per Action Online Advertising.” A “snippet” is a method used by a web server to ask a web browser running on a user device to perform actions after downloading a web page. A “snippet” is typically implemented in JavaScript® code. However, a “snippet” can also be part of HTML web page content. - The
user device 204 generates a conversion notification (hereinafter also referred to as a “conversion callback”) to theserver 208 in thepayment system 202, and includes the unique identifier as a callback parameter. Conversion callbacks can be implemented using known web protocols and technologies (e.g., HTTP, Java®). In some implementations, theverification server 210 verifies the conversion action by, for example, crawling the unique identifier file previously stored in the web server directory of the advertiser'swebsite 206. Because the web server's directory cannot be listed, the only way to fetch a file with the unique identifier as the filename is to know the unique identifier. Guessing the unique identifier will likely not result in a successful crawling of the file. In such implementations, the advertiser'swebsite 206 can be protected using passwords and other convention security schemes to prevent users from modifying the filenames in the advertiser's web server directory. Examples of web crawlers include open source crawlers written in Java®, such as Heritrix™, WebSPHINX™, JSpider™, WebEater™, Java Web Crawler™, WebLech™, Arachnid™, etc. - If the file is found and has not been crawled before, then the conversion is deemed valid by the
payment system 202. If a file was previously crawled, the filename of the file can be included in alist 222 of filenames of previously crawled files stored in a repository 220 (e.g., cache) of thepayment system 202. For subsequent conversion events, the filename for the file to be crawled can be compared to thelist 222 to determine if the file was previously crawled. If there is no match, the conversion is deemed valid and the filename can be added to thelist 222. If there is a match, the conversion is deemed invalid and the conversion is likely to be “conversion spam.” If a match occurs, theverification server 210 can take an appropriate action, such as, for example, not counting the conversion for compensation purposes. In some implementations, the advertiser can delete or archive its conversion files on a scheduled basis (e.g., a few days) or in response to a trigger event. - In some implementations, a time window can be specified for determining if a file has been previously crawled. For example, the
verification server 210 may only look at the last k days (e.g., 30 days) to determine if a given file was crawled. - In some implementations, the
server 208 maintains a table 214 of conversion events in therepository 212. Each row of the table 214 can include information related to a conversion event. For example, the columns of the table 214 can be the date of the conversion, advertiser ID, total of the number of valid conversions for advertiser ID and a spam reason. Other formats for the table 214 are possible, including formats with more or fewer fields or different types of fields. If a conversion is deemed invalid, then the “spam reason” could be described in the table 214. The contents of table 214 can be used by an accounting service (e.g.,accounting service 628 ofFIG. 6 ) to determine payments. In the example shown, “Event 3” resulted in a match, so the conversion count was set to “1” and the spam response was marked as “Invalid RN,” specifying a random number (i.e., a unique identifier). The conversion count field in table 214 was set to “1”, so that repeated use of a unique identifier is recorded as a single conversion. - With the secure
conversion tracking system 200, conversion spam is thwarted because it is difficult, if not impossible, for a conversion spammer to guess the unique identifier generated by the advertiser, and the spammer cannot list unique identifier files in the advertiser's web servers directory without breaching the security of the advertiser'swebsite 206. The advertisers website can be made secure with passwords and other known security techniques. Each time the web servers directory is crawled, or on a scheduled basis, thepayment system 202 can determine if the web servers directory is secure and warn the advertiser operating the web servers directory of the potential security risk. This can be done by attempting to list the content of a given web server directory using, for example, the HTTP protocol. If the directory can be listed, the directory is not secure because a spammer may use the same method to obtain all the filenames (i.e., the unique identifiers) in the directory. Whether a directory can be listed using HTTP protocol is controlled by the configuration of the advertiser's web server. - Once a unique identifier has been used it can be marked by the
verification server 210 as “expired,” so that it will not be used again by a given advertiser or by any advertiser for a predetermined period of time. -
FIG. 3 is a flow diagram of an exemplarysecure conversion process 300 which can be performed by thepayment system 202 ofFIG. 2 . In some implementations, theprocess 300 begins when thepayment system 202 receives an ad click (302), or other indication from auser device 204, that a user has interacted with an ad presented on a webpage through, for example, a web browser. In response to receiving the ad click, thepayment system 202 stores the ad click string on the user device (304). For example, thepayment system 202 can generate a cookie that includes the ad click string, and then places the cookie in a web browser file (e.g., Microsoft® Explorer) located on, or accessible to, theuser device 204. If the user performs a conversion action, the advertiser associated with the ad generates and stores a unique identifier (e.g., a random number) locally at the advertiser'swebsite 206, as described in reference toFIG. 4 . The advertiser then generates a conversion snippet (or other conversion reporting mechanism) that includes the unique identifier as a parameter, and returns the snippet to theuser device 204. Theuser device 204 generates a conversion callback to thepayment system 202, including the ad click string and the unique identifier, which is received (306) by thepayment system 202. The unique identifier is used by a verification service (e.g.,verification service 624 inFIG. 6 ) running on theverification server 210 of thepayment system 202 to determine if the conversion is invalid (308). - In some implementations, the verification service (e.g., a web crawler) crawls a web server directory associated with the advertiser's
website 206 and fetches a file having the unique identifier as a filename. If the filename exists, and the file was not crawled before by the verification service, the conversion action is deemed valid. The verification can be performed in real time or as a background process. For example, multiple conversion callbacks can be accumulated over a period of time (e.g., a day), and verified as a batch process at the end of the accumulation period. - In some implementations, the results of the
process 300 are stored by thepayment system 202 in a table (e.g., table 214) or other suitable data structure. The contents of the table can then be used by an accounting service for purposes of determining compensation, performing a security procedure or any other desired procedure or action. For accounting purposes, the contents of the table can be compared against the advertiser's conversion records to determine accountability between the advertiser and thepayment system 202. For security purposes, historical data and statistical methods can be used with the contents of the table to determine if a given advertiser is impacted by conversion spam, spoofing or other fraudulent activity. -
FIG. 4 is a flow diagram of an exemplarysecure conversion process 400 which can be performed byadvertisers 206. Theprocess 400 begins when a conversion action is detected (402) by the advertiser'swebsite 206. A conversion action can be any action taken by the user of theuser device 204, including but not limited to making a purchase, creating an account, registering a product, etc. The detection of conversion actions is described in U.S. patent application Ser. No. 11/477,134, for “Secure and Extensible Pay Per Action Online Advertising.” - If a conversion action is detected, the advertiser generates a unique or unique identifier and stores the unique identifier in a location accessible to the payment system (404). In some implementations, a file is generated in a web server directory that has the unique identifier as a filename. The file can be crawled by the
payment system 202 as part of a verification process, as described in reference toFIG. 3 . In other implementations, the unique identifier can be stored in a database or other data structure that is accessible by thepayment system 202. Various known techniques can be used to generate the unique identifier. A unique identifier can be a Universally Unique Identifier (UUID), such as a pseudo random number (e.g., a 128-bit number), such as described in the UUID standard of the Open Source Foundation (OSF). The unique identifier can be written in text as a sequence of hexadecimal digits, alphanumeric characters and/or symbols (e.g., hyphens). In some implementations, a unique identifier can be encoded into a string of characters using a positional numeral system (e.g., base 64). - A code snippet that includes the unique identifier can be generated by the advertiser and made accessible to a
user device 204 for use in a conversion callback to the payment system (406), as described in reference toFIG. 3 . The advertiser can optionally delete stored unique identifiers (e.g., files with unique identifier filenames) after a predetermined period of time (e.g., a few days) or upon a trigger event (408) (e.g., a command from a system administrator). -
FIG. 5 is a flow diagram of an alternativesecure conversion process 500, which can be performed by apayment system 202. In some implementations, theprocess 500 begins when thepayment system 202 receives an ad click (502) or other indication from auser device 204 that a user has interacted with an ad presented on a webpage through, for example, a web browser. In response to receiving the ad click, thepayment system 202 stores the ad click string on the user device (504). For example, thepayment system 202 can generate a cookie that includes the ad click string, and then puts the cookie in a web browser file (e.g., Microsoft® Explorer) located on, or accessible to, theuser device 204. - In contrast to the process of
FIG. 3 , thepayment system 202 receives a request for a unique identifier from the advertiser (506). The request can be made through an application programming interface (API) call if an API exists between the advertiser and thepayment system 202. Thepayment system 202 generates the unique identifier and returns (e.g., through an API call) the unique identifier to the advertiser'swebsite 206, and at the same time stores the unique identifier in a database or other data structure of thepayment system 202. The advertiser then generates a conversion snippet that includes the unique identifier as a parameter, and returns the conversion snippet to the user device. - The
user device 204 generates a conversion callback to thepayment system 202, including the ad click string and the unique identifier, which is received by the payment system (510). The unique identifier is used by a verification service of the payment system to determine if the conversion is invalid (512). In some implementations, the verification service looks for the presence of the unique identifier in the database or other data structure of thepayment system 202. If the unique identifier exists and has not been used before, the conversion action is deemed valid. - The results of the
process 500 are stored by thepayment system 202 in a table (e.g., table 214) or other suitable data structure. The contents of the table can then be used by an accounting service for purposes of determining compensation, for performing a security procedure or for any other desired purpose. - Like the
process 300, spamming is thwarted because it would be difficult, if not impossible, for a spammer to guess the unique identifier provided by thepayment system 202. The communication channel between the advertiser and thepayment system 202 can be made secure to prevent eaves-dropping. For example, at the beginning of an API call to thepayment system 202, thepayment system 202 can verify the identity of the advertiser by its user name and password. Other security measures are possible. -
FIG. 6 is a block diagram of exemplarypayment system architecture 600. Other architectures are possible, including architectures with more or fewer components. The components of thearchitecture 600 can be implemented in software, hardware and/or firmware. Software components can be implemented using any known programming languages and technologies (e.g., C++, Objective-C, Java™, XML, HTML, Perl™). The software components can include one or more modules, libraries, files, etc. - In some implementations, the
architecture 600 includes one or more processors 602 (e.g., dual-core Intel® Xeon® Processors), one ormore repositories 604, one ormore network interfaces 606, an optionaladministrative computer 608 and one or more computer-readable mediums 610 (e.g., RAM, ROM, SDRAM, hard disk, optical disk, flash memory, etc.). These components can exchange communications and data over one or more communication channels 612 (e.g., Ethernet) which can include various known network devices (e.g., routers, hubs, gateways, buses) and software (e.g., middleware) for facilitating the transfer of data and control signals between devices. - The term “computer-readable medium” refers to any medium that participates in providing instructions to a
processor 602 for execution, including without limitation, non-volatile media (e.g., optical or magnetic disks), volatile media (e.g., memory) and transmission media. Transmission media includes, without limitation, coaxial cables, copper wire and fiber optics. Transmission media can also take the form of acoustic, light or radio frequency waves. - The computer-
readable medium 610 further includes an operating system 614 (e.g., Linux® server, Mac OS® server, Windows® NT server), anetwork communication module 616 and apayment system 618. - The
operating system 614 can be multi-user, multiprocessing, multitasking, multithreading, real-time and the like. Theoperating system 614 performs basic tasks, including but not limited to: recognizing input from and providing output to theadministrator computer 608; keeping track of files and directories on computer-readable mediums 610 (e.g., memory or a storage device); controlling peripheral devices (e.g., repository 604); and managing traffic on the one ormore communication channels 612. Thenetwork communications module 616 includes various components for establishing and maintaining network connections (e.g., software for implementing communication protocols, such as TCP/IP, HTTP, Ethernet, etc.). - The
payment system 618 includes aweb page server 620, aconversion callback service 622, averification service 624, aunique identifier generator 626 and anaccounting service 628. Thepayment system 618 is responsible for implementing the secure conversion tracking processes, as described in reference toFIGS. 1-5 . The secure conversion tracking processes can be fully or partially automated, and can include human intervention at one or more points in the secure conversion tracking processes. - In some implementations, the web page server 620 (e.g., Apache® web page server) serves web pages to advertisers and publishers and provides an input means for advertisers and publishers to provide input into the
payment system 618. Theconversion callback service 622 provides various processes for managing the processing of conversion callbacks, including generating code snippets with unique identifiers, etc. Theverification service 624 provides various processes (e.g., a web crawler) for verifying the unique identifier that is stored by the advertiser. Theunique identifier generator 626 provides unique identifiers in accordance with the alternative secureconversion tracking process 500 described in reference toFIG. 5 . Theunique identifier generator 626 can be implemented in software using known technology, functions or OS services (e.g., Linux® random( ) function). Theaccounting service 628 manages accounting associated with conversion tracking, such as, for example, generating and maintaining the Table 214 shown inFIG. 2 . - Various modifications can be made to the disclosed implementations and still be within the scope of the following claims.
Claims (20)
1. A secure conversion tracking method, comprising:
receiving a conversion notification, the notification including a unique identifier generated by an advertiser in response to a conversion action;
determining if the unique identifier was submitted in a previous notification; and
if the unique identifier was not submitted in a previous notification, validating the conversion action.
2. The method of claim 1 , where receiving a conversion notification further comprises:
receiving the conversion notification from a user device.
3. The method of claim 1 , where determining if the unique identifier was submitted in a previous notification further comprises:
determining if the unique identifier is stored on a website associated with the advertiser; and
if the unique identifier is stored on the website associated with the advertiser, determining if the unique identifier was submitted in the previous notification.
4. The method of claim 3 , where determining if the unique identifier is stored on a website associated with the advertiser further comprises:
crawling a file having the unique identifier as a filename; and
comparing the filename to a list of filenames of previously crawled files.
5. A secure conversion tracking method, comprising:
detecting a conversion action; and
responsive to detecting a conversion action,
generating a unique identifier;
storing the unique identifier in a location that is accessible to a verification process; and
generating a conversion notification that includes the unique identifier.
6. The method of claim 5 , further comprising:
sending the conversion notification to a user device for use in a conversion callback to the payment system.
7. The method of claim 5 , further comprising:
deleting the stored unique identifier after a period of time has elapsed.
8. The method of claim 5 , where generating a conversion notification further comprises:
generating a code snippet that includes the unique identifier.
9. A secure conversion tracking method, comprising:
receiving a request to generate a unique identifier;
generating a unique identifier in response to the request;
sending the unique identifier to a first device, where the unique identifier is stored at a location accessible to a verification process;
receiving a conversion callback from a second device, the conversion callback including the unique identifier; and
initiating the verification process to confirm the conversion using the unique identifier.
10. The method of claim 9 , where confirming a conversion further comprises:
searching the location for the unique identifier; and
if the unique identifier is found, confirming that the conversion is valid.
11. A method, comprising:
associating a unique identifier with a conversion action related to an advertisement; and
validating subsequent conversion actions for the advertisement, including confirming that the subsequent conversion actions are not associated with the unique identifier.
12. A computer-readable medium having instructions stored thereon, which, when executed by a processor, causes the processor to perform the operations of:
receiving a conversion notification, the notification including a unique identifier generated by an advertiser in response to a conversion action;
determining if the unique identifier was submitted in a previous notification; and
if the unique identifier was not submitted in a previous notification, validating the conversion action.
13. The computer-readable medium of claim 12 , where receiving a conversion notification further comprises:
receiving the conversion notification from a user device.
14. The computer-readable medium of claim 12 , where determining if the unique identifier was submitted in a previous notification further comprises:
determining if the unique identifier is stored on a website associated with the advertiser; and
if the unique identifier is stored on the website associated with the advertiser, determining if the unique identifier was submitted in the previous notification.
15. The computer-readable medium of claim 14 , where determining if the unique identifier is stored on a website associated with the advertiser further comprises:
crawling a file having the unique identifier as a filename; and
comparing the filename to a list of filenames of previously crawled files.
16. A computer-readable medium having instructions stored thereon, which, when executed by a processor, causes the processor to perform the operations of:
detecting a conversion action; and
responsive to detecting a conversion action,
generating a unique identifier;
storing the unique identifier in a location that is accessible to a verification process; and
generating a conversion notification that includes the unique identifier.
17. A computer-readable medium having instructions stored thereon, which, when executed by a processor, causes the processor to perform the operations of:
receiving a request to generate a unique identifier;
generating a unique identifier in response to the request;
sending the unique identifier to a first device, where the unique identifier is stored at a location accessible to a verification process;
receiving a conversion callback from a device, the conversion callback including the unique identifier; and
initiating the verification process to confirm the conversion using the unique identifier.
18. The computer-readable medium of claim 17 , where confirming a conversion further comprises:
searching the location for the unique identifier; and
if the unique identifier is found, confirming that the conversion is valid.
19. A computer-readable medium having instructions stored thereon, which, when executed by a processor, causes the processor to perform the operations of:
associating a unique identifier with a conversion action related to an advertisement; and
validating subsequent conversion actions for the advertisement, including confirming that the subsequent conversion actions are not associated with the unique identifier.
20. A secure conversion tracking system, comprising:
means for receiving a conversion notification, the notification including a unique identifier generated by an advertiser in response to a conversion action;
means for determining if the unique identifier was submitted in a previous notification; and
if the unique identifier was not submitted in a previous notification, means for validating the conversion action.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/520,351 US20080065474A1 (en) | 2006-09-12 | 2006-09-12 | Secure conversion tracking |
PCT/US2007/078200 WO2008033868A1 (en) | 2006-09-12 | 2007-09-11 | Secure conversion tracking |
US15/666,378 US10963891B2 (en) | 2006-09-12 | 2017-08-01 | Secure conversion tracking |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/520,351 US20080065474A1 (en) | 2006-09-12 | 2006-09-12 | Secure conversion tracking |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/666,378 Continuation US10963891B2 (en) | 2006-09-12 | 2017-08-01 | Secure conversion tracking |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080065474A1 true US20080065474A1 (en) | 2008-03-13 |
Family
ID=39170916
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/520,351 Abandoned US20080065474A1 (en) | 2006-09-12 | 2006-09-12 | Secure conversion tracking |
US15/666,378 Active 2028-01-18 US10963891B2 (en) | 2006-09-12 | 2017-08-01 | Secure conversion tracking |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/666,378 Active 2028-01-18 US10963891B2 (en) | 2006-09-12 | 2017-08-01 | Secure conversion tracking |
Country Status (2)
Country | Link |
---|---|
US (2) | US20080065474A1 (en) |
WO (1) | WO2008033868A1 (en) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050055269A1 (en) * | 2003-09-04 | 2005-03-10 | Alex Roetter | Systems and methods for determining user actions |
US20050160002A1 (en) * | 2003-09-04 | 2005-07-21 | Alex Roetter | Systems and methods for determining user actions |
US20050273388A1 (en) * | 2003-09-04 | 2005-12-08 | Alex Roetter | Systems and methods for determining user actions |
US20080010143A1 (en) * | 2006-06-22 | 2008-01-10 | Rob Kniaz | Secure and extensible pay per action online advertising |
US20080250053A1 (en) * | 2007-04-05 | 2008-10-09 | Cvon Innovations Limited | User Interface for Selecting Operators |
US20080287096A1 (en) * | 2007-03-07 | 2008-11-20 | Cvon Innovations Limited | Access control |
US20090177526A1 (en) * | 2008-01-07 | 2009-07-09 | Cvon Innovations Ltd. | System, method and computer program for selecting an information provider |
US20100174595A1 (en) * | 2007-06-12 | 2010-07-08 | Cvon Innovations Ltd. | Method and system for managing credits via a mobile device |
US20110295689A1 (en) * | 2010-05-28 | 2011-12-01 | James Brady | Methods and systems to modify advertising and content delivered over the internet |
US20130130662A1 (en) * | 2008-09-19 | 2013-05-23 | Clear Channel Management Services, Inc. | Computer based method and system for logging in a user mobile device at a server computer system |
US8510658B2 (en) | 2010-08-11 | 2013-08-13 | Apple Inc. | Population segmentation |
US8990103B2 (en) | 2010-08-02 | 2015-03-24 | Apple Inc. | Booking and management of inventory atoms in content delivery systems |
US8996402B2 (en) | 2010-08-02 | 2015-03-31 | Apple Inc. | Forecasting and booking of inventory atoms in content delivery systems |
US10282755B2 (en) * | 2012-10-01 | 2019-05-07 | Dstillery, Inc. | Systems, methods, and media for mobile advertising conversion attribution |
US20190236642A1 (en) * | 2011-02-14 | 2019-08-01 | Cardspring, Inc. | Methods of tracking online conversions to verify completion by a customer of an online transaction with an online merchant in response to the customer viewing an online advertisement |
US10467653B1 (en) | 2013-03-14 | 2019-11-05 | Oath (Americas) Inc. | Tracking online conversions attributable to offline events |
US10963891B2 (en) | 2006-09-12 | 2021-03-30 | Google Llc | Secure conversion tracking |
US11012494B2 (en) | 2015-01-28 | 2021-05-18 | Twitter, Inc. | Method and system for online conversion attribution |
US11457507B2 (en) * | 2017-04-10 | 2022-09-27 | Phoenix Contact Gmbh & Co. Kg | Communication system for serial communication between communication devices |
Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5930772A (en) * | 1996-03-29 | 1999-07-27 | Fujitsu Limited | Volume-dependent accounting system and method in connectionless communications |
US6006197A (en) * | 1998-04-20 | 1999-12-21 | Straightup Software, Inc. | System and method for assessing effectiveness of internet marketing campaign |
US6016504A (en) * | 1996-08-28 | 2000-01-18 | Infospace.Com, Inc. | Method and system for tracking the purchase of a product and services over the Internet |
US20020004733A1 (en) * | 2000-05-05 | 2002-01-10 | Frank Addante | Method and apparatus for transaction tracking over a computer network |
US20020040318A1 (en) * | 2000-05-24 | 2002-04-04 | Takaaki Amano | Advertisement supplying system |
US20020095331A1 (en) * | 2001-01-16 | 2002-07-18 | Anas Osman | Pay-for-results based marketing |
US20030097564A1 (en) * | 2000-08-18 | 2003-05-22 | Tewari Anoop Kailasnath | Secure content delivery system |
US20030109249A1 (en) * | 2001-12-07 | 2003-06-12 | William Frantz | System, method and apparatus to deliver guaranteed advertising |
US20030195837A1 (en) * | 2001-03-09 | 2003-10-16 | Miodrag Kostic | System for conducting an exchange of click-through traffic on internet web sites |
US20050006466A1 (en) * | 2001-11-21 | 2005-01-13 | Overhultz Gary L. | Advertising compliance monitoring system |
US20050055269A1 (en) * | 2003-09-04 | 2005-03-10 | Alex Roetter | Systems and methods for determining user actions |
US20050086169A1 (en) * | 2001-12-07 | 2005-04-21 | Wells Jonathan B. | Electronic purchasing method and apparatus for performing the same |
US20050097040A1 (en) * | 2003-03-21 | 2005-05-05 | Chen Andrew D. | Method and system to facilitate payments to satisfy payment obligations resulting from purchase transactions |
US20050160002A1 (en) * | 2003-09-04 | 2005-07-21 | Alex Roetter | Systems and methods for determining user actions |
US6928426B2 (en) * | 2000-12-30 | 2005-08-09 | Intel Corporation | Method and apparatus to improve file management |
US20050273388A1 (en) * | 2003-09-04 | 2005-12-08 | Alex Roetter | Systems and methods for determining user actions |
US20060031117A1 (en) * | 2004-06-07 | 2006-02-09 | Meir Zohar | System for dynamic advertising in software applications |
US20060184417A1 (en) * | 2005-02-16 | 2006-08-17 | Van Der Linden Sean | System and method to merge pay-for-performance advertising models |
US20060259468A1 (en) * | 2005-05-10 | 2006-11-16 | Michael Brooks | Methods for electronic records management |
US20070033104A1 (en) * | 2005-07-29 | 2007-02-08 | Collins Robert J | Advertiser reporting system and method in a networked database search system |
US20080010143A1 (en) * | 2006-06-22 | 2008-01-10 | Rob Kniaz | Secure and extensible pay per action online advertising |
US7383377B2 (en) * | 2004-12-10 | 2008-06-03 | Fujitsu Limited | Method and apparatus for transferring data |
US20080255915A1 (en) * | 2005-07-29 | 2008-10-16 | Yahoo! Inc. | System and method for advertisement management |
US20080270243A1 (en) * | 2003-02-05 | 2008-10-30 | I Coupon Limited | Discount and/or loyalty reward system and retail apparatus therefor |
US7734502B1 (en) * | 2005-08-11 | 2010-06-08 | A9.Com, Inc. | Ad server system with click fraud protection |
US20120134478A1 (en) * | 2003-05-30 | 2012-05-31 | American Express Travel Related Services Company, Inc. | Speaker recognition in a multi-speaker environment and comparison of several voice prints to many |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPQ131399A0 (en) | 1999-06-30 | 1999-07-22 | Silverbrook Research Pty Ltd | A method and apparatus (NPAGE02) |
US5933811A (en) | 1996-08-20 | 1999-08-03 | Paul D. Angles | System and method for delivering customized advertisements within interactive communication systems |
US5948061A (en) | 1996-10-29 | 1999-09-07 | Double Click, Inc. | Method of delivery, targeting, and measuring advertising over networks |
US6285999B1 (en) | 1997-01-10 | 2001-09-04 | The Board Of Trustees Of The Leland Stanford Junior University | Method for node ranking in a linked database |
US6134532A (en) | 1997-11-14 | 2000-10-17 | Aptex Software, Inc. | System and method for optimal adaptive matching of users to most relevant entity and information in real-time |
KR100284579B1 (en) | 1997-12-23 | 2001-03-15 | 정선종 | Small electronic payment based online service method |
US6421675B1 (en) | 1998-03-16 | 2002-07-16 | S. L. I. Systems, Inc. | Search engine |
US7343319B1 (en) | 1999-07-09 | 2008-03-11 | Walker Digital, Llc | Multi-tier pricing of individual products based on volume discounts |
WO2001009789A1 (en) | 1999-07-30 | 2001-02-08 | Tmp Worldwide | Method and apparatus for tracking and analyzing online usage |
CA2299758A1 (en) | 1999-09-09 | 2001-03-09 | Netzero, Inc. | Dynamic ad targeting by an internet server |
WO2001039023A2 (en) | 1999-11-22 | 2001-05-31 | Avenue A, Inc. | Method and facility for capturing behavioral and profile data during a customer visit to a web site |
WO2001041030A1 (en) | 1999-12-06 | 2001-06-07 | Quantitative Advisors, Inc. | Method and system for advertising products and services over a communications network |
US20040078273A1 (en) | 1999-12-08 | 2004-04-22 | Loeb Michael R. | Method and apparatus for relational linking based upon customer activities |
KR100377515B1 (en) | 2000-03-11 | 2003-03-26 | 주식회사 윈텍코리아 | Method for managing advertisements on Internet and System therefor |
US7162450B2 (en) | 2000-06-30 | 2007-01-09 | Ponzio Jr Frank J | Business method for determining quality and integrity of data content |
EP1178409A1 (en) | 2000-08-01 | 2002-02-06 | DR. Riccardo Genghini Studio Notarile Genghini | Cookiemanager to control the exchange of cookies in an Internet client-server computersystem |
US20030014304A1 (en) | 2001-07-10 | 2003-01-16 | Avenue A, Inc. | Method of analyzing internet advertising effects |
WO2003050744A1 (en) | 2001-12-07 | 2003-06-19 | Sofcast, Inc. | Delivering content and advertisement |
US7716161B2 (en) | 2002-09-24 | 2010-05-11 | Google, Inc, | Methods and apparatus for serving relevant advertisements |
US8611919B2 (en) | 2002-05-23 | 2013-12-17 | Wounder Gmbh., Llc | System, method, and computer program product for providing location based services and mobile e-commerce |
US20040044571A1 (en) | 2002-08-27 | 2004-03-04 | Bronnimann Eric Robert | Method and system for providing advertising listing variance in distribution feeds over the internet to maximize revenue to the advertising distributor |
KR100532621B1 (en) | 2003-04-14 | 2005-12-01 | 이수창 | analysis system of online advertising impact and method thereof |
US20070131177A1 (en) | 2005-03-17 | 2007-06-14 | Jerzy Perkitny | Motorized pet leash assembly |
US8364521B2 (en) | 2005-09-14 | 2013-01-29 | Jumptap, Inc. | Rendering targeted advertisement on mobile communication facilities |
EP2667344A3 (en) * | 2005-10-06 | 2014-08-27 | C-Sam, Inc. | Transactional services |
US7996777B2 (en) | 2006-04-20 | 2011-08-09 | Google Inc. | Syndicated trackable ad content |
US20070260516A1 (en) | 2006-05-05 | 2007-11-08 | Schoen Michael A | Method and system for billing for online advertisement delivery services |
US20080065474A1 (en) | 2006-09-12 | 2008-03-13 | Abhinay Sharma | Secure conversion tracking |
-
2006
- 2006-09-12 US US11/520,351 patent/US20080065474A1/en not_active Abandoned
-
2007
- 2007-09-11 WO PCT/US2007/078200 patent/WO2008033868A1/en active Application Filing
-
2017
- 2017-08-01 US US15/666,378 patent/US10963891B2/en active Active
Patent Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5930772A (en) * | 1996-03-29 | 1999-07-27 | Fujitsu Limited | Volume-dependent accounting system and method in connectionless communications |
US6016504A (en) * | 1996-08-28 | 2000-01-18 | Infospace.Com, Inc. | Method and system for tracking the purchase of a product and services over the Internet |
US6006197A (en) * | 1998-04-20 | 1999-12-21 | Straightup Software, Inc. | System and method for assessing effectiveness of internet marketing campaign |
US20020004733A1 (en) * | 2000-05-05 | 2002-01-10 | Frank Addante | Method and apparatus for transaction tracking over a computer network |
US20020040318A1 (en) * | 2000-05-24 | 2002-04-04 | Takaaki Amano | Advertisement supplying system |
US20030097564A1 (en) * | 2000-08-18 | 2003-05-22 | Tewari Anoop Kailasnath | Secure content delivery system |
US6928426B2 (en) * | 2000-12-30 | 2005-08-09 | Intel Corporation | Method and apparatus to improve file management |
US20020095331A1 (en) * | 2001-01-16 | 2002-07-18 | Anas Osman | Pay-for-results based marketing |
US20030195837A1 (en) * | 2001-03-09 | 2003-10-16 | Miodrag Kostic | System for conducting an exchange of click-through traffic on internet web sites |
US20050006466A1 (en) * | 2001-11-21 | 2005-01-13 | Overhultz Gary L. | Advertising compliance monitoring system |
US20030109249A1 (en) * | 2001-12-07 | 2003-06-12 | William Frantz | System, method and apparatus to deliver guaranteed advertising |
US20050086169A1 (en) * | 2001-12-07 | 2005-04-21 | Wells Jonathan B. | Electronic purchasing method and apparatus for performing the same |
US20080270243A1 (en) * | 2003-02-05 | 2008-10-30 | I Coupon Limited | Discount and/or loyalty reward system and retail apparatus therefor |
US20050097040A1 (en) * | 2003-03-21 | 2005-05-05 | Chen Andrew D. | Method and system to facilitate payments to satisfy payment obligations resulting from purchase transactions |
US20120134478A1 (en) * | 2003-05-30 | 2012-05-31 | American Express Travel Related Services Company, Inc. | Speaker recognition in a multi-speaker environment and comparison of several voice prints to many |
US20050160002A1 (en) * | 2003-09-04 | 2005-07-21 | Alex Roetter | Systems and methods for determining user actions |
US20050273388A1 (en) * | 2003-09-04 | 2005-12-08 | Alex Roetter | Systems and methods for determining user actions |
US20050055269A1 (en) * | 2003-09-04 | 2005-03-10 | Alex Roetter | Systems and methods for determining user actions |
US20060031117A1 (en) * | 2004-06-07 | 2006-02-09 | Meir Zohar | System for dynamic advertising in software applications |
US7383377B2 (en) * | 2004-12-10 | 2008-06-03 | Fujitsu Limited | Method and apparatus for transferring data |
US20060184417A1 (en) * | 2005-02-16 | 2006-08-17 | Van Der Linden Sean | System and method to merge pay-for-performance advertising models |
US20060259468A1 (en) * | 2005-05-10 | 2006-11-16 | Michael Brooks | Methods for electronic records management |
US20070033104A1 (en) * | 2005-07-29 | 2007-02-08 | Collins Robert J | Advertiser reporting system and method in a networked database search system |
US20080255915A1 (en) * | 2005-07-29 | 2008-10-16 | Yahoo! Inc. | System and method for advertisement management |
US7734502B1 (en) * | 2005-08-11 | 2010-06-08 | A9.Com, Inc. | Ad server system with click fraud protection |
US20080010143A1 (en) * | 2006-06-22 | 2008-01-10 | Rob Kniaz | Secure and extensible pay per action online advertising |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8706551B2 (en) | 2003-09-04 | 2014-04-22 | Google Inc. | Systems and methods for determining user actions |
US20050160002A1 (en) * | 2003-09-04 | 2005-07-21 | Alex Roetter | Systems and methods for determining user actions |
US20050273388A1 (en) * | 2003-09-04 | 2005-12-08 | Alex Roetter | Systems and methods for determining user actions |
US11100518B2 (en) | 2003-09-04 | 2021-08-24 | Google Llc | Systems and methods for determining user actions |
US11042886B2 (en) | 2003-09-04 | 2021-06-22 | Google Llc | Systems and methods for determining user actions |
US20050055269A1 (en) * | 2003-09-04 | 2005-03-10 | Alex Roetter | Systems and methods for determining user actions |
US10515387B2 (en) | 2003-09-04 | 2019-12-24 | Google Llc | Systems and methods for determining user actions |
US10726164B2 (en) | 2006-06-22 | 2020-07-28 | Google Llc | Secure and extensible pay per action online advertising |
US20080010143A1 (en) * | 2006-06-22 | 2008-01-10 | Rob Kniaz | Secure and extensible pay per action online advertising |
US9898627B2 (en) | 2006-06-22 | 2018-02-20 | Google Inc. | Secure and extensible pay per action online advertising |
US10963891B2 (en) | 2006-09-12 | 2021-03-30 | Google Llc | Secure conversion tracking |
US20080287096A1 (en) * | 2007-03-07 | 2008-11-20 | Cvon Innovations Limited | Access control |
US8254880B2 (en) | 2007-03-07 | 2012-08-28 | Apple Inc. | Access control |
US10241636B2 (en) | 2007-04-05 | 2019-03-26 | Apple Inc. | User interface for collecting criteria and estimating delivery parameters |
US8473614B2 (en) | 2007-04-05 | 2013-06-25 | Apple Inc. | User interface for collecting criteria and estimating delivery parameters |
US20080250053A1 (en) * | 2007-04-05 | 2008-10-09 | Cvon Innovations Limited | User Interface for Selecting Operators |
US20100174595A1 (en) * | 2007-06-12 | 2010-07-08 | Cvon Innovations Ltd. | Method and system for managing credits via a mobile device |
US20090177526A1 (en) * | 2008-01-07 | 2009-07-09 | Cvon Innovations Ltd. | System, method and computer program for selecting an information provider |
US20180332427A1 (en) * | 2008-09-19 | 2018-11-15 | Iheartmedia Management Services, Inc. | Automatic mobile device website login |
US20130130662A1 (en) * | 2008-09-19 | 2013-05-23 | Clear Channel Management Services, Inc. | Computer based method and system for logging in a user mobile device at a server computer system |
US11064311B2 (en) * | 2008-09-19 | 2021-07-13 | Iheartmedia Management Services, Inc. | Automatic mobile device website login |
US9973875B2 (en) * | 2008-09-19 | 2018-05-15 | Iheartmedia Management Services, Inc. | Computer based method and system for logging in a user mobile device at a server computer system |
US20110295689A1 (en) * | 2010-05-28 | 2011-12-01 | James Brady | Methods and systems to modify advertising and content delivered over the internet |
US8996402B2 (en) | 2010-08-02 | 2015-03-31 | Apple Inc. | Forecasting and booking of inventory atoms in content delivery systems |
US8990103B2 (en) | 2010-08-02 | 2015-03-24 | Apple Inc. | Booking and management of inventory atoms in content delivery systems |
US8510658B2 (en) | 2010-08-11 | 2013-08-13 | Apple Inc. | Population segmentation |
US10817896B2 (en) | 2011-02-14 | 2020-10-27 | Cardspring, Llc | Measuring conversion of an online advertising campaign including group offers from an offline merchant |
US10769657B2 (en) | 2011-02-14 | 2020-09-08 | Cardspring, Llc | Measuring conversion of an online advertising campaign including referral offers from an offline merchant |
US20190236642A1 (en) * | 2011-02-14 | 2019-08-01 | Cardspring, Inc. | Methods of tracking online conversions to verify completion by a customer of an online transaction with an online merchant in response to the customer viewing an online advertisement |
US10282755B2 (en) * | 2012-10-01 | 2019-05-07 | Dstillery, Inc. | Systems, methods, and media for mobile advertising conversion attribution |
US10467653B1 (en) | 2013-03-14 | 2019-11-05 | Oath (Americas) Inc. | Tracking online conversions attributable to offline events |
US11176572B2 (en) | 2013-03-14 | 2021-11-16 | Verizon Media Inc. | Tracking online conversions attributable to offline events |
US11756072B2 (en) | 2013-03-14 | 2023-09-12 | Yahoo Ad Tech Llc | Tracking online conversions attributable to offline events |
US11012494B2 (en) | 2015-01-28 | 2021-05-18 | Twitter, Inc. | Method and system for online conversion attribution |
US11457507B2 (en) * | 2017-04-10 | 2022-09-27 | Phoenix Contact Gmbh & Co. Kg | Communication system for serial communication between communication devices |
Also Published As
Publication number | Publication date |
---|---|
US20170345023A1 (en) | 2017-11-30 |
US10963891B2 (en) | 2021-03-30 |
WO2008033868A1 (en) | 2008-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10963891B2 (en) | Secure conversion tracking | |
US10726164B2 (en) | Secure and extensible pay per action online advertising | |
US20220086184A1 (en) | Method and system for tracking fraudulent activity | |
US9331997B2 (en) | Systems and methods for managing disclosure of protectable information | |
US10515387B2 (en) | Systems and methods for determining user actions | |
US8630938B2 (en) | Method and apparatus to detect fraudulent activities within a network-based auction facility | |
US8719396B2 (en) | Fraud prevention and detection for online advertising | |
US9858341B2 (en) | Method and apparatus for remotely monitoring a social website | |
US7917491B1 (en) | Click fraud prevention system and method | |
US20110314114A1 (en) | Persistent Cross Channel Cookie Method and System | |
US20070255821A1 (en) | Real-time click fraud detecting and blocking system | |
JP2009507268A (en) | Improved fraud monitoring system | |
US9258115B2 (en) | Securing information exchanged via a network | |
WO2010048406A2 (en) | Methods of computing advertising value through real-time auction | |
US20080281757A1 (en) | Trusted privacy information management | |
US20220277339A1 (en) | Systems and methods for online traffic filtration by electronic content providers | |
US20200410548A1 (en) | Method and system for commerce and advertising | |
Pollack | Opt-in government: Using the Internet to empower choice-Privacy application | |
US20120173327A1 (en) | Promoting, delivering and selling information to intranet users | |
US20100082426A1 (en) | Site activation and deactivation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SHARMA, ABHINAY;CHEN, KAI;REEL/FRAME:018314/0252 Effective date: 20060908 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |
|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044142/0357 Effective date: 20170929 |