US20230229654A1 - Cross-channel consistent user content - Google Patents
Cross-channel consistent user content Download PDFInfo
- Publication number
- US20230229654A1 US20230229654A1 US18/125,972 US202318125972A US2023229654A1 US 20230229654 A1 US20230229654 A1 US 20230229654A1 US 202318125972 A US202318125972 A US 202318125972A US 2023229654 A1 US2023229654 A1 US 2023229654A1
- Authority
- US
- United States
- Prior art keywords
- personalized content
- offer
- content
- user
- personalized
- 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.)
- Pending
Links
- 230000004044 response Effects 0.000 claims abstract description 17
- 238000012797 qualification Methods 0.000 claims description 45
- 238000000034 method Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 17
- 230000003993 interaction Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 235000014510 cooky Nutrition 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007727 cost benefit analysis Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Definitions
- a user may receive one version of content if they are referred to the website from a third-party website. Meanwhile, the user may receive a second version of the content if they visit the website while logged in, and a third version of the content if they visit the website while not authenticated with the website. Accordingly, the user may suffer from inconsistent user experiences.
- FIGS. 1 A- 1 D are pictorial diagrams of an example user interface rendered by a client in the network environment of FIG. 2 according to various embodiments of the present disclosure.
- FIG. 2 is a drawing of a network environment according to various embodiments of the present disclosure.
- FIG. 3 is a sequence diagram illustrating one example of functionality implemented as portions of an application executed in a computing environment in the network environment of FIG. 2 according to various embodiments of the present disclosure.
- FIG. 4 is a sequence diagram illustrating one example of functionality implemented as portions of an application executed in a computing environment in the network environment of FIG. 2 according to various embodiments of the present disclosure.
- a user browses a website, they can be provided with content that is personalized.
- users may visit the website through different channels, such that the web site does not always accurately identify the user on each visit.
- the user may receive content that is more or less personalized according to whether the user has recently visited the website, is visiting the website while logged in, etc.
- This can lead to inconsistent user experiences. For example, when a user visits a website, they could receive general or generic offers for goods or services, while they might receive more favorable or more tailored offers for goods or services if they were logged in and the website could verify the identity and qualifications of the user.
- some websites may have strict privacy controls regarding the disclosure or sharing of the personal information of a user.
- a financial institution may be allowed to receive and forward personal information to a credit bureau for the purpose of evaluating whether to offer credit or other banking or financial services (e.g., credit or charge cards). But the financial institution may be prohibited from storing this personal information, using it for other purposes, or sharing it with other computer systems under the control of the financial institution.
- the approaches described herein allow for the details of content that a user is authorized to receive (e.g., financial services or product offers) to be shared between systems without storing or sharing the personal information of the user. This not only preserves the privacy of a user, but also provides security improvements by limiting the amount of information that could be disclosed in the event of a data breach.
- FIG. 1 A illustrates a user interface 100 a according to various embodiments of the present disclosure.
- the user interface 100 a could represent any application interface displayed to a user, such as a web page rendered by a web browser, an application screen, etc.
- the user interface 100 a shows personalized content to the user, such as personalized offer 103 a, personalized offer 103 b, and personalized offer 103 c (collectively “personalized offers 103 ”).
- personalized offers 103 can still be tailored based on such factors as the geographic location of the device.
- FIG. 1 B illustrates a user interface 100 b according to various embodiments of the present disclosure.
- a user may supply personal information through the user interface 100 b, such as the legal name of the user, his or her current address, his or her current occupation, his or her current annual income, and/or his or her government identifier (e.g., social security number, driver's license number, passport number, etc.).
- the user may arrive at the user interface 100 b from the user interface 100 a by selecting a personalized offer 103 and, in response, being presented with the user interface 100 b.
- the personal information could then be submitted in order to confirm that the user is eligible for the selected personalized offer 103 and/or is eligible for additional or improved personalized offers 103 .
- FIG. 1 C illustrates a user interface 100 c according to various embodiments of the present disclosure.
- a user may be presented with updated personalized offers 103 (depicted as personalized offers 103 d, 103 e, and 103 f ) in response to submitting his or her personal information through the user interface 100 b.
- personalized offers 103 d, 103 e , and 103 f can be presented that show larger bonuses, longer interest free periods, etc.
- FIG. 1 D illustrates a user interface 100 d according to various embodiments of the present disclosure.
- the user interface 100 d may be similar to the user interface 100 a in that the user has not authenticated with the entity providing the user interface 100 d. For example, if a user has previously visited the website of the entity and provided personal information (as depicted in FIG. 1 B ), only to subsequently leave the website (e.g., due to closing the browser window), the user could return to the website without being logged in or authenticated. However, because the user has previously provided personal information, the user can still be presented with the personalized offers 103 d, 103 e, and/or 103 f instead of the personalized offers 103 a, 103 b, and/or 103 c.
- the network environment 200 can include a computing environment 203 and a client device 206 , which can be in data communication with each other via a network 209 .
- the network 209 can include wide area networks (WANs), local area networks (LANs), personal area networks (PANs), or a combination thereof. These networks can include wired or wireless components or a combination thereof. Wired networks can include Ethernet networks, cable networks, fiber optic networks, and telephone networks such as dial-up, digital subscriber line (DSL), and integrated services digital network (ISDN) networks. Wireless networks can include cellular networks, satellite networks, Institute of Electrical and Electronic Engineers (IEEE) 802.11 wireless networks (i.e., WI-FI®), BLUETOOTH® networks, microwave transmission networks, as well as other networks relying on radio broadcasts. The network 209 can also include a combination of two or more networks 209 . Examples of networks 209 can include the Internet, intranets, extranets, virtual private networks (VPNs), and similar networks.
- VPNs virtual private networks
- the computing environment 203 can include one or more computing devices that include a processor, a memory, and/or a network interface.
- the computing devices can be configured to perform computations on behalf of other computing devices or applications.
- such computing devices can host and/or provide content to other computing devices in response to requests for content.
- the computing environment 203 can employ a plurality of computing devices that can be arranged in one or more server banks or computer banks or other arrangements. Such computing devices can be located in a single installation or can be distributed among many different geographical locations.
- the computing environment 203 can include a plurality of computing devices that together can include a hosted computing resource, a grid computing resource or any other distributed computing arrangement.
- the computing environment 203 can correspond to an elastic computing resource where the allotted capacity of processing, network, storage, or other computing-related resources can vary over time.
- the components executed on the computing environment 203 can include a web server 213 , a personalization engine 216 , and a qualification engine 219 . Although depicted separately for purposes of clarity, the web server 213 , the personalization engine 216 , and/or the qualification engine 219 can be implemented as components of the same application and/or operated by the same entity.
- the computing environment 203 can also execute, host, or otherwise implement other applications, services, processes, systems, engines, or functionality not discussed in detail herein.
- the data store 223 can be representative of a plurality of data stores 223 , which can include relational databases or non-relational databases such as object-oriented databases, hierarchical databases, hash tables or similar key-value data stores, as well as other data storage applications or data structures. Moreover, combinations of these databases, data storage applications, and/or data structures may be used together to provide a single, logical, data store.
- the data stored in the data store 223 is associated with the operation of the various applications or functional entities described below. This data can include content such as click stream data 225 , one or more offers 227 , personalized content such as one or more personalized offers 103 , and potentially other data.
- the clickstream data 225 can represent a recording or recordings of a user's interactions with a web page, such as a user interface 100 , by the web server 213 .
- a user clicks on a button, selects a hyperlink, enters text into a text field, or otherwise interacts with individual user interface elements the interactions are provided by the browser to the web server 213 .
- These user interactions can be saved by the webserver 213 as clickstream data 225 associated with a particular client device 206 or user of the client device 206 .
- An offer 227 can represent content that can be personalized for a user. Examples of offers 227 can include offers for goods or services. Offers 227 can accordingly include an offer identifier 229 , one or more offer terms 233 and one or more offer qualifications 236 .
- the offer identifier 229 can represent any identifier that uniquely identifies an offer 227 with respect to another offer 227 .
- Examples of offer identifiers 229 can include sequential numbers, hashes, universally unique identifiers (UUIDs), globally unique identifiers (GUIDs), etc.
- the offer terms 233 represent the terms of the offer 227 .
- offer terms 223 could represent a sign-up bonus for agreeing to purchase a good or service, such as a sign-up bonus for opening a new credit card or charge card account with an issuer.
- offer terms 223 could represent an introductory interest rate that is guaranteed for a defined amount of time.
- an offer 227 can have multiple tiers for the same offer terms 233 .
- an offer 227 of a sign-up bonus could include a first tier that offers a lower bonus amount if a lower spending threshold is met, and a second tier that offers a higher bonus amount if a higher spending threshold is met.
- an offer 227 could have different time periods that an introductory interest rate could be offered or different levels of introductory interest rates.
- the individual offer terms 233 may be represented by individual offer flags. These offer flags can reflect an identifier for a particular level, tier, or version of the offer terms 233 available.
- the offer qualifications 236 can represent those conditions or qualifications which a user must satisfy in order to be eligible for an offer 227 with a particular set of offer terms 233 .
- the offer qualifications 236 could specify a minimum credit score, a minimum annual income, or other factors or combination thereof which the user would need to satisfy in order to be eligible for the offer 227 with those offer terms 233 .
- the offer 227 could also have multiple respective sets of offer qualifications for each set of the offer terms 233 .
- a personalized offer 103 can represent content that is personalized for a user, such as an offer 227 with offer terms 233 that a user is authorized to view or receive.
- a personalized offer 103 could represent an offer 227 for a credit card or charge card with a specific set of offer terms 233 that the user is authorized to receive according to various criteria.
- the personalized offer can include the offer identifier 229 of the offer 227 , the device identifier 239 of the user who can receive the offer, and the session identifier 243 of the user to determine whether the offer is still valid to make to the user. If an offer 227 has multiple tiers, versions, or levels of offer terms 233 , the personalized offer 103 can also include an identifier or indication of the tier, level, or version of the offer terms 233 that can be made to the user.
- the device identifier 239 can represent any identifier that uniquely represents a client device 206 with respect to another client device 206 .
- Examples of device identifiers 239 include persistent cookies, tokens, or other persistent data placed on the client device 206 .
- Hardware identifiers such as serial numbers, media access control (MAC) addresses, international mobile equipment identifier (IMEI) numbers, etc. can also be used as device identifiers 239 in various embodiments of the present disclosure.
- the session identifier 243 can represent a token other identifier that uniquely represents a series of related message exchanges, which are often referred to as a session.
- the session identifier 243 can be used to track the state of a communication or sequence of communications between the client device 206 and the webserver 213 , such as when the client device 206 visits a web page hosted by the web server 213 .
- the session identifier 243 can be used to track which offers 227 or personalized offers 103 should be presented to a user, according to various embodiments of the present disclosure. For example, if a session identifier 243 has expired or is no longer valid, then any personalized offers 103 may also have expired or otherwise be invalid. In such a situation, new personalized offers 103 should be identified and presented to the user of the client device 206 .
- the webserver 213 can be executed to receive requests for content from client devices 206 , such as requests for web pages from the browser 246 on the client device 206 .
- the webserver 213 can pull, request, or receive content from a number of sources, including the personalization engine 216 .
- the webserver 213 can then package or combine the content into a web page, which can be sent to the browser 246 in response to the request received.
- the personalization engine 216 can be executed to generate and save a personalized offer 103 according to various embodiments of the present disclosure. Where a user is eligible for multiple versions of the same offer 227 , such as when a user is qualified for multiple tiers, levels, or versions of offer terms 233 for an offer 227 , then the personalization engine 216 can resolve the inconsistent offer terms 233 to create a personalized offer 103 .
- the qualification engine 219 can be executed to determine which tier, level, or version of offer terms 233 for an offer 227 a user is qualified to receive, if any. In some instances, the qualification engine 219 could make this determination based on information included in the request received from the browser 246 by the web server 213 , such as a geographic location associated with the internet protocol (IP) address associated with the client device 206 . In other instances, the qualification engine 219 could rely on personal information submitted by the user to determine which tier, level, or version of offer terms 233 for an offer 227 a user is qualified to receive. The qualification engine 219 can use various cost-benefit and risk analysis models to make these determinations.
- IP internet protocol
- the client device 206 is representative of a plurality of client devices that can be coupled to the network 209 .
- the client device 206 can include a processor-based system such as a computer system.
- a computer system can be embodied in the form of a personal computer (e.g., a desktop computer, a laptop computer, or similar device), a mobile computing device (e.g., personal digital assistants, cellular telephones, smartphones, web pads, tablet computer systems, music players, portable game consoles, electronic book readers, and similar devices), media playback devices (e.g., media streaming devices, BluRay® players, digital video disc (DVD) players, set-top boxes, and similar devices), a videogame console, or other devices with like capability.
- a personal computer e.g., a desktop computer, a laptop computer, or similar device
- a mobile computing device e.g., personal digital assistants, cellular telephones, smartphones, web pads, tablet computer systems, music players, portable game consoles, electronic book readers, and similar
- the client device 206 can include one or more displays 246 , such as liquid crystal displays (LCDs), gas plasma-based flat panel displays, organic light emitting diode (OLED) displays, electrophoretic ink (“E-ink”) displays, projectors, or other types of display devices.
- the display 249 can be a component of the client device 206 or can be connected to the client device 206 through a wired or wireless connection.
- the client device 206 can be configured to execute various applications, such as a browser 246 or other applications.
- the browser 246 can be executed in a client device 206 to access network content, such as web pages, served up by the computing environment 203 or other servers, thereby rendering a user interface 100 (e.g., user interface 100 a, 100 b, 100 c, and/or 100 d ) on the display 249 .
- the user interface 100 can include a web page or other user mechanism for obtaining user input.
- the client device 206 can be configured to execute applications beyond the browser 246 , such as email applications, social networking applications, word processors, spreadsheets, or other applications.
- a user of the client device 206 can send a request for a web page to the web server 213 using the browser 246 .
- the web server 213 can provide information from the request, such as the internet protocol (IP) address of the client device 206 , to the personalization engine 216 .
- IP internet protocol
- the personalization engine 216 can generate customized or personalized content to include in the web page, which can be returned to the browser 246 by the web server 213 . For example, if the browser 246 sent a request to the web server 213 for a web page containing a list of available credit card offers, the personalization engine 216 could select one or more offers 227 to be provided in response.
- the web server 213 can also provide a device identifier 239 (e.g., a cookie) and a session identifier 243 to the browser 246 .
- the web server 213 can also provide the device identifier 239 and the session identifier 243 to the personalization engine 216 .
- the personalization engine 216 can store the device identifier 239 and the session identifier 243 in conjunction with the offer identifier 229 of the offer 227 provided by the personalization engine 216 as a record of a personalized offer 103 . If the offer 227 has one or more offer terms 233 , the offer terms 233 made may also be stored in the personalized offer 103 .
- the web server 213 can detect the device identifier 239 and the session identifier 243 included in the subsequent request. The web server 213 can then search for a personalized offer 103 that matches the device identifier 239 and the session identifier 243 and return the personalized offer 103 in the response. As a result, the user of the browser 246 can consistently receive appropriate personalized content, such as personalized offers 103 , for as long as the session represented by the session identifier 243 is valid.
- the user of the browser 246 may also send a request to the web server 213 for more personalized content.
- the user of the browser 246 could submit personally identifying information 253 through a user interface 100 b to see which offers 227 the user would qualify for based on the personally identifying information 253 .
- the personally identifying information 253 could be provided to the qualification engine 219 , which could determine which offers 227 and offer terms 233 the user is qualified for based at least in part on a comparison of the personally identifying information 253 to the offer qualifications 236 of an individual offer 227 . These offers could then be provided to the personalization engine 216 .
- the personalization engine 216 could then reconcile the personalized offers 103 that the user has been previously presented with the offers 227 (and offer terms 233 ) that the qualification engine 219 has determined that the user is eligible for. For example, if the user is qualified for better offer terms 233 (e.g., a higher introductory bonus or interest rate for a credit card or charge card), the personalization engine 216 could update the personalized offer 103 to reflect the better offer terms 233 . As another example, if the personalization engine 216 determines that the user is not qualified for a previously made personalized offer 103 , the personalization engine 216 could determine whether to continue to honor the personalized offer 103 that was previously made or update the personalized offer 103 to reflect the offer 227 and offer terms 233 that the user is actually qualified for. This decision could be made according to various implementation specific preferences or configurations.
- the web server 213 can continue to present the personalized offer(s) 103 to the user that match the device identifier 239 and the session identifier 243 provided by the browser 246 .
- the user will continue to receive a consistent experience for the duration of the session represented by the session identifier 243 , regardless of whether the user is logged into the website hosted by the web server 213 or is browsing anonymously or pseudonymously.
- FIG. 3 shown is a sequence diagram that provides one example of the interaction between various components of the network environment 200 .
- the sequence diagram of FIG. 3 provides merely an example of the many different types of functional arrangements that can be employed within the network environment 200 .
- the sequence diagram of FIG. 3 can be viewed as depicting an example of elements of a method implemented within the network environment 200 .
- the web server 213 can receive a content request from a browser 246 , such as a request for a web page.
- a content request from a browser 246 , such as a request for a web page.
- the web server 213 could request a web page sselling or otherwise containing one or more offers 227 for goods or services, such as offers for credit or charge cards.
- the request for content can contain an internet protocol (IP) address of the client device 206 , a device identifier 239 , a session identifier 243 , and/or potentially other data.
- IP internet protocol
- the web server 213 can, in some instances, generate a device identifier 239 and/or a session identifier 243 for communication with the browser 246 of the client device 206 .
- the web server 213 could create a device identifier 239 and/or a session identifier 243 if the request received at block 303 failed to contain a device identifier 239 and/or a session identifier 243 .
- the web server 213 could create a cookie or similar unique identifier and store it in a cache of the browser 246 .
- the web server 213 could create and return a session identifier 243 to the browser 246 .
- the web server 213 can determine whether any valid or current personalized content, such as personalized offers 103 , are available to provide in a response to the request received at block 303 .
- the web server 213 could search the data store 223 for any personalized offers 103 that match both the device identifier 239 of the client device 206 and the session identifier 243 of the current session. If no matching personalized offers 103 are found, then the process could proceed to block 311 . If a matching personalized offer were found, then the process could instead proceed to block 319 .
- the web server 213 may only search the data store 223 for personalized content, such as personalized offers 103 , if neither a device identifier 239 nor a session identifier 243 were generated at block 306 because it follows that if web server had to provide a device identifier 239 or a session identifier 243 to the client device 206 , then there could not be any personalized content, such as personalized offers 103 , that are saved in the data store 223 .
- the web server 213 can send a request to the personalization engine 216 for personalized content for the user of the client device 206 , such as one or more personalized offers 103 .
- the request can include information such as the internet protocol (IP) address of the client device 206 that made the request for content at block 303 , clickstream data 225 associated with the client device 206 collected by the web server 213 , the device identifier 239 of the client device 206 , and the session identifier 243 associated with the current session between the browser 246 of the client device 206 and the web server 213 .
- IP internet protocol
- the personalization engine 216 can generate personalized content, such as one or more personalized offers 103 . This could be done using a variety of approaches. For example, the IP address of the client device 206 could be used for geolocation to determine the approximate location of the client device 206 . The personalization engine 216 could then use the median or average annual income in that location as an estimate of the annual income of the user of the client device 206 . As another example, the clickstream data 225 collected by the web server 213 could be used to identify browsing trends similar to other users.
- the personalization engine 216 could conclude that the user of the client device 206 is similar to other customers with excellent credit. The personalization engine 216 could then search for offers 227 with offer terms 233 and/or offer qualifications 236 that match the estimated annual income and estimated credit range of the user of the browser 246 .
- the personalization engine 216 can then save the personalized content generated at block 313 , such as personalized offers 103 , to the data store 223 .
- the personalization engine 216 could then save one or more personalized offers 103 linked to the device identifier 239 and session identifier 243 , where the personalized offers 103 include both the offer terms 233 to present to the user and the offer identifier 229 of the offer being presented.
- the offer terms 223 could be saved in the form of offer flags that represent the level or tier of the offer 227 to be presented.
- the personalization engine 216 can send a message or otherwise notify the web server 213 that the personalized content (e.g., the personalized offers 103 ) are available.
- the web server 213 can generate a web page that includes the personalized content (e.g., the personalized offers 103 ). The web page can then be returned to the browser 246 of the client device 103 .
- the personalized content e.g., the personalized offers 103
- FIG. 4 shown is a sequence diagram that provides one example of the interaction between various components of the network environment 200 .
- the sequence diagram of FIG. 4 provides merely an example of the many different types of functional arrangements that can be employed within the network environment 200 .
- the sequence diagram of FIG. 4 can be viewed as depicting an example of elements of a method implemented within the network environment 200 .
- the web server 213 can receive personally identifying information 253 from the browser 246 of the client device 103 .
- the user of the client device 206 may have accessed a web page (e.g., user interface 100 b ) through which he or she could submit personally identifying information 253 in order to see which content, such as offers 227 , he or she was specifically qualified to receive.
- a web page e.g., user interface 100 b
- the web server 213 can forward the personally identifying information 253 on to the qualification engine 219 .
- the qualification engine 219 can evaluate the personally identifying information 253 to determine which content, such as offers 227 , the user is qualified to receive.
- the qualification engine 219 could send the personally identifying information 253 to a credit bureau or credit agency to obtain a credit score, report, or rating that represents the payment history and likelihood of repayment of the user. This could also include, for example, evaluating the annual income provided by the user to determine whether the user has the financial ability to pay any annual fees associated with the credit or charge card, or to repay the principal and/or interest that might be accrued by the user.
- the user's qualifications can be forwarded on to the personalization engine 216 .
- the personalization engine 216 can generate alternative personalized content for the user.
- the personalized content can be considered to be alternative under the assumption that the user has already had one or more personalized offers 103 created on behalf of the user according to the sequence diagram of FIG. 3 .
- the user may have personalized content, such as personalized offers 103 , created for the user for the first time according to the sequence diagram depicted in FIG. 4 .
- the personalization engine 216 can generate what is termed alternative personalized content, such as alternative personalized offers 103 , using the user qualifications provided by the qualification engine 219 .
- the personalization engine 216 could then search for offers 227 with offer qualifications 236 that match the credit score of the user or the reported annual income of the user. Any identified offers 227 would qualify as alternative personalized offers 103 .
- the alternative personalized offers 103 generated at block 409 may be inconsistent with personalized offers 103 that have been previously generated according to the process depicted in the sequence diagram of FIG. 3 .
- the personalization engine 216 can resolve any inconsistencies between the personalized offers 103 generated previously according to the process of FIG. 3 and those alternative personalized offers 103 generated at block 409 .
- the personalization engine 216 could elect to replace all previously generated personalized offers 103 with those created at block 409 .
- the personalization engine 216 could compare the previously generated personalized offer 103 and the alternative personalized offer 103 , and elect the one with the offer terms 233 that were most generous or most favorable to the user in order to provide for a positive user experience.
- the offer identifier 229 and offer terms 233 e.g., offer flags
- the personalization engine 216 can save the consistent personalized content (e.g., the consistent personalized offers 103 ) to the data store 223 .
- the personalization engine 216 could overwrite or replace a previous personalized offer 103 with a matching device identifier 239 and session identifier 243 with the consistent personalized offer 103 with the same device identifier 239 and session identifier 243 .
- the personalization engine 216 could save the consistent personalized offer 103 as a new personalized offer 103 to the data store 223 .
- the consistent personalized content e.g., the consistent personalized offers 103
- they can be accessed by the browser 246 of the client device 206 as previously described in blocks 303 , 309 , and 319 of the sequence diagram of FIG. 3 .
- the web server 213 can search the data store 223 for personalized offers 103 with a matching device identifier 239 and session identifier 243 .
- the personalized offers 103 that would be returned would be the consistent personalized offers 103 saved to the data store 223 previously at block 416 in the sequence diagram of FIG. 4 .
- the user would receive the same consistent personalized offers 103 for which he or she was qualified to receive, regardless of the channel in which the user viewed offers 227 generally.
- executable means a program file that is in a form that can ultimately be run by the processor.
- executable programs can be a compiled program that can be translated into machine code in a format that can be loaded into a random access portion of the memory and run by the processor, source code that can be expressed in proper format such as object code that is capable of being loaded into a random access portion of the memory and executed by the processor, or source code that can be interpreted by another executable program to generate instructions in a random access portion of the memory to be executed by the processor.
- An executable program can be stored in any portion or component of the memory, including random access memory (RAM), read-only memory (ROM), hard drive, solid-state drive, Universal Serial Bus (USB) flash drive, memory card, optical disc such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.
- RAM random access memory
- ROM read-only memory
- USB Universal Serial Bus
- CD compact disc
- DVD digital versatile disc
- floppy disk magnetic tape, or other memory components.
- the memory includes both volatile and nonvolatile memory and data storage components. Volatile components are those that do not retain data values upon loss of power. Nonvolatile components are those that retain data upon a loss of power.
- the memory can include random access memory (RAM), read-only memory (ROM), hard disk drives, solid-state drives, USB flash drives, memory cards accessed via a memory card reader, floppy disks accessed via an associated floppy disk drive, optical discs accessed via an optical disc drive, magnetic tapes accessed via an appropriate tape drive, or other memory components, or a combination of any two or more of these memory components.
- the RAM can include static random access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM) and other such devices.
- the ROM can include a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other like memory device.
- each block can represent a module, segment, or portion of code that includes program instructions to implement the specified logical function(s).
- the program instructions can be embodied in the form of source code that includes human-readable statements written in a programming language or machine code that includes numerical instructions recognizable by a suitable execution system such as a processor in a computer system.
- the machine code can be converted from the source code through various processes. For example, the machine code can be generated from the source code with a compiler prior to execution of the corresponding application. As another example, the machine code can be generated from the source code concurrently with execution with an interpreter. Other approaches can also be used.
- each block can represent a circuit or a number of interconnected circuits to implement the specified logical function or functions.
- sequence diagrams show a specific order of execution, it is understood that the order of execution can differ from that which is depicted. For example, the order of execution of two or more blocks can be scrambled relative to the order shown. Also, two or more blocks shown in succession can be executed concurrently or with partial concurrence. Further, in some embodiments, one or more of the blocks shown in the sequence diagrams can be skipped or omitted. In addition, any number of counters, state variables, warning semaphores, or messages might be added to the logical flow described herein, for purposes of enhanced utility, accounting, performance measurement, or providing troubleshooting aids, etc. It is understood that all such variations are within the scope of the present disclosure.
- any logic or application described herein that includes software or code can be embodied in any non-transitory computer-readable medium for use by or in connection with an instruction execution system such as a processor in a computer system or other system.
- the logic can include statements including instructions and declarations that can be fetched from the computer-readable medium and executed by the instruction execution system.
- a “computer-readable medium” can be any medium that can contain, store, or maintain the logic or application described herein for use by or in connection with the instruction execution system.
- a collection of distributed computer-readable media located across a plurality of computing devices may also be collectively considered as a single non-transitory computer-readable medium.
- the computer-readable medium can include any one of many physical media such as magnetic, optical, or semiconductor media. More specific examples of a suitable computer-readable medium would include, but are not limited to, magnetic tapes, magnetic floppy diskettes, magnetic hard drives, memory cards, solid-state drives, USB flash drives, or optical discs. Also, the computer-readable medium can be a random access memory (RAM) including static random access memory (SRAM) and dynamic random access memory (DRAM), or magnetic random access memory (MRAM). In addition, the computer-readable medium can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other type of memory device.
- RAM random access memory
- SRAM static random access memory
- DRAM dynamic random access memory
- MRAM magnetic random access memory
- the computer-readable medium can be a read-only memory (ROM), a programmable read-only memory (PROM), an
- any logic or application described herein can be implemented and structured in a variety of ways.
- one or more applications described can be implemented as modules or components of a single application.
- one or more applications described herein can be executed in shared or separate computing devices or a combination thereof.
- a plurality of the applications described herein can execute in the same computing device, or in multiple computing devices in the same computing environment 203 .
- Disjunctive language such as the phrase “at least one of X, Y, or Z,” unless specifically stated otherwise, is otherwise understood with the context as used in general to present that an item, term, etc., can be either X, Y, or Z, or any combination thereof (e.g., X, Y, or Z). Thus, such disjunctive language is not generally intended to, and should not, imply that certain embodiments require at least one of X, at least one of Y, or at least one of Z to each be present.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Disclosed are various embodiments for providing consistent user content. A first content request is received from a browser. Personalized content is then generated based at least in part on the first content request. A second content request is then received from the browser, the second content request including personally identifying information (PII). The alternative personalized content is then generated using the personally identifying information (PII). Either the personalized content or the alternative personalized content is elected to become the consistent personalized content. The consistent personalized content is provided to the browser in response to the second request.
Description
- This application is a continuation of, claims priority to, and the benefit of, copending U.S. patent application No. 17/125,527, entitled “CROSS-CHANNEL CONSISTENT USER CONTENT” and filed on Dec. 17, 2020, which is incorporated by reference as if set forth herein in its entirety.
- Users often receive different content based on the channel through which they arrive at a website. For example, a user may receive one version of content if they are referred to the website from a third-party website. Meanwhile, the user may receive a second version of the content if they visit the website while logged in, and a third version of the content if they visit the website while not authenticated with the website. Accordingly, the user may suffer from inconsistent user experiences.
- Many aspects of the present disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, with emphasis instead being placed upon clearly illustrating the principles of the disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
-
FIGS. 1A-1D are pictorial diagrams of an example user interface rendered by a client in the network environment ofFIG. 2 according to various embodiments of the present disclosure. -
FIG. 2 is a drawing of a network environment according to various embodiments of the present disclosure. -
FIG. 3 is a sequence diagram illustrating one example of functionality implemented as portions of an application executed in a computing environment in the network environment ofFIG. 2 according to various embodiments of the present disclosure. -
FIG. 4 is a sequence diagram illustrating one example of functionality implemented as portions of an application executed in a computing environment in the network environment ofFIG. 2 according to various embodiments of the present disclosure. - Disclosed are various approaches for presenting content to users in a consistent manner across channels. As a user browses a website, they can be provided with content that is personalized. The more information that the website has about the user, the more appropriate and personalized the content can be. However, users may visit the website through different channels, such that the web site does not always accurately identify the user on each visit. As a result, the user may receive content that is more or less personalized according to whether the user has recently visited the website, is visiting the website while logged in, etc. This can lead to inconsistent user experiences. For example, when a user visits a website, they could receive general or generic offers for goods or services, while they might receive more favorable or more tailored offers for goods or services if they were logged in and the website could verify the identity and qualifications of the user.
- However, some websites may have strict privacy controls regarding the disclosure or sharing of the personal information of a user. For example, a financial institution may be allowed to receive and forward personal information to a credit bureau for the purpose of evaluating whether to offer credit or other banking or financial services (e.g., credit or charge cards). But the financial institution may be prohibited from storing this personal information, using it for other purposes, or sharing it with other computer systems under the control of the financial institution. Accordingly, the approaches described herein allow for the details of content that a user is authorized to receive (e.g., financial services or product offers) to be shared between systems without storing or sharing the personal information of the user. This not only preserves the privacy of a user, but also provides security improvements by limiting the amount of information that could be disclosed in the event of a data breach.
- In the following discussion, a general description of the system and its components is provided, followed by a discussion of the operation of the same. Although the following discussion provides illustrative examples of the operation of various components of the present disclosure, the use of the following illustrative examples does not exclude other implementations that are consistent with the principals disclosed by the following illustrative examples.
-
FIG. 1A illustrates auser interface 100 a according to various embodiments of the present disclosure. Theuser interface 100 a could represent any application interface displayed to a user, such as a web page rendered by a web browser, an application screen, etc. As shown here, theuser interface 100 a shows personalized content to the user, such as personalizedoffer 103 a, personalizedoffer 103 b, and personalizedoffer 103 c (collectively “personalizedoffers 103”). Although the identity of the user may not be known specifically to the entity providing thepersonalized offers 103, personalizedoffers 103 can still be tailored based on such factors as the geographic location of the device. -
FIG. 1B illustrates auser interface 100 b according to various embodiments of the present disclosure. Here, a user may supply personal information through theuser interface 100 b, such as the legal name of the user, his or her current address, his or her current occupation, his or her current annual income, and/or his or her government identifier (e.g., social security number, driver's license number, passport number, etc.). The user may arrive at theuser interface 100 b from theuser interface 100 a by selecting a personalizedoffer 103 and, in response, being presented with theuser interface 100 b. The personal information could then be submitted in order to confirm that the user is eligible for the selected personalizedoffer 103 and/or is eligible for additional or improved personalizedoffers 103. -
FIG. 1C illustrates auser interface 100 c according to various embodiments of the present disclosure. Here, a user may be presented with updated personalized offers 103 (depicted as personalizedoffers user interface 100 b. Because the user is currently known to the entity, and more information about the user is known to the entity, one or more of the personalizedoffers -
FIG. 1D illustrates auser interface 100 d according to various embodiments of the present disclosure. Theuser interface 100 d may be similar to theuser interface 100 a in that the user has not authenticated with the entity providing theuser interface 100 d. For example, if a user has previously visited the website of the entity and provided personal information (as depicted inFIG. 1B ), only to subsequently leave the website (e.g., due to closing the browser window), the user could return to the website without being logged in or authenticated. However, because the user has previously provided personal information, the user can still be presented with thepersonalized offers personalized offers - With reference to
FIG. 2 , shown is anetwork environment 200 according to various embodiments. Thenetwork environment 200 can include acomputing environment 203 and aclient device 206, which can be in data communication with each other via anetwork 209. - The
network 209 can include wide area networks (WANs), local area networks (LANs), personal area networks (PANs), or a combination thereof. These networks can include wired or wireless components or a combination thereof. Wired networks can include Ethernet networks, cable networks, fiber optic networks, and telephone networks such as dial-up, digital subscriber line (DSL), and integrated services digital network (ISDN) networks. Wireless networks can include cellular networks, satellite networks, Institute of Electrical and Electronic Engineers (IEEE) 802.11 wireless networks (i.e., WI-FI®), BLUETOOTH® networks, microwave transmission networks, as well as other networks relying on radio broadcasts. Thenetwork 209 can also include a combination of two ormore networks 209. Examples ofnetworks 209 can include the Internet, intranets, extranets, virtual private networks (VPNs), and similar networks. - The
computing environment 203 can include one or more computing devices that include a processor, a memory, and/or a network interface. For example, the computing devices can be configured to perform computations on behalf of other computing devices or applications. As another example, such computing devices can host and/or provide content to other computing devices in response to requests for content. - Moreover, the
computing environment 203 can employ a plurality of computing devices that can be arranged in one or more server banks or computer banks or other arrangements. Such computing devices can be located in a single installation or can be distributed among many different geographical locations. For example, thecomputing environment 203 can include a plurality of computing devices that together can include a hosted computing resource, a grid computing resource or any other distributed computing arrangement. In some cases, thecomputing environment 203 can correspond to an elastic computing resource where the allotted capacity of processing, network, storage, or other computing-related resources can vary over time. - Various applications or other functionality can be executed in the
computing environment 203. The components executed on thecomputing environment 203 can include aweb server 213, apersonalization engine 216, and aqualification engine 219. Although depicted separately for purposes of clarity, theweb server 213, thepersonalization engine 216, and/or thequalification engine 219 can be implemented as components of the same application and/or operated by the same entity. Thecomputing environment 203 can also execute, host, or otherwise implement other applications, services, processes, systems, engines, or functionality not discussed in detail herein. - Also, various data is stored in a
data store 223 that is accessible to thecomputing environment 203. Thedata store 223 can be representative of a plurality ofdata stores 223, which can include relational databases or non-relational databases such as object-oriented databases, hierarchical databases, hash tables or similar key-value data stores, as well as other data storage applications or data structures. Moreover, combinations of these databases, data storage applications, and/or data structures may be used together to provide a single, logical, data store. The data stored in thedata store 223 is associated with the operation of the various applications or functional entities described below. This data can include content such asclick stream data 225, one ormore offers 227, personalized content such as one or morepersonalized offers 103, and potentially other data. - The
clickstream data 225 can represent a recording or recordings of a user's interactions with a web page, such as a user interface 100, by theweb server 213. As a user clicks on a button, selects a hyperlink, enters text into a text field, or otherwise interacts with individual user interface elements, the interactions are provided by the browser to theweb server 213. These user interactions can be saved by thewebserver 213 asclickstream data 225 associated with aparticular client device 206 or user of theclient device 206. - An
offer 227 can represent content that can be personalized for a user. Examples ofoffers 227 can include offers for goods or services.Offers 227 can accordingly include anoffer identifier 229, one ormore offer terms 233 and one ormore offer qualifications 236. - The
offer identifier 229 can represent any identifier that uniquely identifies anoffer 227 with respect to anotheroffer 227. Examples ofoffer identifiers 229 can include sequential numbers, hashes, universally unique identifiers (UUIDs), globally unique identifiers (GUIDs), etc. - The
offer terms 233 represent the terms of theoffer 227. For example, offerterms 223 could represent a sign-up bonus for agreeing to purchase a good or service, such as a sign-up bonus for opening a new credit card or charge card account with an issuer. As another example, offerterms 223 could represent an introductory interest rate that is guaranteed for a defined amount of time. - In some instances, an
offer 227 can have multiple tiers for the same offer terms 233. For example, anoffer 227 of a sign-up bonus could include a first tier that offers a lower bonus amount if a lower spending threshold is met, and a second tier that offers a higher bonus amount if a higher spending threshold is met. As another example, anoffer 227 could have different time periods that an introductory interest rate could be offered or different levels of introductory interest rates. Where multiple sets ofoffer terms 233 are associated with aparticular offer 227, theindividual offer terms 233 may be represented by individual offer flags. These offer flags can reflect an identifier for a particular level, tier, or version of theoffer terms 233 available. - The
offer qualifications 236 can represent those conditions or qualifications which a user must satisfy in order to be eligible for anoffer 227 with a particular set ofoffer terms 233. For example, if theoffer 227 were for a credit card and theoffer terms 233 were for a specific introductory interest rate or for a specific sign-up bonus, theoffer qualifications 236 could specify a minimum credit score, a minimum annual income, or other factors or combination thereof which the user would need to satisfy in order to be eligible for theoffer 227 with thoseoffer terms 233. Where anoffer 227 has multiple tiers, levels, or versions ofoffer terms 233, then theoffer 227 could also have multiple respective sets of offer qualifications for each set of the offer terms 233. - A
personalized offer 103 can represent content that is personalized for a user, such as anoffer 227 withoffer terms 233 that a user is authorized to view or receive. For example, apersonalized offer 103 could represent anoffer 227 for a credit card or charge card with a specific set ofoffer terms 233 that the user is authorized to receive according to various criteria. Accordingly, the personalized offer can include theoffer identifier 229 of theoffer 227, thedevice identifier 239 of the user who can receive the offer, and thesession identifier 243 of the user to determine whether the offer is still valid to make to the user. If anoffer 227 has multiple tiers, versions, or levels ofoffer terms 233, thepersonalized offer 103 can also include an identifier or indication of the tier, level, or version of theoffer terms 233 that can be made to the user. - The
device identifier 239 can represent any identifier that uniquely represents aclient device 206 with respect to anotherclient device 206. Examples ofdevice identifiers 239 include persistent cookies, tokens, or other persistent data placed on theclient device 206. Hardware identifiers such as serial numbers, media access control (MAC) addresses, international mobile equipment identifier (IMEI) numbers, etc. can also be used asdevice identifiers 239 in various embodiments of the present disclosure. - The
session identifier 243 can represent a token other identifier that uniquely represents a series of related message exchanges, which are often referred to as a session. Thesession identifier 243 can be used to track the state of a communication or sequence of communications between theclient device 206 and thewebserver 213, such as when theclient device 206 visits a web page hosted by theweb server 213. Thesession identifier 243 can be used to track which offers 227 orpersonalized offers 103 should be presented to a user, according to various embodiments of the present disclosure. For example, if asession identifier 243 has expired or is no longer valid, then anypersonalized offers 103 may also have expired or otherwise be invalid. In such a situation, newpersonalized offers 103 should be identified and presented to the user of theclient device 206. - The
webserver 213 can be executed to receive requests for content fromclient devices 206, such as requests for web pages from thebrowser 246 on theclient device 206. Thewebserver 213 can pull, request, or receive content from a number of sources, including thepersonalization engine 216. Thewebserver 213 can then package or combine the content into a web page, which can be sent to thebrowser 246 in response to the request received. - The
personalization engine 216 can be executed to generate and save apersonalized offer 103 according to various embodiments of the present disclosure. Where a user is eligible for multiple versions of thesame offer 227, such as when a user is qualified for multiple tiers, levels, or versions ofoffer terms 233 for anoffer 227, then thepersonalization engine 216 can resolve theinconsistent offer terms 233 to create apersonalized offer 103. - The
qualification engine 219 can be executed to determine which tier, level, or version ofoffer terms 233 for an offer 227 a user is qualified to receive, if any. In some instances, thequalification engine 219 could make this determination based on information included in the request received from thebrowser 246 by theweb server 213, such as a geographic location associated with the internet protocol (IP) address associated with theclient device 206. In other instances, thequalification engine 219 could rely on personal information submitted by the user to determine which tier, level, or version ofoffer terms 233 for an offer 227 a user is qualified to receive. Thequalification engine 219 can use various cost-benefit and risk analysis models to make these determinations. - The
client device 206 is representative of a plurality of client devices that can be coupled to thenetwork 209. Theclient device 206 can include a processor-based system such as a computer system. Such a computer system can be embodied in the form of a personal computer (e.g., a desktop computer, a laptop computer, or similar device), a mobile computing device (e.g., personal digital assistants, cellular telephones, smartphones, web pads, tablet computer systems, music players, portable game consoles, electronic book readers, and similar devices), media playback devices (e.g., media streaming devices, BluRay® players, digital video disc (DVD) players, set-top boxes, and similar devices), a videogame console, or other devices with like capability. Theclient device 206 can include one ormore displays 246, such as liquid crystal displays (LCDs), gas plasma-based flat panel displays, organic light emitting diode (OLED) displays, electrophoretic ink (“E-ink”) displays, projectors, or other types of display devices. In some instances, thedisplay 249 can be a component of theclient device 206 or can be connected to theclient device 206 through a wired or wireless connection. - The
client device 206 can be configured to execute various applications, such as abrowser 246 or other applications. Thebrowser 246 can be executed in aclient device 206 to access network content, such as web pages, served up by thecomputing environment 203 or other servers, thereby rendering a user interface 100 (e.g.,user interface display 249. To this end, the user interface 100 can include a web page or other user mechanism for obtaining user input. Theclient device 206 can be configured to execute applications beyond thebrowser 246, such as email applications, social networking applications, word processors, spreadsheets, or other applications. - Next, a general description of the operation of the various components of the
network environment 200 is provided. Although the following description provides an example of the interaction between the various components of thenetwork environment 200, it does not describe the only possible series of interactions between the various components. The operation of individual components of thenetwork environment 200 is provided in further detail in the discussion accompanyingFIGS. 3 and 4 . - To begin, a user of the
client device 206 can send a request for a web page to theweb server 213 using thebrowser 246. Theweb server 213 can provide information from the request, such as the internet protocol (IP) address of theclient device 206, to thepersonalization engine 216. Thepersonalization engine 216 can generate customized or personalized content to include in the web page, which can be returned to thebrowser 246 by theweb server 213. For example, if thebrowser 246 sent a request to theweb server 213 for a web page containing a list of available credit card offers, thepersonalization engine 216 could select one ormore offers 227 to be provided in response. - The
web server 213 can also provide a device identifier 239 (e.g., a cookie) and asession identifier 243 to thebrowser 246. Theweb server 213 can also provide thedevice identifier 239 and thesession identifier 243 to thepersonalization engine 216. Thepersonalization engine 216 can store thedevice identifier 239 and thesession identifier 243 in conjunction with theoffer identifier 229 of theoffer 227 provided by thepersonalization engine 216 as a record of apersonalized offer 103. If theoffer 227 has one ormore offer terms 233, theoffer terms 233 made may also be stored in thepersonalized offer 103. - When the user of the
browser 246 sends a subsequent request to theweb server 213 for a web page, theweb server 213 can detect thedevice identifier 239 and thesession identifier 243 included in the subsequent request. Theweb server 213 can then search for apersonalized offer 103 that matches thedevice identifier 239 and thesession identifier 243 and return thepersonalized offer 103 in the response. As a result, the user of thebrowser 246 can consistently receive appropriate personalized content, such aspersonalized offers 103, for as long as the session represented by thesession identifier 243 is valid. - However, the user of the
browser 246 may also send a request to theweb server 213 for more personalized content. For example, the user of thebrowser 246 could submit personally identifying information 253 through auser interface 100 b to see which offers 227 the user would qualify for based on the personally identifying information 253. The personally identifying information 253 could be provided to thequalification engine 219, which could determine which offers 227 and offerterms 233 the user is qualified for based at least in part on a comparison of the personally identifying information 253 to theoffer qualifications 236 of anindividual offer 227. These offers could then be provided to thepersonalization engine 216. - The
personalization engine 216 could then reconcile thepersonalized offers 103 that the user has been previously presented with the offers 227 (and offer terms 233) that thequalification engine 219 has determined that the user is eligible for. For example, if the user is qualified for better offer terms 233 (e.g., a higher introductory bonus or interest rate for a credit card or charge card), thepersonalization engine 216 could update thepersonalized offer 103 to reflect thebetter offer terms 233. As another example, if thepersonalization engine 216 determines that the user is not qualified for a previously madepersonalized offer 103, thepersonalization engine 216 could determine whether to continue to honor thepersonalized offer 103 that was previously made or update thepersonalized offer 103 to reflect theoffer 227 and offerterms 233 that the user is actually qualified for. This decision could be made according to various implementation specific preferences or configurations. - When the user subsequently visits the website hosted by the
web server 213, theweb server 213 can continue to present the personalized offer(s) 103 to the user that match thedevice identifier 239 and thesession identifier 243 provided by thebrowser 246. As a result, the user will continue to receive a consistent experience for the duration of the session represented by thesession identifier 243, regardless of whether the user is logged into the website hosted by theweb server 213 or is browsing anonymously or pseudonymously. - Referring next to
FIG. 3 , shown is a sequence diagram that provides one example of the interaction between various components of thenetwork environment 200. The sequence diagram ofFIG. 3 provides merely an example of the many different types of functional arrangements that can be employed within thenetwork environment 200. As an alternative, the sequence diagram ofFIG. 3 can be viewed as depicting an example of elements of a method implemented within thenetwork environment 200. - Beginning with
block 303, theweb server 213 can receive a content request from abrowser 246, such as a request for a web page. For example, theweb server 213 could request a web page showcasing or otherwise containing one ormore offers 227 for goods or services, such as offers for credit or charge cards. The request for content can contain an internet protocol (IP) address of theclient device 206, adevice identifier 239, asession identifier 243, and/or potentially other data. - Then at
block 306, theweb server 213 can, in some instances, generate adevice identifier 239 and/or asession identifier 243 for communication with thebrowser 246 of theclient device 206. For instance, theweb server 213 could create adevice identifier 239 and/or asession identifier 243 if the request received atblock 303 failed to contain adevice identifier 239 and/or asession identifier 243. For example, theweb server 213 could create a cookie or similar unique identifier and store it in a cache of thebrowser 246. Likewise, theweb server 213 could create and return asession identifier 243 to thebrowser 246. - Next at
block 309, theweb server 213 can determine whether any valid or current personalized content, such aspersonalized offers 103, are available to provide in a response to the request received atblock 303. For example, theweb server 213 could search thedata store 223 for anypersonalized offers 103 that match both thedevice identifier 239 of theclient device 206 and thesession identifier 243 of the current session. If no matchingpersonalized offers 103 are found, then the process could proceed to block 311. If a matching personalized offer were found, then the process could instead proceed to block 319. In some implementations, theweb server 213 may only search thedata store 223 for personalized content, such aspersonalized offers 103, if neither adevice identifier 239 nor asession identifier 243 were generated atblock 306 because it follows that if web server had to provide adevice identifier 239 or asession identifier 243 to theclient device 206, then there could not be any personalized content, such aspersonalized offers 103, that are saved in thedata store 223. - If the process proceeds to block 311, the
web server 213 can send a request to thepersonalization engine 216 for personalized content for the user of theclient device 206, such as one or more personalized offers 103. The request can include information such as the internet protocol (IP) address of theclient device 206 that made the request for content atblock 303,clickstream data 225 associated with theclient device 206 collected by theweb server 213, thedevice identifier 239 of theclient device 206, and thesession identifier 243 associated with the current session between thebrowser 246 of theclient device 206 and theweb server 213. - Moving on to block 313, the
personalization engine 216 can generate personalized content, such as one or more personalized offers 103. This could be done using a variety of approaches. For example, the IP address of theclient device 206 could be used for geolocation to determine the approximate location of theclient device 206. Thepersonalization engine 216 could then use the median or average annual income in that location as an estimate of the annual income of the user of theclient device 206. As another example, theclickstream data 225 collected by theweb server 213 could be used to identify browsing trends similar to other users. For example, if theclickstream data 225 indicates that a user is primarily focused on premium credit card or charge card offerings that require excellent credit, thepersonalization engine 216 could conclude that the user of theclient device 206 is similar to other customers with excellent credit. Thepersonalization engine 216 could then search foroffers 227 withoffer terms 233 and/or offerqualifications 236 that match the estimated annual income and estimated credit range of the user of thebrowser 246. - Then at
block 316, thepersonalization engine 216 can then save the personalized content generated atblock 313, such aspersonalized offers 103, to thedata store 223. For example, thepersonalization engine 216 could then save one or morepersonalized offers 103 linked to thedevice identifier 239 andsession identifier 243, where thepersonalized offers 103 include both theoffer terms 233 to present to the user and theoffer identifier 229 of the offer being presented. As previously discussed, theoffer terms 223 could be saved in the form of offer flags that represent the level or tier of theoffer 227 to be presented. Once saved, thepersonalization engine 216 can send a message or otherwise notify theweb server 213 that the personalized content (e.g., the personalized offers 103) are available. - Finally, at
block 319 theweb server 213 can generate a web page that includes the personalized content (e.g., the personalized offers 103). The web page can then be returned to thebrowser 246 of theclient device 103. - Referring next to
FIG. 4 , shown is a sequence diagram that provides one example of the interaction between various components of thenetwork environment 200. The sequence diagram ofFIG. 4 provides merely an example of the many different types of functional arrangements that can be employed within thenetwork environment 200. As an alternative, the sequence diagram ofFIG. 4 can be viewed as depicting an example of elements of a method implemented within thenetwork environment 200. - Beginning with
block 403, theweb server 213 can receive personally identifying information 253 from thebrowser 246 of theclient device 103. For example, the user of theclient device 206 may have accessed a web page (e.g.,user interface 100 b) through which he or she could submit personally identifying information 253 in order to see which content, such asoffers 227, he or she was specifically qualified to receive. Once theweb server 213 receives the personally identifying information 253, it can forward the personally identifying information 253 on to thequalification engine 219. - Then at
block 406, thequalification engine 219 can evaluate the personally identifying information 253 to determine which content, such asoffers 227, the user is qualified to receive. Using the example of credit or charge card offers 227, thequalification engine 219 could send the personally identifying information 253 to a credit bureau or credit agency to obtain a credit score, report, or rating that represents the payment history and likelihood of repayment of the user. This could also include, for example, evaluating the annual income provided by the user to determine whether the user has the financial ability to pay any annual fees associated with the credit or charge card, or to repay the principal and/or interest that might be accrued by the user. Once the user's qualifications are determined, such as the user's credit score or credit worthiness and ability to repay, the user's qualifications can be forwarded on to thepersonalization engine 216. - Next at
block 409, thepersonalization engine 216 can generate alternative personalized content for the user. The personalized content can be considered to be alternative under the assumption that the user has already had one or morepersonalized offers 103 created on behalf of the user according to the sequence diagram ofFIG. 3 . However, it is possible that the user may have personalized content, such aspersonalized offers 103, created for the user for the first time according to the sequence diagram depicted inFIG. 4 . In either event, thepersonalization engine 216 can generate what is termed alternative personalized content, such as alternativepersonalized offers 103, using the user qualifications provided by thequalification engine 219. For example, thepersonalization engine 216 could then search foroffers 227 withoffer qualifications 236 that match the credit score of the user or the reported annual income of the user. Any identified offers 227 would qualify as alternative personalized offers 103. However, the alternativepersonalized offers 103 generated atblock 409 may be inconsistent withpersonalized offers 103 that have been previously generated according to the process depicted in the sequence diagram ofFIG. 3 . - Accordingly, at
block 413, thepersonalization engine 216 can resolve any inconsistencies between thepersonalized offers 103 generated previously according to the process ofFIG. 3 and those alternativepersonalized offers 103 generated atblock 409. As a simplistic example, thepersonalization engine 216 could elect to replace all previously generatedpersonalized offers 103 with those created atblock 409. As another example, thepersonalization engine 216 could compare the previously generatedpersonalized offer 103 and the alternativepersonalized offer 103, and elect the one with theoffer terms 233 that were most generous or most favorable to the user in order to provide for a positive user experience. Once the inconsistencies are resolved, theoffer identifier 229 and offer terms 233 (e.g., offer flags) can be selected to save to thedata store 223 as the consistent personalized offers 103. - Then at
block 416, thepersonalization engine 216 can save the consistent personalized content (e.g., the consistent personalized offers 103) to thedata store 223. In some instances, thepersonalization engine 216 could overwrite or replace a previouspersonalized offer 103 with amatching device identifier 239 andsession identifier 243 with the consistentpersonalized offer 103 with thesame device identifier 239 andsession identifier 243. In other instances, thepersonalization engine 216 could save the consistentpersonalized offer 103 as a newpersonalized offer 103 to thedata store 223. - After the consistent personalized content (e.g., the consistent personalized offers 103) have been saved to the
data store 227, they can be accessed by thebrowser 246 of theclient device 206 as previously described inblocks FIG. 3 . For instance, when thebrowser 246 provides theweb server 213 with a request for content, theweb server 213 can search thedata store 223 forpersonalized offers 103 with amatching device identifier 239 andsession identifier 243. The personalized offers 103 that would be returned would be the consistentpersonalized offers 103 saved to thedata store 223 previously atblock 416 in the sequence diagram ofFIG. 4 . As a result, the user would receive the same consistentpersonalized offers 103 for which he or she was qualified to receive, regardless of the channel in which the user viewed offers 227 generally. - A number of software components previously discussed are stored in the memory of the respective computing devices and are executable by the processor of the respective computing devices. In this respect, the term “executable” means a program file that is in a form that can ultimately be run by the processor. Examples of executable programs can be a compiled program that can be translated into machine code in a format that can be loaded into a random access portion of the memory and run by the processor, source code that can be expressed in proper format such as object code that is capable of being loaded into a random access portion of the memory and executed by the processor, or source code that can be interpreted by another executable program to generate instructions in a random access portion of the memory to be executed by the processor. An executable program can be stored in any portion or component of the memory, including random access memory (RAM), read-only memory (ROM), hard drive, solid-state drive, Universal Serial Bus (USB) flash drive, memory card, optical disc such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.
- The memory includes both volatile and nonvolatile memory and data storage components. Volatile components are those that do not retain data values upon loss of power. Nonvolatile components are those that retain data upon a loss of power. Thus, the memory can include random access memory (RAM), read-only memory (ROM), hard disk drives, solid-state drives, USB flash drives, memory cards accessed via a memory card reader, floppy disks accessed via an associated floppy disk drive, optical discs accessed via an optical disc drive, magnetic tapes accessed via an appropriate tape drive, or other memory components, or a combination of any two or more of these memory components. In addition, the RAM can include static random access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM) and other such devices. The ROM can include a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other like memory device.
- Although the applications and systems described herein can be embodied in software or code executed by general purpose hardware as discussed above, as an alternative the same can also be embodied in dedicated hardware or a combination of software/general purpose hardware and dedicated hardware. If embodied in dedicated hardware, each can be implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies can include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits (ASICs) having appropriate logic gates, field-programmable gate arrays (FPGAs), or other components, etc. Such technologies are generally well known by those skilled in the art and, consequently, are not described in detail herein.
- The sequence diagrams show the functionality and operation of an implementation of portions of the various embodiments of the present disclosure. If embodied in software, each block can represent a module, segment, or portion of code that includes program instructions to implement the specified logical function(s). The program instructions can be embodied in the form of source code that includes human-readable statements written in a programming language or machine code that includes numerical instructions recognizable by a suitable execution system such as a processor in a computer system. The machine code can be converted from the source code through various processes. For example, the machine code can be generated from the source code with a compiler prior to execution of the corresponding application. As another example, the machine code can be generated from the source code concurrently with execution with an interpreter. Other approaches can also be used. If embodied in hardware, each block can represent a circuit or a number of interconnected circuits to implement the specified logical function or functions.
- Although the sequence diagrams show a specific order of execution, it is understood that the order of execution can differ from that which is depicted. For example, the order of execution of two or more blocks can be scrambled relative to the order shown. Also, two or more blocks shown in succession can be executed concurrently or with partial concurrence. Further, in some embodiments, one or more of the blocks shown in the sequence diagrams can be skipped or omitted. In addition, any number of counters, state variables, warning semaphores, or messages might be added to the logical flow described herein, for purposes of enhanced utility, accounting, performance measurement, or providing troubleshooting aids, etc. It is understood that all such variations are within the scope of the present disclosure.
- Also, any logic or application described herein that includes software or code can be embodied in any non-transitory computer-readable medium for use by or in connection with an instruction execution system such as a processor in a computer system or other system. In this sense, the logic can include statements including instructions and declarations that can be fetched from the computer-readable medium and executed by the instruction execution system. In the context of the present disclosure, a “computer-readable medium” can be any medium that can contain, store, or maintain the logic or application described herein for use by or in connection with the instruction execution system. Moreover, a collection of distributed computer-readable media located across a plurality of computing devices (e.g., storage area networks or distributed or clustered filesystems or databases) may also be collectively considered as a single non-transitory computer-readable medium.
- The computer-readable medium can include any one of many physical media such as magnetic, optical, or semiconductor media. More specific examples of a suitable computer-readable medium would include, but are not limited to, magnetic tapes, magnetic floppy diskettes, magnetic hard drives, memory cards, solid-state drives, USB flash drives, or optical discs. Also, the computer-readable medium can be a random access memory (RAM) including static random access memory (SRAM) and dynamic random access memory (DRAM), or magnetic random access memory (MRAM). In addition, the computer-readable medium can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other type of memory device.
- Further, any logic or application described herein can be implemented and structured in a variety of ways. For example, one or more applications described can be implemented as modules or components of a single application. Further, one or more applications described herein can be executed in shared or separate computing devices or a combination thereof. For example, a plurality of the applications described herein can execute in the same computing device, or in multiple computing devices in the
same computing environment 203. - Disjunctive language such as the phrase “at least one of X, Y, or Z,” unless specifically stated otherwise, is otherwise understood with the context as used in general to present that an item, term, etc., can be either X, Y, or Z, or any combination thereof (e.g., X, Y, or Z). Thus, such disjunctive language is not generally intended to, and should not, imply that certain embodiments require at least one of X, at least one of Y, or at least one of Z to each be present.
- It should be emphasized that the above-described embodiments of the present disclosure are merely possible examples of implementations set forth for a clear understanding of the principles of the disclosure. Many variations and modifications can be made to the above-described embodiments without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.
Claims (20)
1. A system, comprising:
a computing device comprising a processor and a memory; and
machine-readable instructions stored in the memory that, when executed by the processor, cause the computing device to at least:
provide personalized content to a user device in response to receiving a first content request, the personalized content comprising a first set of offer terms;
receive a second content request from the user device, the second content request comprising personally identifying information (PII);
evaluate the PII to determine offer qualifications for a user;
generate alternative personalized content based at least on the offer qualifications for the user and the PII, wherein the alternative personalized content comprises a second set of offer terms and the second set of offer terms comprises at least one offer term that is not included the first set of offer terms;
elect one of the personalized content or the alternative personalized content to become a consistent personalized content based at least on a comparison of the first set of offer terms of the personalized content and the second set of offer terms of the alternative personalized content; and
provide the consistent personalized content to the user device in response to the second content request.
2. The system of claim 1 , wherein the machine-readable instructions further cause the computing device to determine, prior to electing one of the personalized content or the alternative personalized content to become the consistent personalized content, that a user associated with the PII is unqualified to receive at least one of the personalized content or the alternative personalized content.
3. The system of claim 1 , wherein the machine-readable instructions, when executed by the processor, further cause the computing device to at least provide the consistent personalized content to the user device in response to receiving a third content request from the user device, the third content request comprising a unique device identifier.
4. The system of claim 1 , wherein the machine-readable instructions, when executed by the processor, further cause the computing device to at least generate the personalized content based at least in part on a network address of the user device.
5. The system of claim 4 , wherein the machine-readable instructions that generate the personalized content based at least in part on the network address of the user device, when executed by the processor, further cause the computing device to at least estimate a geographic location associated with the network address, wherein the personalized content is generated based in further part on the geographic location associated with the network address.
6. The system of claim 1 , wherein the machine-readable instructions that cause the computing device to evaluate the PII to determine the offer qualifications for the user further cause the computing device to at least:
send the PII to a qualification engine that is configured to match the PII to the offer qualifications; and
receive the offer qualifications from the qualification engine.
7. The system of claim 1 , wherein the machine-readable instructions, when executed by the processor, further cause the computing device to at least collect clickstream data associated with the user device, wherein the alternative personalized content is generated based in further part on the clickstream data.
8. A method, comprising:
providing personalized content to a user device in response to receiving a first content request, the personalized content comprising a first set of offer terms;
receiving a second content request from the user device, the second content request comprising personally identifying information (PII);
evaluating the PII to determine offer qualifications for a user;
generating alternative personalized content based at least on the offer qualifications for the user and the PII, wherein the alternative personalized content comprises a second set of offer terms and the second set of offer terms comprises at least one offer term that is not included the first set of offer terms;
electing one of the personalized content or the alternative personalized content to become a consistent personalized content based at least on a comparison of the first set of offer terms of the personalized content and the second set of offer terms of the alternative personalized content; and
providing the consistent personalized content to the user device in response to the second content request.
9. The method of claim 8 , further comprising determining, prior to electing one of the personalized content or the alternative personalized content to become the consistent personalized content, that a user associated with the PII is unqualified to receive at least one of the personalized content or the alternative personalized content.
10. The method of claim 8 , further comprising providing the consistent personalized content to the user device in response to receiving a third content request from the user device, the third content request comprising a unique device identifier.
11. The method of claim 8 , further comprising generating the personalized content based at least in part on a network address of the user device.
12. The method of claim 11 , wherein:
generating the personalized content based at least in part on the network address of the user device further comprises estimating a geographic location associated with the network address; and
the personalized content is generated based in further part on the geographic location associated with the network address.
13. The method of claim 8 , wherein evaluating the PII to determine the offer qualifications for the user further comprises:
sending the PII to a qualification engine that is configured to match the PII to the offer qualifications; and
receiving the offer qualifications from the qualification engine.
14. The method of claim 8 , further comprising collecting clickstream data associated with the user device, wherein the alternative personalized content is generated based in further part on the clickstream data.
15. A non-transitory, computer-readable medium, comprising machine-readable instructions that, when executed by a processor of a computing device, cause the computing device to at least:
provide personalized content to a user device in response to receiving a first content request, the personalized content comprising a first set of offer terms;
receive a second content request from the user device, the second content request comprising personally identifying information (PII);
evaluate the PII to determine offer qualifications for a user;
generate alternative personalized content based at least on the offer qualifications for the user and the PII, wherein the alternative personalized content comprises a second set of offer terms and the second set of offer terms comprises at least one offer term that is not included the first set of offer terms;
elect one of the personalized content or the alternative personalized content to become a consistent personalized content based at least on a comparison of the first set of offer terms of the personalized content and the second set of offer terms of the alternative personalized content; and
provide the consistent personalized content to the user device in response to the second content request.
16. The non-transitory, computer-readable medium of claim 15 , wherein the machine-readable instructions further cause the computing device to determine, prior to electing one of the personalized content or the alternative personalized content to become the consistent personalized content, that a user associated with the PII is unqualified to receive at least one of the personalized content or the alternative personalized content.
17. The non-transitory, computer-readable medium of claim 15 , wherein the machine-readable instructions, when executed by the processor, further cause the computing device to at least provide the consistent personalized content to the user device in response to receiving a third content request from the user device, the third content request comprising a unique device identifier.
18. The non-transitory, computer-readable medium of claim 15 , wherein the machine-readable instructions, when executed by the processor, further cause the computing device to at least generate the personalized content based at least in part on a network address of the user device.
19. The non-transitory, computer-readable medium of claim 18 , wherein the machine-readable instructions that generate the personalized content based at least in part on the network address of the user device, when executed by the processor, further cause the computing device to at least estimate a geographic location associated with the network address, wherein the personalized content is generated based in further part on the geographic location associated with the network address.
20. The non-transitory, computer-readable medium of claim 15 , wherein the machine-readable instructions that cause the computing device to evaluate the PII to determine the offer qualifications for the user further cause the computing device to at least:
send the PII to a qualification engine that is configured to match the PII to the offer qualifications; and
receive the offer qualifications from the qualification engine.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/125,972 US20230229654A1 (en) | 2020-12-17 | 2023-03-24 | Cross-channel consistent user content |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/125,527 US11640385B1 (en) | 2020-12-17 | 2020-12-17 | Cross-channel consistent user content |
US18/125,972 US20230229654A1 (en) | 2020-12-17 | 2023-03-24 | Cross-channel consistent user content |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/125,527 Continuation US11640385B1 (en) | 2020-12-17 | 2020-12-17 | Cross-channel consistent user content |
Publications (1)
Publication Number | Publication Date |
---|---|
US20230229654A1 true US20230229654A1 (en) | 2023-07-20 |
Family
ID=86160603
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/125,527 Active US11640385B1 (en) | 2020-12-17 | 2020-12-17 | Cross-channel consistent user content |
US18/125,972 Pending US20230229654A1 (en) | 2020-12-17 | 2023-03-24 | Cross-channel consistent user content |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/125,527 Active US11640385B1 (en) | 2020-12-17 | 2020-12-17 | Cross-channel consistent user content |
Country Status (1)
Country | Link |
---|---|
US (2) | US11640385B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030217333A1 (en) * | 2001-04-16 | 2003-11-20 | Greg Smith | System and method for rules-based web scenarios and campaigns |
US20090157449A1 (en) * | 2007-12-18 | 2009-06-18 | Verizon Data Services Inc. | Intelligent customer retention and offer/customer matching |
US20110276408A1 (en) * | 2010-05-05 | 2011-11-10 | Sara Elizabeth Toole | Personality Profile Markers for Targeted Ads as a Method and a System |
US20130238745A1 (en) * | 2012-03-06 | 2013-09-12 | Google Inc. | Providing content to a user across multiple devices |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10687174B1 (en) * | 2019-09-25 | 2020-06-16 | Mobile Technology, LLC | Systems and methods for using spatial and temporal analysis to associate data sources with mobile devices |
-
2020
- 2020-12-17 US US17/125,527 patent/US11640385B1/en active Active
-
2023
- 2023-03-24 US US18/125,972 patent/US20230229654A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030217333A1 (en) * | 2001-04-16 | 2003-11-20 | Greg Smith | System and method for rules-based web scenarios and campaigns |
US20090157449A1 (en) * | 2007-12-18 | 2009-06-18 | Verizon Data Services Inc. | Intelligent customer retention and offer/customer matching |
US20110276408A1 (en) * | 2010-05-05 | 2011-11-10 | Sara Elizabeth Toole | Personality Profile Markers for Targeted Ads as a Method and a System |
US20130238745A1 (en) * | 2012-03-06 | 2013-09-12 | Google Inc. | Providing content to a user across multiple devices |
Also Published As
Publication number | Publication date |
---|---|
US11640385B1 (en) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9411732B2 (en) | Push-based cache invalidation notification | |
US9704165B2 (en) | Systems and methods for determining value of social media pages | |
AU2005286768B2 (en) | Method and system for providing content to users based on frequency of interaction | |
US20150261945A1 (en) | Behavior-based identity system | |
US8996631B1 (en) | Customizing annotations for online content | |
US20130275229A1 (en) | Apparatus and method for universal personal data portability | |
US10726156B1 (en) | Method and system for protecting user information in an overlay management system | |
Bujlow et al. | Web tracking: Mechanisms, implications, and defenses | |
US10721255B2 (en) | Systems and methods for assessing riskiness of a domain | |
JP2015508534A (en) | Persona manager for network communication | |
US20170091303A1 (en) | Client-Side Web Usage Data Collection | |
KR20200135458A (en) | Location-based access to controlled access resources | |
US10776886B2 (en) | Timing social media network actions | |
US20160125085A1 (en) | Recommending contents using a base profile | |
CN106446075A (en) | Page request processing method and apparatus | |
US20170345052A1 (en) | Method and system for identifying anomalous content requests | |
US10083246B2 (en) | Apparatus and method for universal personal data portability | |
US11640385B1 (en) | Cross-channel consistent user content | |
US20230376811A1 (en) | Enhancing api access controls with markov chains and hidden markov models | |
US20230074364A1 (en) | Privacy-preserving virtual email system | |
US9355173B1 (en) | User keywords as list labels | |
AU2021297136B2 (en) | Dynamic trigger of web beacons | |
US10229431B1 (en) | Explicit user history input | |
US12014137B2 (en) | Automated document processing | |
US11900398B1 (en) | Call management system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |