[go: nahoru, domu]

US20150066587A1 - Content site visitor processing system - Google Patents

Content site visitor processing system Download PDF

Info

Publication number
US20150066587A1
US20150066587A1 US14/149,717 US201414149717A US2015066587A1 US 20150066587 A1 US20150066587 A1 US 20150066587A1 US 201414149717 A US201414149717 A US 201414149717A US 2015066587 A1 US2015066587 A1 US 2015066587A1
Authority
US
United States
Prior art keywords
visitor
data
visitors
custom
content site
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/149,717
Inventor
Charles Glommen
Larry Xu
Michael Anderson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tealium Inc
Original Assignee
Tealium Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tealium Inc filed Critical Tealium Inc
Priority to US14/149,717 priority Critical patent/US20150066587A1/en
Assigned to Tealium Inc. reassignment Tealium Inc. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ANDERSON, MICHAEL, GLOMMEN, CHARLES, XU, Larry
Priority to PCT/US2014/052774 priority patent/WO2015031402A1/en
Publication of US20150066587A1 publication Critical patent/US20150066587A1/en
Assigned to SILICON VALLEY BANK reassignment SILICON VALLEY BANK SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: Tealium Inc.
Assigned to SILICON VALLEY BANK reassignment SILICON VALLEY BANK SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: Tealium Inc.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/197Version control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data

Definitions

  • Some operators of content sites such as websites, regularly obtain the results of analytics performed with regard to user interactions on their content sites.
  • User analytics can include any type of data regarding interactions of end users with content sites, among other types of data. There are different approaches to gathering analytics data, one of which includes employing the use of tags.
  • Tags can include small pieces of website code that allow a website operator to measure traffic and visitor behavior, understand the impact of online advertising and social channels, use remarketing and audience targeting, and test and improve a content site, among optionally other functions. Adding tags to a content site has typically included involving a developer to manually insert tag code into one or more pages of a website.
  • a system for enabling marketing users to customize visitor profile data processing criteria associated with visits to a content site can include a visitor profile configuration module including computer hardware.
  • the visitor profile configuration module can output a visitor profile configuration user interface for presentation to a marketing user associated with a content site.
  • the visitor profile configuration user interface can include functionality for defining a visitor template for profiling visitors of the content site with custom badges.
  • the visitor profile configuration user interface can also receive a custom visitor template defined with the visitor profile configuration user interface.
  • the custom visitor template can define a custom badge assignable to those of the visitors who satisfy a plurality of characteristics related to visiting the content site.
  • the system can also include a visitor data collector that can receive visitor data associated with end users who are visitors of the content site from a data collection tag associated with one or more content pages of the content site. Further, the system may include a visitor data aggregator that can match the collected visitor data to the visitor template to assign the custom badge to a subset of the visitors, as well as a reporting module that can provide a visitor segment report comprising information on the subset of visitors assigned the custom badge.
  • non-transitory physical computer storage which has computer-executable instructions stored thereon that, when executed by one or more processors, can implement a system for enabling marketing users to customize visitor profile data processing criteria associated with visits to a content site.
  • the system can include a visitor profile configuration module that can output a visitor profile configuration user interface for presentation to a marketing user associated with a content site.
  • the visitor profile configuration user interface can include functionality for defining visitor configuration rules for profiling visitors of the content site with custom badges.
  • the visitor profile configuration module can also receive custom visitor configuration rules defined with the visitor profile configuration user interface.
  • the custom visitor template can define a custom badge assignable to those of the visitors who satisfy a plurality of characteristics related to visiting the content site.
  • a visitor data collector of the system can receive visitor data associated with end users who are visitors of the content site from a data collection tag associated with one or more content pages of the content site.
  • a visitor data aggregator of the system can transform the collected visitor data according to the custom visitor configuration rules to assign the custom badge to a subset of the visitors.
  • the system can include a reporting module that can provide a visitor segment report having information on the subset of visitors assigned the custom badge.
  • a method of enabling marketing users to customize visitor profile data processing criteria associated with visits to a content site can include electronically generating a visitor profile configuration user interface for presentation to a marketing user associated with a content site.
  • the visitor profile configuration user interface can include functionality for defining visitor configuration attributes and rules for profiling visitors of the content site.
  • the method can further include receiving one or more custom visitor configuration attributes and one or more associated rules defined with the visitor profile configuration user interface.
  • the one or more custom visitor configuration attributes and the one or more associated rules can constitute a badge attribute assignable to those of the visitors who satisfy the one or more custom visitor configuration attributes and the one or more associated rules.
  • the method may also include accessing visitor data associated with end users who are visitors of the content site from a data collection tag associated with one or more content pages of the content site.
  • the method may also include transforming the collected visitor data according to the one or more custom visitor configuration attributes and the one or more rules to produce transformed visitor data. Further, the method may include storing the transformed visitor data in visitor profiles associated with the end users who are visitors to the content site. Moreover, the method may include providing a visitor segment report in substantially real time based on the transformed visitor data, where the visitor segment report indicates a subset of the visitors assigned the badge attribute. At least the transforming aspect of the method is performed in part by a computer system comprising computer hardware.
  • FIG. 1 depicts an embodiment of a computing environment that provides access to an analytics system including a visitor processing system and/or a tag management system.
  • FIG. 2 depicts an embodiment of a tagging overview process.
  • FIG. 3 depicts a more detailed embodiment of the visitor processing system of FIG. 1 .
  • FIG. 4A depicts an embodiment of a visitor profile configuration process.
  • FIG. 4B depicts an embodiment of a visitor data analysis process.
  • FIG. 4C depicts an embodiment of a visitor segment reporting process.
  • FIGS. 5 through 23 depict example user interfaces that provide functionality for customizing visitor profiles.
  • FIG. 24 depicts an embodiment of a reporting user interface.
  • FIG. 25 depicts another embodiment of a computing environment, which provides distributed cloud-based access to a visitor processing system.
  • FIG. 26 depicts another embodiment of a visitor processing system.
  • tags to web pages without efficient management can create significant problems and inconveniences. For instance, the code that is associated with multiple tags can bog down a content site and be a major performance drain. Redundant or incorrectly applied tags can also distort measurements and result in duplicate costs or missing data. Poor tag management can also be time consuming for the information technology (IT) department or webmaster team to add new tags, which may mean that important marketing and measurement programs might be significantly delayed.
  • IT information technology
  • Tag management systems have recently been introduced to improve the management of tags.
  • Currently available tag management systems provide content site operators somewhat greater control and ease of use in managing tag deployments in their content pages.
  • some known tag management systems provide some reporting functionality that leverages data obtained from the tags.
  • Some of those existing systems provide rich but slow batch-based data processing. Many of the batch-based systems tend to be batched on a daily basis and therefore cannot provide immediate notification of any changes in web site visitor behavior throughout a day. Additionally, acting on the collected data from such systems typically requires custom-coded and less flexible solutions.
  • Real time reporting may be available with some tag management systems, but the reports generated by such systems tend to be inflexible and are predetermined by the vendor of the tag solution. These reports will almost certainly not be visitor-centric, making them difficult to use for inferring business-critical correlations. Additionally, acting on the data in such systems is virtually impossible given the aggregated nature of the reporting data.
  • Various solution vendors such as data management platforms (DMP) or web analytics provide actionable segmented visitor based data sets.
  • DMP data management platforms
  • web analytics provide actionable segmented visitor based data sets.
  • such solutions often lack flexibility regarding the visitor definitions as well as lacking consistency across the disparate vendor data sets used to create the rich visitor profiles. Further, these systems tend to provide little agility and certainly no real-time definition of visitor definitions.
  • a tag management system can deploy a single tag or a tag container to a content site.
  • Each page or any subset of pages in the content site can incorporate the tag container as a universal tag that can be used to gather any type of visitor data of a visitor to a content site.
  • This tag container can be used to interface with any number of third party vendor tags without requiring, in certain embodiments, such tags to be coded expressly in the code of the content pages of the content site.
  • changes to the tagging of a content site may be made through a user interface provided by the tag management system without having to use a developer to add the tags to the content pages manually.
  • the tag management system can be more accessible to marketing people without IT or programming knowledge.
  • This tag container approach to tag management can promote high scalability and provide marketing agility, enabling marketers and other marketing users to rapidly change data collected or analyzed by the tag management system. Further, since one tag container is embedded within the content pages, in certain embodiments, the content pages may load faster and, therefore, include many performance improvements. Additionally, the architecture of the tag management system and the tag containers themselves can facilitate other performance improvements which will be described in greater detail below. Moreover, there may be reduction of IT costs provided by using the disclosed tag management system because IT personnel can shift away from performing marketing work to focusing on IT work.
  • a visitor processing system is also described herein, which can provide additional levels of marketing agility by providing a solution that allows for a fully configurable visitor model.
  • the visitor processing system may, but need not, be implemented in conjunction with the tag management system.
  • the visitor processing system may provide the ability to see the results of this visitor model in a real time or pseudo real time (such as within seconds or minutes of making changes to the visitor model).
  • This level of configurability can be beneficial when a goal is to reduce a visitor set to a highly targeted visitor segment.
  • This rich configurability can include the ability to set and manipulate a number of attributes on a visitor.
  • attributes can include badges, metrics (such as numerical functions), properties, dates, flags (such as Boolean values), and advanced attributes (such as funnels and sequences).
  • the visitor processing system can enable marketing users to obtain real-time (or near real-time) reports on these visitors. These reports can provide a highly desirable capability to filter a live and/or historic stream of visitors on the specified attributes, resulting in precisely targeted reporting on a highly segmented and highly targeted segment of visitors in certain embodiments.
  • FIG. 1 an embodiment of a computing environment 100 is shown for implementing various tag features, including some or all of the tag management and/or visitor processing features described above.
  • one or more end user systems 102 communicate over a network 108 with a content site 110 .
  • the end user systems 102 can include any form of computing device and may be desktops, laptops, smartphones, tablets, or the like.
  • a browser 103 or other application software installed in the end user systems 102 accesses one or more content pages 112 of the content site 110 .
  • the content pages may be web pages or other documents or files that may be accessed remotely and provided to the end user systems 102 .
  • the content site 110 may be a website, a web server, an application server, a database server, combinations of the same, or the like.
  • the network 108 can include a local area network (LAN), a wide area network (WAN), a company intranet, the public Internet, combinations of the same, or the like.
  • LAN local area network
  • WAN wide area network
  • company intranet the public Internet
  • one or more content pages 112 of the content site 110 can include a tag container 114 .
  • the tag container 114 can be an example of the tag container described above and can be a universal tag that is installed or incorporated in one or more content pages 112 in place of, or instead of, incorporating numerous tags in each page.
  • the tag container 114 can communicate with one or more data collection tags 116 , 118 implemented on one or more tag servers 120 . Both the content site 110 and the tag servers 120 can be implemented in computer hardware and/or software.
  • the tags 116 , 118 can include third party tags 116 provided by tag vendors that are different entities than an operator of, or provider of, the tag container 114 .
  • the tags can include a visitor tag or tags 118 that can be provided by the same provider as the provider of the tag container 114 (or a different provider in some embodiments).
  • An analytics system 130 is shown in communication with the tag servers 120 .
  • the analytics system 130 can be implemented in computer hardware and/or software.
  • the analytics system 130 includes a visitor processing system 140 and a tag management system 150 , as well as a visitor profile data repository 160 .
  • the visitor processing and tag management systems 140 , 150 are shown separately for illustrative purposes, although their functionality may be implemented by a single system.
  • the analytics system 130 can also be implemented without a tag management system 150 , and thus, the functionality of the visitor processing system 140 can be implemented independent of any tag management functionality.
  • the visitor processing system 140 can enable marketing users (described below) to configure the types of data tracked for different visitors of the content site 110 , as well as analyze and report on this visitor data.
  • the visitor processing system 140 can provide one or more user interfaces that enable customization of collecting information about visitors to the content site 110 .
  • This information can be obtained initially by the visitor tag(s) 118 , which may be provided through the tag container 114 to the end user systems 102 for execution in the browser 103 .
  • the visitor tag(s) 118 can supply visitor data to the visitor processing system 140 (optionally through the tag servers 120 ).
  • Such visitor data can be stored in visitor profiles in the visitor profile data repository 160 , which may include physical computer storage. Marketing users can subsequently query the visitor profiles to obtain reports or other information about visitors to the content site 110 .
  • Other uses for visitor profile data are described in greater detail below.
  • the tag management system 150 can be used to manage the tags 116 provided by third party vendors.
  • the tag management system 150 can provide functionality for marketing users to select which third party vendor tags 116 to associate with the tag container 114 for a variety of vendor-specific processing purposes. These purposes can include obtaining analytics for data analysis or business intelligence, tracking affiliate activity with respect to the content site 110 , obtaining user data for displaying targeted ads, obtaining user data for customizing search functionality or email campaigns targeted to the end users, obtaining user data for personalizing content of the content pages 112 , obtaining user data for integration with social networking functionality, obtaining user data for big data analysis, combinations of the same, or the like.
  • Data collected by the tags 116 can be provided to tag vendor systems 170 , which can perform any of this vendor-specific processing. The data may alternatively be passed to the tag vendor systems 170 through the tag management system 150 .
  • the tag management system 150 provides functionality (such as one or more user interfaces) for marketing users to map data sources in the content pages 112 to data sources gathered by the third party vendor tags 116 . For instance, if one of the content pages 112 includes a shopping cart value named “cart value,” the tag management system can provide a user interface that enables a user to tell the tag management system 150 to collect data on the “cart value” and map this data to a “cart_value” variable of one of the tags 116 . In addition, the tag management system 150 can provide similar functionality for identifying which data sources of the content pages 112 are to be gathered by the visitor tag 118 .
  • functionality such as one or more user interfaces
  • the visitor tag 118 can instead perform a greedy collection of some or all data available in the content page(s) 112 . Since the visitor tag 118 , tag container 114 , and visitor processing system 140 can be provided by the same entity, the data obtained by the visitor tag 118 need not be mapped to third party mappings like the data obtained by the third party tags 116 . Instead, some or all of the data available to the visitor tag 118 can be provided to the visitor processing system 140 for processing. Thus, the visitor tag 118 can facilitate vendor-neutral data gathering of some or all of the data elements in a content page 112 . Since this data is not mapped to a vendor-specific format in certain embodiments, the data can be exported to business intelligence systems without a need to massage the data from its mapped form (which can be cumbersome) to its original, raw form.
  • Various marketing user systems 104 can access the analytics system 130 and/or the tag servers 120 via the network 108 .
  • the marketing user systems 104 can include a browser 105 or other application software that can access network applications over the network 108 .
  • the marketing user systems 104 can also be any type of computing device including, but not limited to, a desktop, laptop, tablet, smartphone, or the like.
  • the marketing user systems 104 can be operated by marketing users such as marketing professionals, website operators, business users, operators of the content site 110 , or any other individual who uses tags or data obtained from tags. Marketing users are not the end users of the content site 110 in certain embodiments.
  • a marketing user might use a marketing user system 104 to dynamically update the types of data tracked or analyzed for different visitors of the content site 110 .
  • This data can be tracked by the visitor processing system 140 via either updating the visitor tag 116 stored on the tag server 120 or by updating processing of data obtained from the visitor tag 116 to build updated visitor profiles 130 , many example features of which will be described in greater detail below.
  • the tagging overview process 200 illustrates an example mode of operation of the computing environment 100 of FIG. 1 and may be implemented by the various components shown in the computing environment 100 of FIG. 1 .
  • an end user system 102 requests content such as a content page 112 from the content site 110 .
  • the end user system 102 receives the content page 112 including a tag container 114 at block 204 .
  • the end user system 102 can request one or more tags 116 associated with the tag container 114 from a tag server 120 .
  • the tag container 114 may include script code such as Javascript code or the like embedded in the source of the content page 112 initially requested by the end user system.
  • the tag container 112 upon being processed by the browser 103 of the end user system 102 , can programmatically access the visitor tag 118 (or other tag) stored on the tag server 120 to request the tag 118 to be provided or downloaded to the end user system 102 .
  • the tag 118 itself may be a static file or the like that includes executable code such as HTML code and/or script code, such as Javascript or the like.
  • the tag(s) 118 are received at block 208 at the end user system 102 , and the tag or tags 118 are executed at block 210 by the end user 102 system to obtain visitor data about the end user 102 and to send the visitor data to the visitor processing system 140 .
  • the visitor data is sent to the tag server 110 , which may store and process the data or may forward the visitor data on to the visitor processing system 140 .
  • the visitor data may also be sent to both the tag server 120 and the visitor processing system 140 .
  • the visitor data can include any of a variety of information about the end user and the end user's interactions with the content site 110 .
  • the visitor data may include information about what type of browser 103 or application the end user is using to access the content site 110 .
  • the visitor data may also include information about a geographic location of the user, a duration that the user is accessing the content site 110 or is logged into the content site, or the like.
  • the visitor data can include information about any interaction by the visitor with the content site 110 including, for example, any clicks made by the visitor on links on the content page 112 served by the content site 110 , any user selection of a form element, or any user scroll behavior, text entry behavior in form text boxes, chat boxes, e-mail boxes, social networking, other user interaction with other user interface controls, combinations of the same, or the like.
  • the visitor processing system 140 can aggregate the visitor data with unique visitor profiles for each end user visitor to the content site 110 at block 212 .
  • the data may be associated with individual visitors.
  • Unique visitor profiles may be maintained by obtaining, via the tag 118 , identification data associated with the end users so as to match the visitor data with a particular user's visitor profile.
  • the identification data may be obtained by the tag 118 , for example, by accessing a cookie that may be installed in the end user system 102 , by accessing login information associated with the user if the user logged into the content site 110 , by identifying the user's internet protocol (IP) address and/or a Media Access Control (MAC) address from network packets transmitted to and/or from the content site 110 and the end user systems 102 , combinations of the same or the like.
  • IP internet protocol
  • MAC Media Access Control
  • the visitor processing system 140 generates visitor segment reports, which can be custom reports accessible by marketing users and which may include segment information on the aggregated visitor profile data organized by visitor segments.
  • This segment information can include information regarding visitors who are frequent visitors to the content site 110 , or information regarding visitors who are frequent purchasers of the content sit 110 , to name a few examples. Segments may advantageously be defined by the marketing users via customization user interfaces provided by the visitor processing system 140 , many examples of which are described in greater detail below (see FIGS. 5 through 20 ).
  • the custom reports provided by the visitor processing system 140 can be generated or updated in real time or substantially real time, for example, on the order of seconds or minutes in response to receiving updated visitor data.
  • the visitor processing system 140 can enable the marketing users to have control over the types of data collected and/or processed, the configuration rules that process the data, and the way that such processed data is output via reports to those users. As a result, in certain embodiments, the visitor processing system 140 can provide greater marketing agility to marketing users and can provide increased performance for tracking visitor data.
  • the visitor processing system 240 can have all the features of the visitor processing system 140 .
  • the visitor processing system 240 is in communication with the marketing user systems 104 over a network 208 , which may be the network 108 described above with respect to FIG. 1 .
  • the visitor processing system 240 as shown includes various components such as a visitor profile configuration module 242 , a visitor data collector 244 , a visitor data aggregator 246 , and a reporting module 248 .
  • a visitor profiles data store 250 is also in communication with the visitor processing system 240 .
  • the visitor processing system 240 and each of the components thereof can be implemented in computer hardware and/or software.
  • the visitor processing system 240 can be part of or used in conjunction with a tag management system, such as the tag management system 150 .
  • the visitor profile configuration module 242 can output one or more user interfaces that enable marketing users of the user systems 104 to customize the way that visitor data is tracked and/or analyzed by the visitor processing system 240 . Many example such user interfaces are described in greater detail below.
  • the visitor profile configuration module 242 allows marketing users to define visitor profile definitions or templates that include attributes of data to be collected from the content site 110 as well as rules to be used in transforming collected visitor data into visitor profiles for further analysis.
  • the visitor profile templates can be stored in the visitor profile data repository 250 . Visitor data transformed into visitor profiles based on one or more visitor profile templates may also be stored in the data repository 250 . These visitor profiles may be accessed by marketing users for reporting and marketing or business intelligence analysis. The profiles may also be accessed from the repository 250 programmatically for taking further programmatic action such as content page personalization (described in greater detail below).
  • the visitor data collector 244 can perform the actual data collection of visitor profile data by communicating with the tag 118 in the tag server 120 described above with respect to FIG. 1 .
  • the data collection process works by the tag 118 itself including an inline frame (“iframe”) HTML element that further includes an HTML form. This frame may or may not be visible on the content page 112 .
  • the form can automatically obtain visitor data elements from the content page and submit those visitor data elements to the visitor processing system 240 (and/or tag server 120 ) via an HTTP POST or GET operation.
  • the tag can provide the visitor data to the visitor data collector 244 using a web services communication scheme, for example, by making application programming interface (API) calls over the network 108 to the visitor data collector 244 .
  • API application programming interface
  • the visitor data aggregator 246 can aggregate like data based on the particular visitor and/or the type of data being aggregated, for example, based on attributes of the data and/or user. For instance, if a user has visited a site a number of times, each time the user visits the site the visitor data aggregator 246 , can increment a variable or attribute corresponding to the number of times the user has visited the site. Further, the visitor data aggregator 246 can apply one or more rules to those attributes in the visitor data to transform the visitor data into segment-based data. This segment data can provide enhanced information about segments of visitors to the content site 110 .
  • the visitor data aggregator 246 can assign one or more badges or labels to a particular class of visitors based on a rule-based analysis of the visitors' browsing habits with respect to the content site 110 .
  • Users that share a particular badge can represent a segment of users having certain characteristics that may be interesting to study for targeted marketing or other purposes.
  • the badges can also represent gamification of analytics that can provide useful insights to marketing users about visitor behavior. Badges are described in greater detail below (see, e.g., FIGS. 7 through 10 ).
  • the visitor data aggregator 246 can compute a metric such as the total number of purchases made by a user on an ecommerce content site or other numerical values related to the user's interactions with the content site.
  • the visitor data aggregator 246 can compile attributes such as flags or Boolean values associated with the visitor's profile. Such flags might represent data related to whether a user has left unpurchased items in an electronic shopping cart, whether a user tends to use a chat function, or whether a user clicks social networking links to share information about the content site, to name a few examples.
  • Such flags or Boolean values can provide useful insight into the activities of different users with respect to the content site.
  • Still other attributes that can be determined by the visitor aggregator module 246 includes funnels, such as purchase funnels, and sequences, as well as properties, dates and other attributes. These attributes are described in greater detail below with respect to FIGS. 7 and 11 - 17 .
  • the reporting module 248 can provide a custom reporting user interface that allows marketing users to query visitor attributes and organize visitor attributes based on different segments or dimensions of those visitor attributes. For instance, such a user interface can allow users to sort or organize or otherwise view a portion of visitors that share a common attribute such as a badge or flag or funnel characteristic or the like. Thus, the reporting module 248 can provide a flexible interface for marketing users to view different segments of the visitor profile data. Further, changes made by users via the visitor profile configuration module 242 can be reflected in the reports provided by the reporting module 248 in real time or near real-time.
  • the user can easily specify via the visitor profile configuration module 242 to track this particular attribute, and the visitor data collector 244 can begin tracking this data almost immediately.
  • the visitor data aggregator 246 can rapidly begin aggregating the collected data, and the reporting module 248 can also rapidly output this information in a format requested by the user.
  • This type of flexibility provided by the visitor processing system 240 in certain embodiments can greatly enhance the ability of marketing users to see rapidly-changing visitor behavior and gain insights into how to personalize content pages to better target visitors or to promote purchases or other desired visitor behavior.
  • FIGS. 4A through 4C various additional processes 400 , 420 , and 440 are shown, which may be implemented by the visitor processing system 140 or 240 (or other components of the computing environment 100 of FIG. 1 ).
  • FIG. 4A an embodiment of a visitor profile configuration process 400 is shown, which may be implemented by the visitor profile configuration module 242 of FIG. 2 .
  • the visitor profile configuration module 242 can receive a request from a marketing user to configure a visitor profile definition or template.
  • the configuration module 242 can output a visitor profile user interface that enables the marketing user to specify site visitor attributes and rules of a visitor profile template to be applied to visitor data.
  • any collection of one or more attributes and/or one or more rules may be part of a visitor profile definition or template.
  • a user need not define a specific visitor template explicitly, but may rather do so implicitly by defining one or more attributes and/or one or more rules.
  • the remainder of this specification frequently describes the definition of attributes and/or rules without specifically referring to the creation of visitor profile definitions or templates. It should be understood that any reference to attribute or rule creation/editing features can be considered to refer to creation or editing of visitor profile templates.
  • the configuration module 242 can receive marketing user configurations of site visitor attributes and/or rules and store customized attributes and/or rules for later analysis and dynamic reporting at block 408 .
  • FIG. 4B an embodiment of a visitor data analysis process 420 is shown that can be implemented, for example, by the visitor data aggregator 246 .
  • the visitor data aggregator 246 can capture data associated with the visitors of a content site at block 422 and transform this visitor data according to configuration rules 424 .
  • the configuration rules may have been specified by an marketing user using the process 400 or the like described above.
  • the visitor data analysis process 420 via the visitor data aggregator 246 can save the transformed visitor data in visitor profiles created for each unique visitor at block 426 .
  • a visitor segment report can be provided based on the visitor attributes and this block 428 may be implemented or performed by the reporting module 248 .
  • FIG. 4C A more detailed view of a segment reporting process 440 is shown in FIG. 4C .
  • the reporting module 248 can output a reporting user interface for presentation to an marketing user at block 442 .
  • the reporting module 248 can receive a user selection of the site visitor attributes for which to generate a report at block 444 .
  • the reporting module 248 can receive an marketing user query parameters with respect to the selected site visitor attributes and may generate the segment report based on the selected visitor attributes at block 448 .
  • the reporting module 248 can output the segment report for presentation to the marketing user at block 450 .
  • FIGS. 5 through 24 depict example user interfaces that can be output by the visitor processing system 140 or 240 .
  • These user interfaces include features for customizing visitor profile template configurations, analyzing and generating segment reports, integrating visitor data collected by the visitor processing system with external vendor features, and the like.
  • FIGS. 5 through 20 depict visitor profile configuration user interfaces that can be generated by the visitor profile configuration module 242
  • FIG. 21 is an example user reporting interface described below
  • FIG. 22 is an example integration user interface which is also described below.
  • FIG. 23 depicts an example data source user interface
  • FIG. 24 depicts an example data mapping user interface. Each of these user interfaces are described in greater detail below.
  • Each of the user interfaces shown includes one or more user interface controls that can be selected by an marketing user, for example, using a browser or other application software.
  • each of the user interfaces shown may be output for presentation by a browser such as the browser 105 or the like or any other application software.
  • the user interface controls shown are merely illustrative examples and can be varied in other embodiments. For instance, buttons, dropdown boxes, select boxes, text boxes, check boxes, slider controls, and other user interface controls shown may be substituted with other types of user interface controls that provide the same or similar functionality. Further, user interface controls may be combined or divided into other sets of user interface controls such that similar functionality or the same functionality may be provided with very different looking user interfaces.
  • each of the user interface controls may be selected by a user using one or more input options, such as a mouse, touch screen input, or keyboard input, among other user interface input options.
  • the user interface 500 includes features for constructing visitor profile templates, discovering data with respect to visitor profiles created from visitor data by generating reports and features for obtaining visitor profiles through API access.
  • the example visitor profile configuration user interfaces can provide functionality for marketing users to specify different types of visitor profile templates to be used in creating visitor profiles from captured visitor data.
  • the user interface 500 includes various menu options 510 for accessing features of the visitor profile configuration module 242 and reporting module 248 of the visitor processing system 240 .
  • These menu options 510 include a set of tabs 512 , 514 and 516 that may be selected by a user.
  • the menu options 510 include a build option 512 which upon selection can output a user interface 600 shown in FIG. 6 (described below) or the like, a discover option 514 which upon selection can output a custom reports interface 2400 shown in FIG. 21 (described below) or the like, and an API sampler option 516 which, upon selection, can output an integration user interface 2200 shown in FIG. 22 (described below) or the like.
  • an marketing user can configure visitor profile templates.
  • a visitor profile template can be made up of one or more attributes (or rules, discussed below) which are defined or customized by a marketing user. Some attributes may be updated each time an event happens, such as a visitor interaction with a content page, while other attributors may be composed of multiple conditions and rely on values of other attributes created by the marketing user.
  • badges are one example of these attributes.
  • a badge can include an icon or label that may be assigned to a visitor based on different attributes or characteristics of that visitor's interactions with the content page, whether within a single visit or over multiple visits.
  • the badge 530 is shown as merely an example to illustrate one optional configuration of an attribute that may be made by a marketing user.
  • the badge 530 is titled “fan boy” and depicts a square icon with a smiley face superimposed therein.
  • the “fanboy” badge represents the following other attributes of a visitor, including that: the visitor has viewed at least five products on the content site, has purchased at least 90% of the products viewed, and has visited the content site at least three separate times. These attributes may be configured by a marketing user using the various user interfaces shown in FIGS. 6 through 20 .
  • Another example of a badge that might be configured by a marketing user is a window shopper badge.
  • the window shopper might be assigned to a user having the following attributes: the user is visited at least four times to the content site, has never made a purchase, and has never added items to his shopping cart (or has added items to his or her shopping cart but has never purchased any of those items).
  • a frequent visitor badge might be assigned to a user who has visited a content site a total of at least 20 times and has visited at least two times in the last seven days.
  • an impulse buyer badge might be assigned to a user who has an average product view per purchase of less than two and a total products purchased is greater than one.
  • still another example of a badge might be a VIP user badge that might be assigned if a user has visited a content site more than two times per week, has a spending total in excess of $1,000, and has tweeted a link or liked an item on the content page on Facebook (or another social networking site).
  • data about the user visits may be obtained by the tag container and the tag on the tag server and provided to the visitor processing system.
  • the visitor processing system can apply the attributes and rules for transforming those attributes into badges or other types of attributes which will be described in greater detail below.
  • a marketing user can analyze different segments of visitors based on the data collected about those visitors and transformed into specific attributes such as badges.
  • a user interface 600 is shown that may be obtained by a user selecting the build menu option 512 from FIG. 5 .
  • user interface 600 options for selecting attributes 612 and rule 614 are provided.
  • the attributes 612 can be attributes of visitors or attributes associated with visitor interactions with the content site.
  • the attributes may be as simple as flags indicating whether a user has performed a certain interaction with respect to the content site, such as clicking on a link or purchasing a product.
  • the attributes may be as complex as a funnel representing a predefined ordered list of events, such as a payment funnel that occurs through a series of clicks or item selection events made by a user.
  • the attributes option 612 is selected and a plurality of example attributes 620 are shown organized by title, type, and scope. Some examples of these attributes include a “visit start date” that may be set to determine when a user started visiting a website, a “visit end date” that may be used to determine when a visitor ended his visit, a “visit duration,” “lifetime visit count,” and the like.
  • the attributes 620 shown can be collected for all end users that visit the content site or a subset thereof. Options may be provided in some embodiments for a marketing user to determine which subset of users will be tracked according to the selected attributes.
  • the example types of attributes 620 shown include properties, metrics, dates, flags, sequences, and the like. Other attributes may also be provided, examples of which will be described in greater detail below.
  • the scope of the attributes can relate to the current visit that a visitor is experiencing with respect to the content site.
  • the current visit can be a current browse session, for instance, with respect to the content site.
  • the current visit may begin when the user initially loads a content page from the content site and may end when the user leaves the content page or is otherwise inactive for a period of time (such as 30 minutes or more).
  • the scope can refer to the visitor instead of the current visit and may therefore correspond to lifetime visits to the content page by the visitor.
  • Other scopes are possible, including a configurable time period such as the past 30 days or the like.
  • An add visitor attribute button 630 is also shown in the depicted embodiment.
  • the add visitor attribute button 630 may be selected by a user to add a new visitor attribute to the list of attributes 620 .
  • any of the attributes 620 may be selected by a marketing user to edit the attribute 620 .
  • a user interface such as the user interface 700 of FIG. 7 may be output for presentation to the user.
  • various options for selecting attribute types 710 to create a new attribute are shown.
  • the user can define specific characteristics associated with the attribute to be used for analysis of data collected with respect to end users. Users whose characteristics in interacting with the content site satisfy characteristics or rules associated with an attribute can be assigned that attribute.
  • the attribute types that can be selected from include badges, which can include labels or other indicia used to identify segments of users (e.g., frequent visitors); metrics, which can store numerical data such as a return visit count; metric sets, which can store sets or collections of metrics; properties, which can store strings such as the name of a favorite product; property sets, which can store sets of properties; flags, which can store true or false or Boolean values; dates, which can store a date value such as a date when a user last visited the content page; funnels, which can store a predetermined order list of events such as a payment funnel; and sequences, which can store an ordered list of events.
  • badges which can include labels or other indicia used to identify segments of users (e.g., frequent visitors); metrics, which can store numerical data such as a return visit count; metric sets, which can store sets or collections of metrics; properties, which can store strings such as the name of a favorite product; property sets, which can store sets of properties; flags, which can store
  • a user interface 800 or the like may be output for presentation to a user.
  • various options 802 for configuring a badge attribute are output for presentation to a user.
  • These options 802 include controls 810 for configuring characteristics of a badge, such as the title of the badge. In the depicted example, the title of the badge is “Window Shopper” and may have been entered by a marketing user.
  • the options 802 also include controls 810 for entering any notes that a marketing user may wish to enter to describe the badge.
  • the scope for badges is the visitor scope, and thus the badge may correspond to lifetime visits by the visitor.
  • the scope can be for a current visit instead of the visitor scope, or for some other time period as described above.
  • the user interface controls 810 also include functionality for specifying further details about the badge itself, such as a text label to be displayed for the badge, an image to be selected for the badge, shape, theme, and colors to be selected for the badge, and the like.
  • a marketing user can define any characteristic to be associated with a badge to distinguish the badge from other badges and to provide customization of the look and feel of the badge.
  • a created transformation button 820 is also provided that can be selected by a marketing user to add a transformation for the badge.
  • the transformation can include one or more conditions or rules that transform incoming visitor data collected by the visitor data collector 244 into data that represents the attribute shown.
  • the rules can transform visitor data into an indication of whether a visitor should be assigned the “Window Shopper” badge.
  • the transformations may be performed by the visitor data aggregator 246 of FIG. 2 , which can aggregate the data and transform the data into a useable format according to the one or more conditions or rules specified in the transformation.
  • the badge attribute can be created.
  • a popup box (not shown) can provide options for either assigning a badge based on a set of conditions or removing a badge from visitors when those conditions no longer apply.
  • Other conditions for assigning the badge to the visitor can include when the visitor is a new visitor or when it is a new visit or upon any page event or the like.
  • a user interface such as user interface 850 of FIG. 8B can be displayed.
  • the example transformation 830 includes an example condition 932 that assigns this badge to a visitor when a visit has ended. Additional rules may be specified for triggering the assignment of this badge by selecting an “attach a rule” button 834 .
  • a list of rules 836 can be displayed, from which a user can select to attach to the transformation. Some example rules are shown in the list of rules 836 , including “visit is direct,” “visit is referred,” and so forth. Other rules may be selected by scrolling down through the list 836 . These rules may be created by accessing the rules option 614 of FIG. 6 , for example, as described in greater detail with respect to FIG. 18A below.
  • Rules can also be created by selecting an “add a new rule” button 838 . Selection of this button 838 can cause a user interface 900 shown FIG. 9 to be displayed. (A similar interface can be selected from FIG. 6 to create a new rule; see FIGS. 18A and 18B )
  • a new rule creation box is shown that includes options for creating a new rule, including a text box 910 for titling the rule.
  • a user has created a title “Did not purchase this” for this rule.
  • One or more conditions 920 can be selected for the rule.
  • the condition 920 shown is an “if” condition and includes subconditions 922 , 924 , 926 , and 927 .
  • the subconditions include a dropdown box 922 for selecting an attribute (see also FIG. 18B ). Any attribute available in the attribute list 620 of FIG. 6 can be selected or a new attribute can be created (see FIG. 18B ).
  • a dropdown box 924 includes options for comparing the attribute selected in the box 922 with some value selected from box 926 .
  • the value selected in box 926 can be an attribute, such as a metric, or some custom value that can be specified in box 927 .
  • Controls 928 are provided for adding (or removing) additional conditions to the “if” statement.
  • An “add or condition” button 929 may also be selected to add a Boolean “OR” condition to the rule.
  • a user interface 1000 is shown in which an example rule has been attached to the transformation 830 for the “Window Shopper” badge of FIG. 8B .
  • the rule 1033 is entitled “visitor did not purchase.” This rule is triggered if the data object “cart_value” is greater than zero.
  • This rule may have been created using the user interface 900 of FIG. 9 to specify that the data object “cart_value,” selected from the dropdown box 922 , is greater than (box 924 ) a custom value (box 926 ) of zero (text entered into box 927 ).
  • the badge window shopper created in FIGS. 8 through 10 can be assigned to a visitor when a visit has ended and if the visitor did not purchase as specified by the rule 1033 .
  • additional rules may also be attached to any badge attribute to create a more complex set of conditions or rules that would trigger the badge being assigned to a visitor.
  • similar sets of one or more rules or conditions can be attached to a badge attribute to remove or deassign a badge from a visitor.
  • FIGS. 11 through 17 illustrate example user interfaces for creating other types of attributes.
  • an example user interface 1100 is shown for configuring a metric attribute.
  • metric attributes can store numerical data about a user visit or collection of visits.
  • metrics can perform operations on numerical data to produce new metric values, for instance by performing transformations, much like the transformations that were discussed above with respect to the badge attribute.
  • the user interface controls for configuring the metric attribute are similar to the user interface controls for configuring the badge attribute in some respects including, for example, controls 1110 for creating a title and entering optional notes about the metric attribute.
  • a scope selector 1112 allows the scope to be identified for this metric attribute as being either associated with the visitor (e.g., over a collection of the visitor's visits) or for the current visit that the visitor has with the content site. Attributes created with the “current visit” scope can be triggered within each individual visit, as opposed to over several visits in some embodiments.
  • a “create a transformation button” 1120 may be selected by the user to create transformations. Upon selection of this button 1120 , a select box 1130 is shown giving options for creating different types of transformations to associate with this metric attribute. These types can include an increment or decrement metric that increments or decrements a metric based on a set of conditions. For instance, a visit count can be a metric that uses the increment transformation such that each time an end user visits a content site, this metric is incremented by one to produce a total visit count over the lifetime of the visitor.
  • Other metric creation options in the select box 1130 include a set ratio metric or transformation that can set the quotient of two metrics as a new ratio metric; a set product transformation that can set the product of two metrics as a new metric; a set difference transformation that can set the difference of two metrics as a new metric; a set sum transformation that can set the sum of two metrics as a new metric; set metric transformation that can set the metric to a specific number; and a set difference between two dates transformation that can set the difference between two dates as a new metric.
  • transformations are examples and may be further combined, for example, by creating both a product and a sum, or both a quotient and a difference, or any number of different operations to create a single metric from a plurality of data inputs related to visitor data.
  • Metric sets can include a set of metrics that is dynamic in nature, in contrast to metrics, which may be static in nature.
  • An example of a static metric is “time on site,” which can represent the amount of time a user spent in a browse session on a content site.
  • a metric set can grow over time with name-value pairs that represent changing metrics with respect to user visit behavior.
  • the values in a metric set may be determined at runtime, rather than during configuration, although the opposite may be true in some embodiments.
  • an example user interface 1200 depicts a transformation 1230 selected from the create a transformation button 1120 to set a ratio.
  • the options 1230 enable a metric to be set to a first attribute value 1232 selected from a dropdown box divided by a second attribute value 1234 selected from a dropdown box, when a certain triggering event occurs selected from a dropdown box 1236 (such as when the visitor is a new visitor or when the visit ends, etc.).
  • a rule 1238 can be attached to the metric to apply further processing or configuration to the metric. Rule creation using the attach a rule button 1238 can be similar to rule creation described above and below with respect to FIGS. 18A through 20 .
  • FIG. 13 depicts an example user interface 1300 for configuring a property attribute.
  • the user interface 1300 is similar to the other user interfaces described above for creating or configuring attributes.
  • the user interface 1300 includes options 1310 for adding a title and optional notes to associate with the property attribute as well as scope buttons 1312 to determine the scope of this attribute.
  • transformations 1330 are shown.
  • One or more transformations can be created for this attribute similar to the other attributes described above.
  • the transformation 1330 provides options to set a property to a custom value or another value defined elsewhere in the visitor processing system. For instance, data sources can be specified that are provided in the content site's content pages (see, e.g., FIG. 23 ).
  • These data sources can include, e.g., a user name of the visitor, page name, cart value for an electronic shopping cart value, or any other piece of data which the content page wishes to define and track.
  • the property attribute can be set to this particular value specified by a data source or any other attribute via the transformation 1330 .
  • the property attribute can be stored and also operated upon by other attributes or rules.
  • a “cart_value” property attribute can be checked by a rule in a “Window Shopper” badge attribute to determine whether a user ever purchases items or is merely just looking.
  • properties may be used to filter segments or otherwise arrange results in a reporting user interface (see, e.g., FIG. 21 ).
  • property sets can be configured similarly.
  • football e.g., representing a football-related link selected by a user
  • baseball e.g., representing a similar link
  • Property sets can be used to detect correlations in visitor data, such as whether a visitor selected links related to both football and baseball within a visit (or multiple visits) to a content page.
  • FIG. 14 another example user interface 1400 is shown, which can be used to configure a flag attribute.
  • the user interface 1400 also includes options 1410 for assigning a title and optional notes to the attribute as well as a scope button set 1412 to define the scope of the attribute.
  • a create a transformation button 1420 is also shown, which can allow one or more transformations to be created.
  • An example transformation 1430 shown can allow the flag to be set to a Boolean value such as true or false when a triggering condition or conditions occur, as defined by the dropdown box 1434 , and optionally when one or more rules are satisfied as may be defined by attaching a rule 1436 .
  • the flag attribute may be a new visitor attribute and may be assigned when the condition of a new visitor being detected occurs.
  • the flag attribute may be titled “added item to cart” and may be triggered when the condition of a visitor adding an item to a shopping cart has occurred. This condition may be detected by a rule that detects when their cart value associated with the visitor is greater than zero.
  • an example user interface 1500 is shown for configuring a date attribute.
  • Options 510 are provided for specifying the title of the attribute and optional notes are shown as well as scope buttons 1512 for selecting the scope of the attribute.
  • a creative a transformation button 1520 is shown, which upon selection, enables the user to select from an options popup box 1522 to either “capture the date” to set the date to the current time stamp or to “set a date” based on a set of conditions.
  • the date attribute can capture the date and time when one or more following conditions are met specified by condition 1532 , such as during a visit.
  • a rule may also be attached using button 1534 .
  • the date and time may be captured, for instance, when a user adds an item to a shopping cart or clicks a certain link taking the user to a certain page, etc.
  • an example user interface 1600 is shown for configuring a funnel attribute.
  • Option 1610 for assigning the title and notes are supplied in the depicted embodiment.
  • Scope variables are not provided as the funnel attribute can be determined for a single visit.
  • funnels can be determined from multiple visits.
  • Create a step button 1620 is provided similar to the creative transformation buttons described above.
  • a funnel may include a series of steps including one or more steps that, once satisfied, indicate that the attribute has occurred for a particular visitor.
  • a funnel attribute can represent a series of steps taken by a visitor prior to (and optionally including) a purchase. Such a purchase funnel can be indicative of how close visitors come to purchasing items; visitors who make it further into the funnel come closer to purchasing, and vice versa.
  • One example step 1630 is shown to update the funnel, including options 1632 through 1638 for defining when the step has occurred.
  • a text box 1632 is provided for specifying a title of the step
  • a select box 1634 and attribute button 1636 are provided for adding attributes to capture related to the funnel.
  • a condition box 1638 is provided for determining when this step is considered to have occurred.
  • a rule may be attached by selecting a rule button 1640 .
  • funnels can provide for the configuration of an expected flow that has a known (or anticipated) start and end.
  • a shopping experience on an electronic commerce website can be modeled as a funnel attribute, with step 1 being viewing a product (e.g., any number of times), step 2 being adding the item to a cart, step 3 being to proceed to checkout, step 4 being filling out shipping information, step 5 including filling out billing information, and step 6 including confirming the order.
  • the funnel attribute can allow the visitor to be traced through the funnel, providing a resulting report of where visitors fall out of the funnel (e.g., by stopping at a certain step in the funnel). This report may be useful to marketing users who wish to determine the conversion rate of end users, among other useful data.
  • Funnel attributes may be time-ordered, such that in order for a funnel to be associated with a visitor, the visitor must follow the steps of the funnel in order. Other configurations that are not based on time-ordering are possible. Data may be captured at each step of the funnel or at the end of the funnel. For instance, it may be useful to inspect the value of a shopping cart that a user abandoned midway into a purchase funnel. Other funnel attribute features can include the ability to make a step optional, meaning it can be skipped. In the example above, shipping is often skipped because the billing info often provides all the info needed for shipping.
  • funnels are merely one example use of funnel attributes.
  • Other example uses for funnels include campaigns, flight check-ins, email sign-ups, or any other sequence of steps that use an online tool on the content site.
  • an example user interface 1700 is shown for configuring a sequence attribute.
  • the user interface 1700 includes option 1710 for specifying a title and optional notes and a scope button 1712 for selecting the scope.
  • the user interface 1700 includes a button 1720 for creating an entry, which can be similar to the create transformation buttons described above.
  • One or more entries may be created to update a sequence.
  • An example entry 1730 is shown that records an event for the sequence. The entry 1730 can capture attribute data specified using a select box 1732 and add/or attribute button 1734 upon a condition occurring as specified by the dropdown box 1736 .
  • a rule may also be attached 1738 .
  • sequences can log or track more general data points, such as click actions or link selection actions of an end user. Sequences can provide a mechanism for logging significant visitor events as a historical trace, without the need to store all the data between the events.
  • an end user's purchase history with respect to an electronic commerce site can be represented by a sequence attribute.
  • the purchase history sequence can include a list of the user's purchases but may not include, for example, each of the user links selected between purchases.
  • Another example of a sequence can be a search keyword history that resulted in a user finding a content page.
  • Yet another example can include a list of movies watched (e.g., in a NetflixTM queue), and the like. Events in a sequence may be associated with a timestamp so that later analysis of the sequence can compare timestamps of the events.
  • FIG. 18A shows another view of the example user interface 600 of FIG. 6 .
  • the user interface 1800 shows that the rules option 614 of FIG. 6 is selected.
  • a set of rules 1804 is shown, which may have been created by the user or provided by the vendor of the visitor processing system. Each of the rules 1804 may be selected for customization by a marketing user. A new rule may also be created by selecting the add rule button 1806 .
  • Various features for creating rules have been described above.
  • selecting the add rule button 1806 can show a user interface, such as an example user interface 1850 shown in FIG. 18B .
  • the user interface 1850 provides options 1810 for titling and annotating a rule as well as conditions 1830 to specify for the rule. Selection of these conditions can include dropdown boxes 1832 , 1834 , and 1836 for specifying subconditions associated with the condition.
  • An example list of attributes 1833 is shown, from which visitor attributes may be selected, data sources may be selected, or the like.
  • Mathematical operators may be selected via the dropdown box 1834 to compare the attribute with a custom value as specified in the dropdown box 1836 or text box 1838 .
  • an attribute may be selected from the dropdown box 1832 and compared with a metric or property that is defined elsewhere in the set of attributes described above.
  • Select boxes 1840 can be used to add or take away conditions.
  • An “add or condition” button 1842 can be selected to add one or more additional Boolean “OR” conditions.
  • FIG. 19 shows an example user interface 1900 similar to that of FIG. 18B , depicting the custom value dropdown box 1836 selected to show various custom values 1837 that could be specified when creating a rule.
  • an example user interface 2000 shows how attributes can be added from within the rule creation process with various attributes types 2010 being selectable.
  • the user interface 2000 may be output for presentation to a user upon selection of an add visitor attribute button 1839 in FIG. 19 and may have similar functionality to the attribution creation user interfaces described above.
  • FIG. 21 an example reporting user interface is shown.
  • options are shown for filtering the various attributes that have been defined for visitors to produce a set of results 2140 that illustrate aggregations or segments of visitor profile data.
  • the filters include metrics filters 2112 that enable a marketing user to select different metrics associated with visitors as well as flag filters 2114 and badge filters 2116 .
  • Other filters may also be included in other embodiments.
  • a user may select one or more of the metrics filters 2112 to adjust metrics associated with different users to be output in the reporting section 2140 .
  • these metrics include products purchased, orders placed, total visits, language, total purchase count, total purchase amount, and time of sale. These metrics may have been defined using the interfaces described above.
  • Different slider selection tools 2111 , 2113 , and 2115 allow users to adjust the values of metrics data to be displayed. For instance, the slider 2111 depicts values for a total purchase count that may be selected. In this depicted embodiment, the user selected a total purchase count between 10 and 30 to thereby view a segment of visitors that purchased between 10 and 30 items. Likewise, the slider 2113 has been used to select a total purchase amount between values of 30,000 and 60,000.
  • the slider 2115 shows the metric “time of sale” being selected between 10:00 a.m. and 5:00 p.m.
  • flag filters 2114 various flags are shown such as “has made purchase,” “emailed link,” “retweeted link,” and “returning visitor,” as well as a number of times that those flags have occurred indicated by amount 2119 .
  • Check boxes 2117 next to the flags are provided for selectively selecting the flags to filter the output of the reporting area 2140 .
  • check boxes 2117 are next to different badges in the badge filters 2116 . Different badges are shown such as “VIP,” “window shopper,” “fan boy,” and the like, next to amounts 2119 of visitors that have earned these badges or been assigned these badges. Any combination of the badges may be selected with the check boxes 2117 to filter the output of the reporting display 2140 .
  • the output of the reporting display 2140 can also be adjusted by selecting the different perspective to show the reporting data from using a drop down box 2120 that shows (in this embodiment) that the perspective is from the point of view of flags.
  • different bars 2141 in the reporting display 2140 reflect value amounts 2119 that different flags represent, such as “has made purchase,” “emailed link,” etc.
  • a query is shown at the top represented by controls 2136 that represents the selections of the filters 2110 to filter the different flags. Each of the subaspects of the query can be deselected by clicking on X buttons 2137 .
  • selection of a particular bar of the bar graph 2142 can show snapshots 2150 of the metrics.
  • the example reporting interface 2100 is illustrative only and may be varied considerably in other embodiments.
  • an example user interface 2200 is shown for integrating raw data output by the visitor processing system with third party vendor data or systems.
  • the integration user interface 2200 can provide functionality for building a sample query using controls 2210 to query their live feed or other date ranges for data. Additional API access can be provided for developers of third party vendors to access the raw visitor data collected by the visitor processing system and processed using the transformations and rules described above.
  • the raw data may be used for more than just reporting, either by the visitor processing system itself or these third party vendors.
  • the data output by the visitor processing system can be used for generating ads or ad campaigns, email campaigns, personalization including ads or recommendations or the like.
  • the visitor processing system outputs a periodic feed (for example daily, monthly, weekly, hourly) of data from the visitor processing system to external vendors so that the vendors can use this data to update information about visitors.
  • the data in the feed can be used to perform business intelligence, aggregate the data for long-term trends and trend analysis, and the like.
  • the raw data or processed data output by the visitor processing system can be used to update the content site itself by personalizing the content of the content site based on the visitors and their attributes. For instance, a marketing user may create a “chatter” badge that is assigned to visitors who are influenced by chat because they tend to purchase items when they are using a chat function on the content site. If such a visitor comes to the content site, the content site can programmatically personalize itself to show a chat window more prominently for that particular visitor. As another example, if a visitor is assigned a VIP badge, the content site may not show ads to the user. If the user is a regular buyer, the content site may give a 10% discount offer to that user. As yet another example, if a badge “early adopter” is assigned to a visitor, the content site may show the latest electronic gadgets to the user or prioritize those gadgets in a display to a user over other gadgets or products.
  • data sources may be accessed when creating attributes and/or rules to access data that is part of the content page or that is associated with the browser or end user system itself.
  • These data sources may be specified by a marketing user associated with the content site so that the visitor processing system can be aware of these data sources and know to collect their data. For instance, if the content site is an electronic shopping site and has a shopping cart, and if one of its content pages has a “cart value” data source, the marketing user can use this user interface 2300 to specify that the cart value data source is available and should be obtained for analysis in the visitor data.
  • a button 2302 is provided for adding a data source. Upon selection of this button, a row can be added to the user interface 2300 . Data inserted in the new row can be saved in computer storage, such as in a database.
  • the row can include a text box 2310 for specifying the name of the data source, select boxes 2320 for specifying the type of the data source, and a description box 2334 providing a written description of the data source.
  • the name 2310 in the text box 2310 can be the name of the data source used by the content site. Specifying this name can enable the visitor processing system to be aware of which variable or data source to look for when obtaining data using the tag container 114 and/or tag 118 (see FIG. 1 ).
  • the type of the data source identified in the dropdown box 2310 can be a data object that is associated with the page itself, it may be a Javascript page variable or other script value associated with the page, a meta tag associated with the page, a query string parameter associated with an HTTP PUT or GET statement, or a cookie value that is associated with the end user system or browser. Other options are also possible. Thus, if the data sources are specified in the user interface 2300 , the visitor processing system can obtain data from the specified data sources using an appropriate tag 118 .
  • a user interface 2400 for mapping the data sources can be used for some tags.
  • the user interface 2400 shows example tags added to the tag server(s) 120 from third party vendors.
  • these tags include a live person tag and a GoogleTM Analytics tag.
  • Configuration details 2702 for the GoogleTM Analytics tag are provided and mapped data sources 2710 are also shown.
  • the mapped data source functionality can be provided to enable a user to map the data sources defined in the user interface 2300 to a data source in the tag vendor's tag.
  • mapping is not performed by the visitor processing system for the visitor attributes and rules described above. Rather, the mapping may not be needed because the visitor processing system can collect all the data sources specified by the marketing user and can make these available in the attributes and rules configuration displays without further mapping required. Mapping may instead be used with such visitor rules and attributes in other embodiments.
  • FIG. 25 a more detailed example embodiment of a computing environment 2500 is shown that can perform any of the tag management features described herein.
  • the computing environment 2500 is a more detailed example of implementation of the computing environment 100 of FIG. 1 .
  • end user systems 102 are shown in communication with content sites 110 which may communicate over a network (not shown).
  • marketing user systems 104 are also shown.
  • the computing environment 2500 facilitates implementation of a tag management system 2540 , which may include the functionality of the visitor processing systems described above. Alternatively, the functionality of the visitor processing systems may be implemented in place of the tag management system 2540 in FIG. 25 , without using some or all of the features of the tag management systems described herein.
  • the tag management system 2540 is shown distributed in a cloud platform that provides redundant and geographically dispersed access to the tag management system 2540 .
  • the tag management system 2540 is implemented in various cloud regions 2572 . These cloud regions may be implemented in any type of cloud platform, which may simply be a data center operated by a vendor of the tag management system or by a third party vendor such as Amazon Web ServicesTM, Microsoft AzureTM, RackspaceTM LinodeTM, combinations of the same, or the like.
  • Each cloud region 2572 includes a load balancer 2576 that can balance requests to tag management system instances 2540 .
  • the tag management system instances 2540 can be implemented as virtual machines and/or physical machines.
  • the instances 2540 can be elastic compute cloud (EC2) instances that are distributed geographically for faster and redundant access to geographically dispersed analysis user systems 104 .
  • visitor profile data storage devices 2530 are shown in the different cloud regions 2572 and can store tag and visitor data in the cloud.
  • Virtual private network (VPN) tunnels 2580 facilitate secure communication in a virtual private network among the different cloud regions 2572 and enable administrator users (not shown) of the tag management system to access tag management system instances 2540 .
  • VPN Virtual private network
  • the virtual private network is facilitated or provided by a private cloud service, such as the Virtual Private Cloud (VPC) service provided by Amazon Web ServicesTM.
  • the private cloud service can provide security to the tag management system instances 2540 by virtue of obscuring IP addresses of the tag management instances 2540 .
  • the tag management system instances 2540 may have nonpublic IP addresses so that each tag management system instance 2540 does not need to have security software that is responsible for securing the tag management system 2540 itself.
  • a geodns provider 2560 is provided for interfacing between content sites 110 , analysis user systems 104 , and the various tag management system instances 2540 .
  • the geodns provider 2560 also provides access to published tags 2590 which are stored in tag servers 2594 accessible through one or more or content delivery networks (CDNs) 2592 .
  • CDNs content delivery networks
  • the function of the geodns provider 2560 in one embodiment is to periodically determine which CDN hosting the tags has the lowest latency, thereby selecting which CDN to point the content site 110 to when accessing tags on the tag servers 2594 .
  • the geodns provider 2560 may implement the DYN DNS system in one embodiment.
  • tag access can be much faster than if tags were stored in locally hosted tag servers. Further, by using a geodns provider 2560 , access to tags can be even more rapidly achieved by cycling through the fastest available CDNs 2592 .
  • the visitor processing system 2600 can include any of the features of the visitor processing systems 140 , 240 described above. For instance, the visitor processing system 2600 can generate any of the user interfaces described above. Likewise, any of these visitor processing systems 140 , 240 can implement any of the features of the visitor processing system 2600 .
  • the visitor processing system 2600 represents an example detailed implementation of tag management for visitor profile creation.
  • the visitor processing system 2600 includes a visit event collector 2610 , a message queue 2620 , a message router 2630 , a visitor processor 2640 , and a query aggregator 2650 .
  • the visitor processing system 2600 includes a visitor profile data repository 2670 and a REST server 2660 .
  • the visit event collector 2610 can include any of the features of the visitor data collector 244 of FIG. 3 or a portion thereof.
  • the visitor processor 2640 and query aggregator 2650 can implement the functionality of the visitor data aggregator 246 of FIG. 3 or a portion thereof.
  • the REST server 2660 can implement the functionality of the reporting module 248 of FIG. 3 or a portion thereof.
  • the visitor profile data store 2670 can store any of the data stored by the data store 270 of FIG. 3 .
  • the components shown in FIG. 26 can include additional functionality.
  • Each of the components shown can be implemented in computer hardware and/or software.
  • the components shown are implemented as software instances running in hardware. Some or all of the components may be implemented with multiple instances, which may be geographically co-located or geographically dispersed.
  • Arrows between the components shown in FIG. 26 represent example flow of data and/or messages between the components, for example, over a network or via interprocess communication on the same computing device (e.g., a server). Although some possible communication paths between the components are indicated by these arrows, other communication paths between the components are also possible.
  • the visit event collector 2610 receives visitor event information.
  • This visitor event information may be obtained by a tag container invoking a visitor tag.
  • the tag container can be embedded in a content page of a content site accessed by a visitor, and the tag container can load the visitor tag (e.g., from a separate tag server—see, e.g., FIG. 3 ).
  • the visitor event information can include any of the visitor profile data or visitor data described above, including data about any end user interaction with the content page(s), data about the end user's system hardware and/or software (such as browser type), and so forth.
  • the visit event collector 2610 can publish a visitor event containing the visitor event information in response to receiving the visitor event information.
  • the visit event collector 2610 provides this visitor event to a message queue 2620 in one embodiment.
  • the message queue 2620 can implement message broker functionality that implements the Advanced Message Queuing Protocol (AMQP) standard.
  • AMQP Advanced Message Queuing Protocol
  • the message queue 2620 can perform asynchronous routing of messages between the various components of the visitor processing system 2600 .
  • the message queue 2620 implements some or all of the features of the RabbitMQ message broker system.
  • the message queue 2620 can implement other message brokering systems in other embodiments.
  • the message queue 2620 provides an event message, picked from a queue, to a message router 2630 on a first come, first serve basis.
  • the event message can include the visitor event data published by the visit event collector 2610 to the message queue 2620 .
  • the message router 2630 can route the event message to a sharded queue implemented by the message queue 2620 .
  • the sharded queue may be implemented over multiple servers to increase parallelism and processing efficiency.
  • the sharded queue provides sharded event messages (e.g., portions of the event message) to a visitor processor 2640 .
  • the visitor processor 2640 can aggregate data from the sharded event messages based on attributes of the data and/or user. For instance, the visitor processor 2640 can perform any of the aggregation functionality of the visitor data aggregator 246 to produce visitor profile data based on attributes and rules, as described above.
  • the visitor processor 2640 can persist visitor profile data in visitor profile storage 2672 of the visitor profile data store 2670 , for example, in response to the end user's visit to the content site expiring or ending.
  • the visitor processor 2640 can also include an in-memory set of active visitor profiles 2642 associated with current visitors to the content site (or sites). The visitor processor 2640 can persist the in-memory set of active visitor profiles 2642 to visitor stream query storage 2674 in the visitor data store 2670 .
  • a query aggregator 2650 obtains sharded visitor query results from the message queue 2620 (e.g., in response to a query from a marketing user) and maintains an in-memory set of aggregated visitor profiles 2652 .
  • the query aggregator 2650 also persists a near realtime aggregate visitor report in aggregated visitor result storage 2676 , which can be accessed as part of a user query.
  • the REST server 2660 can received submitted queries and return query results in response, using HTTP, SOAP, or other representational state transfer (REST) protocols (or another protocol).
  • REST representational state transfer
  • the REST server 2660 can obtain the requested data from the visitor profile data store 2670 .
  • the REST server 2660 can retrieve historical query results from the visitor profile storage 2672 , near realtime visitor stream query results from the visitor stream query storage 2674 , and near realtime aggregate visitor query results from the aggregated visitor result storage 2676 .
  • the query can be streamed or reported.
  • Streamed queries can include queries for the raw visitor profiles themselves, so that further processing can be done (for example) by a marketing user system.
  • Reported queries can request reports based on visitor profiles, such as the example report shown in FIG. 21 .
  • Historical queries are also possible, showing reports for a set of visitors at a previous point in time (such as a day ago, or a week, month, or year ago) as opposed to live, real time or near-real time (which can be the default query option).
  • a marketing user may wish to compare historical results from a year ago with current results (or with other historical results).
  • a general purpose processor can be a microprocessor, but in the alternative, the processor can be a controller, microcontroller, or state machine, combinations of the same, or the like.
  • a processor can include electrical circuitry configured to process computer-executable instructions.
  • a processor includes an FPGA or other programmable device that performs logic operations without processing computer-executable instructions.
  • a processor can also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
  • a computing environment can include any type of computer system, including, but not limited to, a computer system based on a microprocessor, a mainframe computer, a digital signal processor, a portable computing device, a device controller, or a computational engine within an appliance, to name a few.
  • a software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of non-transitory computer-readable storage medium, media, or physical computer storage known in the art.
  • An example storage medium can be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium can be integral to the processor.
  • the storage medium can be volatile or nonvolatile.
  • the processor and the storage medium can reside in an ASIC.
  • Disjunctive language such as the phrase “at least one of X, Y and Z,” unless specifically stated otherwise, is to be understood with the context as used in general to convey that an item, term, etc. may be either X, Y, or Z, or a combination thereof. Thus, such conjunctive language is not generally intended to imply that certain embodiments require at least one of X, at least one of Y and at least one of Z to each be present.
  • a device configured to are intended to include one or more recited devices. Such one or more recited devices can also be collectively configured to carry out the stated recitations.
  • a processor configured to carry out recitations A, B and C can include a first processor configured to carry out recitation A working in conjunction with a second processor configured to carry out recitations B and C.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A visitor processing system can include features for providing a fully configurable visitor model. The visitor processing system may also provide the ability to see the results of this visitor model in a real time or near real time. This level of configurability can be beneficial when a goal is to reduce a visitor set to a highly targeted visitor segment. This rich configurability can include the ability to set and manipulate a number of attributes and rules for a visitor. By allowing marketing users to configure attributes regarding their content sites' visitors, the visitor processing system can enable marketing users to obtain real-time (or near real-time) reports on these visitors. These reports can provide a highly desirable capability to filter a live and/or historic stream of visitors on the specified attributes, resulting in precisely targeted reporting on a highly segmented and highly targeted segment of visitors.

Description

    RELATED APPLICATIONS
  • This application claims priority under 35 U.S.C. §119(e) as nonprovisional applications of the following U.S. Provisional Applications:
  • App. No. Filing Date Title Attorney Docket
    61/872,530 Aug. 30, 2013 CONTENT SITE VISITOR TEALM.001PR
    PROCESSING SYSTEM
    61/889,876 Oct. 11, 2013 COMBINED SYNCHRONOUS AND TEALM.002PR
    ASYNCHRONOUS TAG
    DEPLOYMENT
    61/900,274 Nov. 05, 2013 UNIVERSAL VISITOR TEALM.003PR
    IDENTIFICATION IN TAG
    MANAGEMENT SYSTEMS
    61/896,351 Oct. 28, 2013 SYSTEM FOR PREFETCHING TEALM.004PR
    DIGITAL MARKETING TAGS
  • The disclosures of each of the foregoing applications are hereby incorporated by reference in their entirety. Further, any subset of the embodiments described herein can be implemented in combination with any subset of the embodiments described in the foregoing applications.
  • BACKGROUND
  • Some operators of content sites, such as websites, regularly obtain the results of analytics performed with regard to user interactions on their content sites. User analytics can include any type of data regarding interactions of end users with content sites, among other types of data. There are different approaches to gathering analytics data, one of which includes employing the use of tags.
  • Tags can include small pieces of website code that allow a website operator to measure traffic and visitor behavior, understand the impact of online advertising and social channels, use remarketing and audience targeting, and test and improve a content site, among optionally other functions. Adding tags to a content site has typically included involving a developer to manually insert tag code into one or more pages of a website.
  • SUMMARY
  • In certain embodiments, a system for enabling marketing users to customize visitor profile data processing criteria associated with visits to a content site can include a visitor profile configuration module including computer hardware. The visitor profile configuration module can output a visitor profile configuration user interface for presentation to a marketing user associated with a content site. The visitor profile configuration user interface can include functionality for defining a visitor template for profiling visitors of the content site with custom badges. The visitor profile configuration user interface can also receive a custom visitor template defined with the visitor profile configuration user interface. The custom visitor template can define a custom badge assignable to those of the visitors who satisfy a plurality of characteristics related to visiting the content site. The system can also include a visitor data collector that can receive visitor data associated with end users who are visitors of the content site from a data collection tag associated with one or more content pages of the content site. Further, the system may include a visitor data aggregator that can match the collected visitor data to the visitor template to assign the custom badge to a subset of the visitors, as well as a reporting module that can provide a visitor segment report comprising information on the subset of visitors assigned the custom badge.
  • In some embodiments, non-transitory physical computer storage is provided, which has computer-executable instructions stored thereon that, when executed by one or more processors, can implement a system for enabling marketing users to customize visitor profile data processing criteria associated with visits to a content site. The system can include a visitor profile configuration module that can output a visitor profile configuration user interface for presentation to a marketing user associated with a content site. The visitor profile configuration user interface can include functionality for defining visitor configuration rules for profiling visitors of the content site with custom badges. The visitor profile configuration module can also receive custom visitor configuration rules defined with the visitor profile configuration user interface. The custom visitor template can define a custom badge assignable to those of the visitors who satisfy a plurality of characteristics related to visiting the content site. A visitor data collector of the system can receive visitor data associated with end users who are visitors of the content site from a data collection tag associated with one or more content pages of the content site. A visitor data aggregator of the system can transform the collected visitor data according to the custom visitor configuration rules to assign the custom badge to a subset of the visitors. Further, the system can include a reporting module that can provide a visitor segment report having information on the subset of visitors assigned the custom badge.
  • In various embodiments, a method of enabling marketing users to customize visitor profile data processing criteria associated with visits to a content site can include electronically generating a visitor profile configuration user interface for presentation to a marketing user associated with a content site. The visitor profile configuration user interface can include functionality for defining visitor configuration attributes and rules for profiling visitors of the content site. The method can further include receiving one or more custom visitor configuration attributes and one or more associated rules defined with the visitor profile configuration user interface. The one or more custom visitor configuration attributes and the one or more associated rules can constitute a badge attribute assignable to those of the visitors who satisfy the one or more custom visitor configuration attributes and the one or more associated rules. The method may also include accessing visitor data associated with end users who are visitors of the content site from a data collection tag associated with one or more content pages of the content site. The method may also include transforming the collected visitor data according to the one or more custom visitor configuration attributes and the one or more rules to produce transformed visitor data. Further, the method may include storing the transformed visitor data in visitor profiles associated with the end users who are visitors to the content site. Moreover, the method may include providing a visitor segment report in substantially real time based on the transformed visitor data, where the visitor segment report indicates a subset of the visitors assigned the badge attribute. At least the transforming aspect of the method is performed in part by a computer system comprising computer hardware.
  • For purposes of summarizing the disclosure, certain aspects, advantages and novel features of several embodiments are described herein. It is to be understood that not necessarily all such advantages can be achieved in accordance with any particular embodiment of the embodiments disclosed herein. Thus, the embodiments disclosed herein can be embodied or carried out in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other advantages as may be taught or suggested herein.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Throughout the drawings, reference numbers are re-used to indicate correspondence between referenced elements. The drawings are provided to illustrate embodiments of the features described herein and not to limit the scope thereof.
  • FIG. 1 depicts an embodiment of a computing environment that provides access to an analytics system including a visitor processing system and/or a tag management system.
  • FIG. 2 depicts an embodiment of a tagging overview process.
  • FIG. 3 depicts a more detailed embodiment of the visitor processing system of FIG. 1.
  • FIG. 4A depicts an embodiment of a visitor profile configuration process.
  • FIG. 4B depicts an embodiment of a visitor data analysis process.
  • FIG. 4C depicts an embodiment of a visitor segment reporting process.
  • FIGS. 5 through 23 depict example user interfaces that provide functionality for customizing visitor profiles.
  • FIG. 24 depicts an embodiment of a reporting user interface.
  • FIG. 25 depicts another embodiment of a computing environment, which provides distributed cloud-based access to a visitor processing system.
  • FIG. 26 depicts another embodiment of a visitor processing system.
  • DETAILED DESCRIPTION I. Introduction
  • Adding tags to web pages without efficient management can create significant problems and inconveniences. For instance, the code that is associated with multiple tags can bog down a content site and be a major performance drain. Redundant or incorrectly applied tags can also distort measurements and result in duplicate costs or missing data. Poor tag management can also be time consuming for the information technology (IT) department or webmaster team to add new tags, which may mean that important marketing and measurement programs might be significantly delayed.
  • Tag management systems have recently been introduced to improve the management of tags. Currently available tag management systems provide content site operators somewhat greater control and ease of use in managing tag deployments in their content pages. In addition, some known tag management systems provide some reporting functionality that leverages data obtained from the tags.
  • Some of those existing systems provide rich but slow batch-based data processing. Many of the batch-based systems tend to be batched on a daily basis and therefore cannot provide immediate notification of any changes in web site visitor behavior throughout a day. Additionally, acting on the collected data from such systems typically requires custom-coded and less flexible solutions.
  • Real time reporting may be available with some tag management systems, but the reports generated by such systems tend to be inflexible and are predetermined by the vendor of the tag solution. These reports will almost certainly not be visitor-centric, making them difficult to use for inferring business-critical correlations. Additionally, acting on the data in such systems is virtually impossible given the aggregated nature of the reporting data. Various solution vendors such as data management platforms (DMP) or web analytics provide actionable segmented visitor based data sets. However, such solutions often lack flexibility regarding the visitor definitions as well as lacking consistency across the disparate vendor data sets used to create the rich visitor profiles. Further, these systems tend to provide little agility and certainly no real-time definition of visitor definitions.
  • This disclosure describes embodiments of systems and methods that can address at least some or all of the foregoing drawbacks, among possibly others. In certain embodiments, a tag management system can deploy a single tag or a tag container to a content site. Each page or any subset of pages in the content site can incorporate the tag container as a universal tag that can be used to gather any type of visitor data of a visitor to a content site. This tag container can be used to interface with any number of third party vendor tags without requiring, in certain embodiments, such tags to be coded expressly in the code of the content pages of the content site. Thus, changes to the tagging of a content site may be made through a user interface provided by the tag management system without having to use a developer to add the tags to the content pages manually. As a result, the tag management system can be more accessible to marketing people without IT or programming knowledge.
  • This tag container approach to tag management can promote high scalability and provide marketing agility, enabling marketers and other marketing users to rapidly change data collected or analyzed by the tag management system. Further, since one tag container is embedded within the content pages, in certain embodiments, the content pages may load faster and, therefore, include many performance improvements. Additionally, the architecture of the tag management system and the tag containers themselves can facilitate other performance improvements which will be described in greater detail below. Moreover, there may be reduction of IT costs provided by using the disclosed tag management system because IT personnel can shift away from performing marketing work to focusing on IT work.
  • In certain embodiments, a visitor processing system is also described herein, which can provide additional levels of marketing agility by providing a solution that allows for a fully configurable visitor model. The visitor processing system may, but need not, be implemented in conjunction with the tag management system. The visitor processing system may provide the ability to see the results of this visitor model in a real time or pseudo real time (such as within seconds or minutes of making changes to the visitor model). This level of configurability can be beneficial when a goal is to reduce a visitor set to a highly targeted visitor segment. This rich configurability can include the ability to set and manipulate a number of attributes on a visitor. Such attributes can include badges, metrics (such as numerical functions), properties, dates, flags (such as Boolean values), and advanced attributes (such as funnels and sequences). By allowing marketing users to configure attributes regarding their content sites' visitors, the visitor processing system can enable marketing users to obtain real-time (or near real-time) reports on these visitors. These reports can provide a highly desirable capability to filter a live and/or historic stream of visitors on the specified attributes, resulting in precisely targeted reporting on a highly segmented and highly targeted segment of visitors in certain embodiments.
  • For purposes of summarizing the disclosure, certain aspects, advantages and novel features of several embodiments are described herein. It is to be understood that not necessarily all such advantages can be achieved in accordance with any particular embodiment of the embodiments disclosed herein. Thus, the embodiments disclosed herein can be embodied or carried out in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other advantages as may be taught or suggested herein.
  • II. Example Visitor Processing Systems and Methods
  • Turning to FIG. 1, an embodiment of a computing environment 100 is shown for implementing various tag features, including some or all of the tag management and/or visitor processing features described above. In the computing environment 100, one or more end user systems 102 communicate over a network 108 with a content site 110. The end user systems 102 can include any form of computing device and may be desktops, laptops, smartphones, tablets, or the like. A browser 103 or other application software installed in the end user systems 102 accesses one or more content pages 112 of the content site 110. The content pages may be web pages or other documents or files that may be accessed remotely and provided to the end user systems 102. The content site 110 may be a website, a web server, an application server, a database server, combinations of the same, or the like. Further, the network 108 can include a local area network (LAN), a wide area network (WAN), a company intranet, the public Internet, combinations of the same, or the like.
  • As shown, one or more content pages 112 of the content site 110 can include a tag container 114. The tag container 114 can be an example of the tag container described above and can be a universal tag that is installed or incorporated in one or more content pages 112 in place of, or instead of, incorporating numerous tags in each page. The tag container 114 can communicate with one or more data collection tags 116, 118 implemented on one or more tag servers 120. Both the content site 110 and the tag servers 120 can be implemented in computer hardware and/or software. The tags 116, 118 can include third party tags 116 provided by tag vendors that are different entities than an operator of, or provider of, the tag container 114. In addition, the tags can include a visitor tag or tags 118 that can be provided by the same provider as the provider of the tag container 114 (or a different provider in some embodiments).
  • An analytics system 130 is shown in communication with the tag servers 120. The analytics system 130 can be implemented in computer hardware and/or software. In the depicted embodiment, the analytics system 130 includes a visitor processing system 140 and a tag management system 150, as well as a visitor profile data repository 160. The visitor processing and tag management systems 140, 150 are shown separately for illustrative purposes, although their functionality may be implemented by a single system. The analytics system 130 can also be implemented without a tag management system 150, and thus, the functionality of the visitor processing system 140 can be implemented independent of any tag management functionality.
  • In certain embodiments, the visitor processing system 140 can enable marketing users (described below) to configure the types of data tracked for different visitors of the content site 110, as well as analyze and report on this visitor data. For instance, in one embodiment, the visitor processing system 140 can provide one or more user interfaces that enable customization of collecting information about visitors to the content site 110. This information can be obtained initially by the visitor tag(s) 118, which may be provided through the tag container 114 to the end user systems 102 for execution in the browser 103. Upon execution in the browser 103, the visitor tag(s) 118 can supply visitor data to the visitor processing system 140 (optionally through the tag servers 120). Such visitor data can be stored in visitor profiles in the visitor profile data repository 160, which may include physical computer storage. Marketing users can subsequently query the visitor profiles to obtain reports or other information about visitors to the content site 110. Other uses for visitor profile data are described in greater detail below.
  • The tag management system 150 can be used to manage the tags 116 provided by third party vendors. For instance, the tag management system 150 can provide functionality for marketing users to select which third party vendor tags 116 to associate with the tag container 114 for a variety of vendor-specific processing purposes. These purposes can include obtaining analytics for data analysis or business intelligence, tracking affiliate activity with respect to the content site 110, obtaining user data for displaying targeted ads, obtaining user data for customizing search functionality or email campaigns targeted to the end users, obtaining user data for personalizing content of the content pages 112, obtaining user data for integration with social networking functionality, obtaining user data for big data analysis, combinations of the same, or the like. Data collected by the tags 116 can be provided to tag vendor systems 170, which can perform any of this vendor-specific processing. The data may alternatively be passed to the tag vendor systems 170 through the tag management system 150.
  • In an embodiment, the tag management system 150 provides functionality (such as one or more user interfaces) for marketing users to map data sources in the content pages 112 to data sources gathered by the third party vendor tags 116. For instance, if one of the content pages 112 includes a shopping cart value named “cart value,” the tag management system can provide a user interface that enables a user to tell the tag management system 150 to collect data on the “cart value” and map this data to a “cart_value” variable of one of the tags 116. In addition, the tag management system 150 can provide similar functionality for identifying which data sources of the content pages 112 are to be gathered by the visitor tag 118.
  • However, in some embodiments, the visitor tag 118 can instead perform a greedy collection of some or all data available in the content page(s) 112. Since the visitor tag 118, tag container 114, and visitor processing system 140 can be provided by the same entity, the data obtained by the visitor tag 118 need not be mapped to third party mappings like the data obtained by the third party tags 116. Instead, some or all of the data available to the visitor tag 118 can be provided to the visitor processing system 140 for processing. Thus, the visitor tag 118 can facilitate vendor-neutral data gathering of some or all of the data elements in a content page 112. Since this data is not mapped to a vendor-specific format in certain embodiments, the data can be exported to business intelligence systems without a need to massage the data from its mapped form (which can be cumbersome) to its original, raw form.
  • Various marketing user systems 104 can access the analytics system 130 and/or the tag servers 120 via the network 108. Like the end user systems 102, the marketing user systems 104 can include a browser 105 or other application software that can access network applications over the network 108. The marketing user systems 104 can also be any type of computing device including, but not limited to, a desktop, laptop, tablet, smartphone, or the like. The marketing user systems 104 can be operated by marketing users such as marketing professionals, website operators, business users, operators of the content site 110, or any other individual who uses tags or data obtained from tags. Marketing users are not the end users of the content site 110 in certain embodiments. A marketing user might use a marketing user system 104 to dynamically update the types of data tracked or analyzed for different visitors of the content site 110. This data can be tracked by the visitor processing system 140 via either updating the visitor tag 116 stored on the tag server 120 or by updating processing of data obtained from the visitor tag 116 to build updated visitor profiles 130, many example features of which will be described in greater detail below.
  • Turning to FIG. 2, an embodiment of a tagging overview process 200 is shown. The tagging overview process 200 illustrates an example mode of operation of the computing environment 100 of FIG. 1 and may be implemented by the various components shown in the computing environment 100 of FIG. 1.
  • At block 202, of the process 200, an end user system 102 requests content such as a content page 112 from the content site 110. The end user system 102 receives the content page 112 including a tag container 114 at block 204. Thereafter, at block 206 the end user system 102 can request one or more tags 116 associated with the tag container 114 from a tag server 120. The tag container 114 may include script code such as Javascript code or the like embedded in the source of the content page 112 initially requested by the end user system. The tag container 112, upon being processed by the browser 103 of the end user system 102, can programmatically access the visitor tag 118 (or other tag) stored on the tag server 120 to request the tag 118 to be provided or downloaded to the end user system 102. The tag 118 itself may be a static file or the like that includes executable code such as HTML code and/or script code, such as Javascript or the like.
  • The tag(s) 118 are received at block 208 at the end user system 102, and the tag or tags 118 are executed at block 210 by the end user 102 system to obtain visitor data about the end user 102 and to send the visitor data to the visitor processing system 140. In another embodiment, the visitor data is sent to the tag server 110, which may store and process the data or may forward the visitor data on to the visitor processing system 140. The visitor data may also be sent to both the tag server 120 and the visitor processing system 140.
  • The visitor data can include any of a variety of information about the end user and the end user's interactions with the content site 110. For instance, the visitor data may include information about what type of browser 103 or application the end user is using to access the content site 110. The visitor data may also include information about a geographic location of the user, a duration that the user is accessing the content site 110 or is logged into the content site, or the like. In addition, the visitor data can include information about any interaction by the visitor with the content site 110 including, for example, any clicks made by the visitor on links on the content page 112 served by the content site 110, any user selection of a form element, or any user scroll behavior, text entry behavior in form text boxes, chat boxes, e-mail boxes, social networking, other user interaction with other user interface controls, combinations of the same, or the like.
  • The visitor processing system 140 can aggregate the visitor data with unique visitor profiles for each end user visitor to the content site 110 at block 212. By storing the visitor data in association with unique visitor profiles, the data may be associated with individual visitors. Unique visitor profiles may be maintained by obtaining, via the tag 118, identification data associated with the end users so as to match the visitor data with a particular user's visitor profile. The identification data may be obtained by the tag 118, for example, by accessing a cookie that may be installed in the end user system 102, by accessing login information associated with the user if the user logged into the content site 110, by identifying the user's internet protocol (IP) address and/or a Media Access Control (MAC) address from network packets transmitted to and/or from the content site 110 and the end user systems 102, combinations of the same or the like.
  • At block 214, the visitor processing system 140 generates visitor segment reports, which can be custom reports accessible by marketing users and which may include segment information on the aggregated visitor profile data organized by visitor segments. This segment information can include information regarding visitors who are frequent visitors to the content site 110, or information regarding visitors who are frequent purchasers of the content sit 110, to name a few examples. Segments may advantageously be defined by the marketing users via customization user interfaces provided by the visitor processing system 140, many examples of which are described in greater detail below (see FIGS. 5 through 20). The custom reports provided by the visitor processing system 140 can be generated or updated in real time or substantially real time, for example, on the order of seconds or minutes in response to receiving updated visitor data.
  • In addition, marketing user customizations made to reports and/or types of visitor data gathered or operations upon the data can take effect in real or near real time. The reports can reflect this dynamic activity, advantageously in certain embodiments overcoming deficiencies in existing systems that apply batch processing daily. Even in existing systems that provide real time reporting, such systems may be controlled by the tag vendor and, therefore, may be inflexible or impossible to customize by the marketing users. In contrast, the visitor processing system 140 can enable the marketing users to have control over the types of data collected and/or processed, the configuration rules that process the data, and the way that such processed data is output via reports to those users. As a result, in certain embodiments, the visitor processing system 140 can provide greater marketing agility to marketing users and can provide increased performance for tracking visitor data.
  • Turning to FIG. 3, an embodiment of a visitor processing system 240 is shown in greater detail. The visitor processing system 240 can have all the features of the visitor processing system 140. In the depicted embodiment, the visitor processing system 240 is in communication with the marketing user systems 104 over a network 208, which may be the network 108 described above with respect to FIG. 1. The visitor processing system 240 as shown includes various components such as a visitor profile configuration module 242, a visitor data collector 244, a visitor data aggregator 246, and a reporting module 248. A visitor profiles data store 250 is also in communication with the visitor processing system 240. The visitor processing system 240 and each of the components thereof can be implemented in computer hardware and/or software. In some embodiments, the visitor processing system 240 can be part of or used in conjunction with a tag management system, such as the tag management system 150.
  • The visitor profile configuration module 242 can output one or more user interfaces that enable marketing users of the user systems 104 to customize the way that visitor data is tracked and/or analyzed by the visitor processing system 240. Many example such user interfaces are described in greater detail below. In general, in one embodiment, the visitor profile configuration module 242 allows marketing users to define visitor profile definitions or templates that include attributes of data to be collected from the content site 110 as well as rules to be used in transforming collected visitor data into visitor profiles for further analysis. The visitor profile templates can be stored in the visitor profile data repository 250. Visitor data transformed into visitor profiles based on one or more visitor profile templates may also be stored in the data repository 250. These visitor profiles may be accessed by marketing users for reporting and marketing or business intelligence analysis. The profiles may also be accessed from the repository 250 programmatically for taking further programmatic action such as content page personalization (described in greater detail below).
  • The visitor data collector 244 can perform the actual data collection of visitor profile data by communicating with the tag 118 in the tag server 120 described above with respect to FIG. 1. In one embodiment, the data collection process works by the tag 118 itself including an inline frame (“iframe”) HTML element that further includes an HTML form. This frame may or may not be visible on the content page 112. The form can automatically obtain visitor data elements from the content page and submit those visitor data elements to the visitor processing system 240 (and/or tag server 120) via an HTTP POST or GET operation. In another embodiment, the tag can provide the visitor data to the visitor data collector 244 using a web services communication scheme, for example, by making application programming interface (API) calls over the network 108 to the visitor data collector 244.
  • The visitor data aggregator 246 can aggregate like data based on the particular visitor and/or the type of data being aggregated, for example, based on attributes of the data and/or user. For instance, if a user has visited a site a number of times, each time the user visits the site the visitor data aggregator 246, can increment a variable or attribute corresponding to the number of times the user has visited the site. Further, the visitor data aggregator 246 can apply one or more rules to those attributes in the visitor data to transform the visitor data into segment-based data. This segment data can provide enhanced information about segments of visitors to the content site 110. For instance, the visitor data aggregator 246 can assign one or more badges or labels to a particular class of visitors based on a rule-based analysis of the visitors' browsing habits with respect to the content site 110. Users that share a particular badge can represent a segment of users having certain characteristics that may be interesting to study for targeted marketing or other purposes. The badges can also represent gamification of analytics that can provide useful insights to marketing users about visitor behavior. Badges are described in greater detail below (see, e.g., FIGS. 7 through 10).
  • Another example of information that can be aggregated by the visitor data aggregator 246 is metrics about the data. For instance, the visitor data aggregator 246 can compute a metric such as the total number of purchases made by a user on an ecommerce content site or other numerical values related to the user's interactions with the content site. In still other embodiments, the visitor data aggregator 246 can compile attributes such as flags or Boolean values associated with the visitor's profile. Such flags might represent data related to whether a user has left unpurchased items in an electronic shopping cart, whether a user tends to use a chat function, or whether a user clicks social networking links to share information about the content site, to name a few examples. Such flags or Boolean values can provide useful insight into the activities of different users with respect to the content site. Still other attributes that can be determined by the visitor aggregator module 246 includes funnels, such as purchase funnels, and sequences, as well as properties, dates and other attributes. These attributes are described in greater detail below with respect to FIGS. 7 and 11-17.
  • The reporting module 248 can provide a custom reporting user interface that allows marketing users to query visitor attributes and organize visitor attributes based on different segments or dimensions of those visitor attributes. For instance, such a user interface can allow users to sort or organize or otherwise view a portion of visitors that share a common attribute such as a badge or flag or funnel characteristic or the like. Thus, the reporting module 248 can provide a flexible interface for marketing users to view different segments of the visitor profile data. Further, changes made by users via the visitor profile configuration module 242 can be reflected in the reports provided by the reporting module 248 in real time or near real-time. Thus, for example, if an marketing user desires to track a new characteristic implemented on a content page, the user can easily specify via the visitor profile configuration module 242 to track this particular attribute, and the visitor data collector 244 can begin tracking this data almost immediately. Likewise, the visitor data aggregator 246 can rapidly begin aggregating the collected data, and the reporting module 248 can also rapidly output this information in a format requested by the user. This type of flexibility provided by the visitor processing system 240 in certain embodiments can greatly enhance the ability of marketing users to see rapidly-changing visitor behavior and gain insights into how to personalize content pages to better target visitors or to promote purchases or other desired visitor behavior.
  • Turning to FIGS. 4A through 4C, various additional processes 400, 420, and 440 are shown, which may be implemented by the visitor processing system 140 or 240 (or other components of the computing environment 100 of FIG. 1). For instance, in FIG. 4A an embodiment of a visitor profile configuration process 400 is shown, which may be implemented by the visitor profile configuration module 242 of FIG. 2.
  • At block 402 of FIG. 4A, the visitor profile configuration module 242 can receive a request from a marketing user to configure a visitor profile definition or template. In response, at block 404, the configuration module 242 can output a visitor profile user interface that enables the marketing user to specify site visitor attributes and rules of a visitor profile template to be applied to visitor data. Generally, any collection of one or more attributes and/or one or more rules may be part of a visitor profile definition or template. A user need not define a specific visitor template explicitly, but may rather do so implicitly by defining one or more attributes and/or one or more rules. Thus, for convenience, the remainder of this specification frequently describes the definition of attributes and/or rules without specifically referring to the creation of visitor profile definitions or templates. It should be understood that any reference to attribute or rule creation/editing features can be considered to refer to creation or editing of visitor profile templates.
  • At block 406 of FIG. 4A, the configuration module 242 can receive marketing user configurations of site visitor attributes and/or rules and store customized attributes and/or rules for later analysis and dynamic reporting at block 408.
  • Turning to FIG. 4B, an embodiment of a visitor data analysis process 420 is shown that can be implemented, for example, by the visitor data aggregator 246. The visitor data aggregator 246 can capture data associated with the visitors of a content site at block 422 and transform this visitor data according to configuration rules 424. The configuration rules may have been specified by an marketing user using the process 400 or the like described above. The visitor data analysis process 420 via the visitor data aggregator 246 can save the transformed visitor data in visitor profiles created for each unique visitor at block 426. At block 428, a visitor segment report can be provided based on the visitor attributes and this block 428 may be implemented or performed by the reporting module 248.
  • A more detailed view of a segment reporting process 440 is shown in FIG. 4C. In the example process 440, the reporting module 248 can output a reporting user interface for presentation to an marketing user at block 442. The reporting module 248 can receive a user selection of the site visitor attributes for which to generate a report at block 444. At block 446, the reporting module 248 can receive an marketing user query parameters with respect to the selected site visitor attributes and may generate the segment report based on the selected visitor attributes at block 448. The reporting module 248 can output the segment report for presentation to the marketing user at block 450.
  • III. Example Visitor Processing System User Interfaces
  • FIGS. 5 through 24 depict example user interfaces that can be output by the visitor processing system 140 or 240. These user interfaces include features for customizing visitor profile template configurations, analyzing and generating segment reports, integrating visitor data collected by the visitor processing system with external vendor features, and the like. In particular, FIGS. 5 through 20 depict visitor profile configuration user interfaces that can be generated by the visitor profile configuration module 242, FIG. 21 is an example user reporting interface described below, and FIG. 22 is an example integration user interface which is also described below. In addition, FIG. 23 depicts an example data source user interface, and FIG. 24 depicts an example data mapping user interface. Each of these user interfaces are described in greater detail below.
  • Each of the user interfaces shown includes one or more user interface controls that can be selected by an marketing user, for example, using a browser or other application software. Thus, each of the user interfaces shown may be output for presentation by a browser such as the browser 105 or the like or any other application software. The user interface controls shown are merely illustrative examples and can be varied in other embodiments. For instance, buttons, dropdown boxes, select boxes, text boxes, check boxes, slider controls, and other user interface controls shown may be substituted with other types of user interface controls that provide the same or similar functionality. Further, user interface controls may be combined or divided into other sets of user interface controls such that similar functionality or the same functionality may be provided with very different looking user interfaces. Moreover, each of the user interface controls may be selected by a user using one or more input options, such as a mouse, touch screen input, or keyboard input, among other user interface input options.
  • Turning to the visitor profile configuration user interfaces of FIGS. 5 through 20, a visitor profile configuration user interface 500 in FIG. 5 is shown. The user interface 500 includes features for constructing visitor profile templates, discovering data with respect to visitor profiles created from visitor data by generating reports and features for obtaining visitor profiles through API access. The example visitor profile configuration user interfaces can provide functionality for marketing users to specify different types of visitor profile templates to be used in creating visitor profiles from captured visitor data.
  • In FIG. 5, the user interface 500 includes various menu options 510 for accessing features of the visitor profile configuration module 242 and reporting module 248 of the visitor processing system 240. These menu options 510 include a set of tabs 512, 514 and 516 that may be selected by a user. The menu options 510 include a build option 512 which upon selection can output a user interface 600 shown in FIG. 6 (described below) or the like, a discover option 514 which upon selection can output a custom reports interface 2400 shown in FIG. 21 (described below) or the like, and an API sampler option 516 which, upon selection, can output an integration user interface 2200 shown in FIG. 22 (described below) or the like.
  • Using the build option 512, an marketing user can configure visitor profile templates. As described above, a visitor profile template can be made up of one or more attributes (or rules, discussed below) which are defined or customized by a marketing user. Some attributes may be updated each time an event happens, such as a visitor interaction with a content page, while other attributors may be composed of multiple conditions and rely on values of other attributes created by the marketing user. As described above, badges are one example of these attributes. A badge can include an icon or label that may be assigned to a visitor based on different attributes or characteristics of that visitor's interactions with the content page, whether within a single visit or over multiple visits.
  • One example of such a badge is shown in FIG. 5, the badge 530. The badge 530 is shown as merely an example to illustrate one optional configuration of an attribute that may be made by a marketing user. The badge 530 is titled “fan boy” and depicts a square icon with a smiley face superimposed therein. The “fanboy” badge represents the following other attributes of a visitor, including that: the visitor has viewed at least five products on the content site, has purchased at least 90% of the products viewed, and has visited the content site at least three separate times. These attributes may be configured by a marketing user using the various user interfaces shown in FIGS. 6 through 20. Another example of a badge that might be configured by a marketing user is a window shopper badge. For instance, the window shopper might be assigned to a user having the following attributes: the user is visited at least four times to the content site, has never made a purchase, and has never added items to his shopping cart (or has added items to his or her shopping cart but has never purchased any of those items).
  • As another example, a frequent visitor badge might be assigned to a user who has visited a content site a total of at least 20 times and has visited at least two times in the last seven days. As another example, an impulse buyer badge might be assigned to a user who has an average product view per purchase of less than two and a total products purchased is greater than one. Further, still another example of a badge might be a VIP user badge that might be assigned if a user has visited a content site more than two times per week, has a spending total in excess of $1,000, and has tweeted a link or liked an item on the content page on Facebook (or another social networking site). These badges and the criteria that trigger their assignment to visitors are merely examples of a massively customizable number of badges that may be configured by marketing users to represent visitors to the content site based on the attributes of their visiting interactions with the content site.
  • As described above, data about the user visits may be obtained by the tag container and the tag on the tag server and provided to the visitor processing system. The visitor processing system can apply the attributes and rules for transforming those attributes into badges or other types of attributes which will be described in greater detail below. Further, using the reporting user interface 2100 of FIG. 21 or the like, a marketing user can analyze different segments of visitors based on the data collected about those visitors and transformed into specific attributes such as badges.
  • a. Attribute Creation Overview and Example Badge Attribute Creation
  • Turning to FIG. 6, a user interface 600 is shown that may be obtained by a user selecting the build menu option 512 from FIG. 5. In the user interface 600, user interface 600 options for selecting attributes 612 and rule 614 are provided. The attributes 612 can be attributes of visitors or attributes associated with visitor interactions with the content site. The attributes may be as simple as flags indicating whether a user has performed a certain interaction with respect to the content site, such as clicking on a link or purchasing a product. Conversely, the attributes may be as complex as a funnel representing a predefined ordered list of events, such as a payment funnel that occurs through a series of clicks or item selection events made by a user.
  • In the depicted embodiment, the attributes option 612 is selected and a plurality of example attributes 620 are shown organized by title, type, and scope. Some examples of these attributes include a “visit start date” that may be set to determine when a user started visiting a website, a “visit end date” that may be used to determine when a visitor ended his visit, a “visit duration,” “lifetime visit count,” and the like. The attributes 620 shown can be collected for all end users that visit the content site or a subset thereof. Options may be provided in some embodiments for a marketing user to determine which subset of users will be tracked according to the selected attributes.
  • The example types of attributes 620 shown include properties, metrics, dates, flags, sequences, and the like. Other attributes may also be provided, examples of which will be described in greater detail below. The scope of the attributes can relate to the current visit that a visitor is experiencing with respect to the content site. The current visit can be a current browse session, for instance, with respect to the content site. The current visit may begin when the user initially loads a content page from the content site and may end when the user leaves the content page or is otherwise inactive for a period of time (such as 30 minutes or more). Alternatively, the scope can refer to the visitor instead of the current visit and may therefore correspond to lifetime visits to the content page by the visitor. Other scopes are possible, including a configurable time period such as the past 30 days or the like.
  • An add visitor attribute button 630 is also shown in the depicted embodiment. The add visitor attribute button 630 may be selected by a user to add a new visitor attribute to the list of attributes 620. Likewise, any of the attributes 620 may be selected by a marketing user to edit the attribute 620. Upon selection of the visitor attribute button 630, a user interface such as the user interface 700 of FIG. 7 may be output for presentation to the user.
  • In the user interface 700 of FIG. 7, various options for selecting attribute types 710 to create a new attribute are shown. Upon selection of one of the attribute types 710, the user can define specific characteristics associated with the attribute to be used for analysis of data collected with respect to end users. Users whose characteristics in interacting with the content site satisfy characteristics or rules associated with an attribute can be assigned that attribute. In the depicted embodiment, the attribute types that can be selected from include badges, which can include labels or other indicia used to identify segments of users (e.g., frequent visitors); metrics, which can store numerical data such as a return visit count; metric sets, which can store sets or collections of metrics; properties, which can store strings such as the name of a favorite product; property sets, which can store sets of properties; flags, which can store true or false or Boolean values; dates, which can store a date value such as a date when a user last visited the content page; funnels, which can store a predetermined order list of events such as a payment funnel; and sequences, which can store an ordered list of events.
  • For illustrative purposes, creation of an attribute of the badge type is shown in detail with respect to FIGS. 8A through 10. Example user interfaces for customizing other attribute types are described below with respect to FIGS. 11 through 17.
  • Referring to FIG. 8A, if the badge attribute type 710 is selected in FIG. 7, a user interface 800 or the like may be output for presentation to a user. In the user interface 800, various options 802 for configuring a badge attribute are output for presentation to a user. These options 802 include controls 810 for configuring characteristics of a badge, such as the title of the badge. In the depicted example, the title of the badge is “Window Shopper” and may have been entered by a marketing user. The options 802 also include controls 810 for entering any notes that a marketing user may wish to enter to describe the badge.
  • In the depicted embodiment, the scope for badges is the visitor scope, and thus the badge may correspond to lifetime visits by the visitor. However, in other embodiments, the scope can be for a current visit instead of the visitor scope, or for some other time period as described above. The user interface controls 810 also include functionality for specifying further details about the badge itself, such as a text label to be displayed for the badge, an image to be selected for the badge, shape, theme, and colors to be selected for the badge, and the like. Thus, a marketing user can define any characteristic to be associated with a badge to distinguish the badge from other badges and to provide customization of the look and feel of the badge.
  • In addition, a created transformation button 820 is also provided that can be selected by a marketing user to add a transformation for the badge. The transformation can include one or more conditions or rules that transform incoming visitor data collected by the visitor data collector 244 into data that represents the attribute shown. In particular, in the depicted embodiment, the rules can transform visitor data into an indication of whether a visitor should be assigned the “Window Shopper” badge. The transformations may be performed by the visitor data aggregator 246 of FIG. 2, which can aggregate the data and transform the data into a useable format according to the one or more conditions or rules specified in the transformation. By selecting a finish button 830, the badge attribute can be created.
  • If the created transformation button 820 is selected, a popup box (not shown) can provide options for either assigning a badge based on a set of conditions or removing a badge from visitors when those conditions no longer apply. Other conditions for assigning the badge to the visitor can include when the visitor is a new visitor or when it is a new visit or upon any page event or the like.
  • If a user selects to assign a badge from the popup box, a user interface such as user interface 850 of FIG. 8B can be displayed. In the user interface 850 of FIG. 8B, an example transformation 830 is shown. The example transformation 830 includes an example condition 932 that assigns this badge to a visitor when a visit has ended. Additional rules may be specified for triggering the assignment of this badge by selecting an “attach a rule” button 834. Upon selection of the attach rule button 834, a list of rules 836 can be displayed, from which a user can select to attach to the transformation. Some example rules are shown in the list of rules 836, including “visit is direct,” “visit is referred,” and so forth. Other rules may be selected by scrolling down through the list 836. These rules may be created by accessing the rules option 614 of FIG. 6, for example, as described in greater detail with respect to FIG. 18A below.
  • Rules can also be created by selecting an “add a new rule” button 838. Selection of this button 838 can cause a user interface 900 shown FIG. 9 to be displayed. (A similar interface can be selected from FIG. 6 to create a new rule; see FIGS. 18A and 18B) In the user interface 900 of FIG. 9, a new rule creation box is shown that includes options for creating a new rule, including a text box 910 for titling the rule. In this particular embodiment for the window shopper badge, a user has created a title “Did not purchase this” for this rule. One or more conditions 920 can be selected for the rule. The condition 920 shown is an “if” condition and includes subconditions 922, 924, 926, and 927. The subconditions include a dropdown box 922 for selecting an attribute (see also FIG. 18B). Any attribute available in the attribute list 620 of FIG. 6 can be selected or a new attribute can be created (see FIG. 18B). A dropdown box 924 includes options for comparing the attribute selected in the box 922 with some value selected from box 926. The value selected in box 926 can be an attribute, such as a metric, or some custom value that can be specified in box 927. Controls 928 are provided for adding (or removing) additional conditions to the “if” statement. An “add or condition” button 929 may also be selected to add a Boolean “OR” condition to the rule.
  • Referring to FIG. 10, a user interface 1000 is shown in which an example rule has been attached to the transformation 830 for the “Window Shopper” badge of FIG. 8B. The rule 1033 is entitled “visitor did not purchase.” This rule is triggered if the data object “cart_value” is greater than zero. This rule may have been created using the user interface 900 of FIG. 9 to specify that the data object “cart_value,” selected from the dropdown box 922, is greater than (box 924) a custom value (box 926) of zero (text entered into box 927).
  • Thus, in certain embodiments, the badge window shopper created in FIGS. 8 through 10 can be assigned to a visitor when a visit has ended and if the visitor did not purchase as specified by the rule 1033. Of course, additional rules may also be attached to any badge attribute to create a more complex set of conditions or rules that would trigger the badge being assigned to a visitor. Likewise, similar sets of one or more rules or conditions can be attached to a badge attribute to remove or deassign a badge from a visitor.
  • a. Example Attribute Creation—Other Attributes
  • FIGS. 11 through 17 illustrate example user interfaces for creating other types of attributes. Referring specifically to FIG. 11, an example user interface 1100 is shown for configuring a metric attribute. As described above, metric attributes can store numerical data about a user visit or collection of visits. In addition, metrics can perform operations on numerical data to produce new metric values, for instance by performing transformations, much like the transformations that were discussed above with respect to the badge attribute. The user interface controls for configuring the metric attribute are similar to the user interface controls for configuring the badge attribute in some respects including, for example, controls 1110 for creating a title and entering optional notes about the metric attribute. In addition, a scope selector 1112 allows the scope to be identified for this metric attribute as being either associated with the visitor (e.g., over a collection of the visitor's visits) or for the current visit that the visitor has with the content site. Attributes created with the “current visit” scope can be triggered within each individual visit, as opposed to over several visits in some embodiments.
  • A “create a transformation button” 1120 may be selected by the user to create transformations. Upon selection of this button 1120, a select box 1130 is shown giving options for creating different types of transformations to associate with this metric attribute. These types can include an increment or decrement metric that increments or decrements a metric based on a set of conditions. For instance, a visit count can be a metric that uses the increment transformation such that each time an end user visits a content site, this metric is incremented by one to produce a total visit count over the lifetime of the visitor. Other metric creation options in the select box 1130 include a set ratio metric or transformation that can set the quotient of two metrics as a new ratio metric; a set product transformation that can set the product of two metrics as a new metric; a set difference transformation that can set the difference of two metrics as a new metric; a set sum transformation that can set the sum of two metrics as a new metric; set metric transformation that can set the metric to a specific number; and a set difference between two dates transformation that can set the difference between two dates as a new metric. These transformations are examples and may be further combined, for example, by creating both a product and a sum, or both a quotient and a difference, or any number of different operations to create a single metric from a plurality of data inputs related to visitor data.
  • Although not shown, a similar user interface could be used to define a metric set. Metric sets can include a set of metrics that is dynamic in nature, in contrast to metrics, which may be static in nature. An example of a static metric is “time on site,” which can represent the amount of time a user spent in a browse session on a content site. A metric set can grow over time with name-value pairs that represent changing metrics with respect to user visit behavior. For example, a metric sent might include an array of times to be collected, such as “time-spent[“football”]=120 minutes, time-spent[“baseball”]=60 minutes,” etc. The values in a metric set may be determined at runtime, rather than during configuration, although the opposite may be true in some embodiments.
  • For instance, as shown in FIG. 12, an example user interface 1200 depicts a transformation 1230 selected from the create a transformation button 1120 to set a ratio. In the depicted embodiment, the options 1230 enable a metric to be set to a first attribute value 1232 selected from a dropdown box divided by a second attribute value 1234 selected from a dropdown box, when a certain triggering event occurs selected from a dropdown box 1236 (such as when the visitor is a new visitor or when the visit ends, etc.). Likewise, a rule 1238 can be attached to the metric to apply further processing or configuration to the metric. Rule creation using the attach a rule button 1238 can be similar to rule creation described above and below with respect to FIGS. 18A through 20.
  • FIG. 13 depicts an example user interface 1300 for configuring a property attribute. The user interface 1300 is similar to the other user interfaces described above for creating or configuring attributes. For example, the user interface 1300 includes options 1310 for adding a title and optional notes to associate with the property attribute as well as scope buttons 1312 to determine the scope of this attribute. Upon selection of a creative transformation button 1320, transformations 1330 are shown. One or more transformations can be created for this attribute similar to the other attributes described above. The transformation 1330 provides options to set a property to a custom value or another value defined elsewhere in the visitor processing system. For instance, data sources can be specified that are provided in the content site's content pages (see, e.g., FIG. 23). These data sources can include, e.g., a user name of the visitor, page name, cart value for an electronic shopping cart value, or any other piece of data which the content page wishes to define and track. The property attribute can be set to this particular value specified by a data source or any other attribute via the transformation 1330. As a result, the property attribute can be stored and also operated upon by other attributes or rules. As an example, a “cart_value” property attribute can be checked by a rule in a “Window Shopper” badge attribute to determine whether a user ever purchases items or is merely just looking. Likewise, properties may be used to filter segments or otherwise arrange results in a reporting user interface (see, e.g., FIG. 21).
  • Although not shown, property sets can be configured similarly. The attribute of a property set can contain more than one assigned string property value. If a property (not a property set) called “category” is set to “football” (e.g., representing a football-related link selected by a user) and is then set again to “baseball” (e.g., representing a similar link), the result may change from “category=football” to “category=baseball.” Each of these properties is a string. In contrast, as property set called “category” can be first set to “football,” with the result that “category=[football],” and can then be set to “baseball,” with the result that the string “baseball” is appended to the property set such that “category=[football, baseball].” Property sets can be used to detect correlations in visitor data, such as whether a visitor selected links related to both football and baseball within a visit (or multiple visits) to a content page.
  • In FIG. 14, another example user interface 1400 is shown, which can be used to configure a flag attribute. The user interface 1400 also includes options 1410 for assigning a title and optional notes to the attribute as well as a scope button set 1412 to define the scope of the attribute. A create a transformation button 1420 is also shown, which can allow one or more transformations to be created. An example transformation 1430 shown can allow the flag to be set to a Boolean value such as true or false when a triggering condition or conditions occur, as defined by the dropdown box 1434, and optionally when one or more rules are satisfied as may be defined by attaching a rule 1436. In a simple example, the flag attribute may be a new visitor attribute and may be assigned when the condition of a new visitor being detected occurs. In another example, the flag attribute may be titled “added item to cart” and may be triggered when the condition of a visitor adding an item to a shopping cart has occurred. This condition may be detected by a rule that detects when their cart value associated with the visitor is greater than zero.
  • Turning to FIG. 15, an example user interface 1500 is shown for configuring a date attribute. Options 510 are provided for specifying the title of the attribute and optional notes are shown as well as scope buttons 1512 for selecting the scope of the attribute. A creative a transformation button 1520 is shown, which upon selection, enables the user to select from an options popup box 1522 to either “capture the date” to set the date to the current time stamp or to “set a date” based on a set of conditions. In the “capture the date” transformation shown as example transformation 1530, the date attribute can capture the date and time when one or more following conditions are met specified by condition 1532, such as during a visit. A rule may also be attached using button 1534. Thus, the date and time may be captured, for instance, when a user adds an item to a shopping cart or clicks a certain link taking the user to a certain page, etc.
  • In FIG. 16, an example user interface 1600 is shown for configuring a funnel attribute. Option 1610 for assigning the title and notes are supplied in the depicted embodiment. Scope variables are not provided as the funnel attribute can be determined for a single visit. Alternatively, funnels can be determined from multiple visits. Create a step button 1620 is provided similar to the creative transformation buttons described above. A funnel may include a series of steps including one or more steps that, once satisfied, indicate that the attribute has occurred for a particular visitor. For instance, a funnel attribute can represent a series of steps taken by a visitor prior to (and optionally including) a purchase. Such a purchase funnel can be indicative of how close visitors come to purchasing items; visitors who make it further into the funnel come closer to purchasing, and vice versa.
  • One example step 1630 is shown to update the funnel, including options 1632 through 1638 for defining when the step has occurred. For instance, a text box 1632 is provided for specifying a title of the step, and a select box 1634 and attribute button 1636 are provided for adding attributes to capture related to the funnel. A condition box 1638 is provided for determining when this step is considered to have occurred. Further, a rule may be attached by selecting a rule button 1640.
  • In certain embodiments, funnels can provide for the configuration of an expected flow that has a known (or anticipated) start and end. For example, a shopping experience on an electronic commerce website can be modeled as a funnel attribute, with step 1 being viewing a product (e.g., any number of times), step 2 being adding the item to a cart, step 3 being to proceed to checkout, step 4 being filling out shipping information, step 5 including filling out billing information, and step 6 including confirming the order. The funnel attribute can allow the visitor to be traced through the funnel, providing a resulting report of where visitors fall out of the funnel (e.g., by stopping at a certain step in the funnel). This report may be useful to marketing users who wish to determine the conversion rate of end users, among other useful data.
  • Funnel attributes may be time-ordered, such that in order for a funnel to be associated with a visitor, the visitor must follow the steps of the funnel in order. Other configurations that are not based on time-ordering are possible. Data may be captured at each step of the funnel or at the end of the funnel. For instance, it may be useful to inspect the value of a shopping cart that a user abandoned midway into a purchase funnel. Other funnel attribute features can include the ability to make a step optional, meaning it can be skipped. In the example above, shipping is often skipped because the billing info often provides all the info needed for shipping.
  • Purchase funnels are merely one example use of funnel attributes. Other example uses for funnels include campaigns, flight check-ins, email sign-ups, or any other sequence of steps that use an online tool on the content site.
  • Referring to FIG. 17, an example user interface 1700 is shown for configuring a sequence attribute. The user interface 1700 includes option 1710 for specifying a title and optional notes and a scope button 1712 for selecting the scope. In addition, the user interface 1700 includes a button 1720 for creating an entry, which can be similar to the create transformation buttons described above. One or more entries may be created to update a sequence. An example entry 1730 is shown that records an event for the sequence. The entry 1730 can capture attribute data specified using a select box 1732 and add/or attribute button 1734 upon a condition occurring as specified by the dropdown box 1736. Optionally, a rule may also be attached 1738.
  • In contrast to funnel attributes, which may have a defined end-goal (such as a purchase), sequences can log or track more general data points, such as click actions or link selection actions of an end user. Sequences can provide a mechanism for logging significant visitor events as a historical trace, without the need to store all the data between the events. For example, an end user's purchase history with respect to an electronic commerce site can be represented by a sequence attribute. The purchase history sequence can include a list of the user's purchases but may not include, for example, each of the user links selected between purchases. Another example of a sequence can be a search keyword history that resulted in a user finding a content page. Yet another example can include a list of movies watched (e.g., in a Netflix™ queue), and the like. Events in a sequence may be associated with a timestamp so that later analysis of the sequence can compare timestamps of the events.
  • a. Additional Rule Creation Features
  • FIG. 18A shows another view of the example user interface 600 of FIG. 6. In particular, the user interface 1800 shows that the rules option 614 of FIG. 6 is selected. A set of rules 1804 is shown, which may have been created by the user or provided by the vendor of the visitor processing system. Each of the rules 1804 may be selected for customization by a marketing user. A new rule may also be created by selecting the add rule button 1806. Various features for creating rules have been described above.
  • In addition, selecting the add rule button 1806 can show a user interface, such as an example user interface 1850 shown in FIG. 18B. The user interface 1850 provides options 1810 for titling and annotating a rule as well as conditions 1830 to specify for the rule. Selection of these conditions can include dropdown boxes 1832, 1834, and 1836 for specifying subconditions associated with the condition. An example list of attributes 1833 is shown, from which visitor attributes may be selected, data sources may be selected, or the like. Mathematical operators may be selected via the dropdown box 1834 to compare the attribute with a custom value as specified in the dropdown box 1836 or text box 1838. For example, an attribute may be selected from the dropdown box 1832 and compared with a metric or property that is defined elsewhere in the set of attributes described above. Select boxes 1840 can be used to add or take away conditions. An “add or condition” button 1842 can be selected to add one or more additional Boolean “OR” conditions.
  • FIG. 19 shows an example user interface 1900 similar to that of FIG. 18B, depicting the custom value dropdown box 1836 selected to show various custom values 1837 that could be specified when creating a rule. In FIG. 20, an example user interface 2000 shows how attributes can be added from within the rule creation process with various attributes types 2010 being selectable. The user interface 2000 may be output for presentation to a user upon selection of an add visitor attribute button 1839 in FIG. 19 and may have similar functionality to the attribution creation user interfaces described above.
  • a. Example Report Generation Features
  • Turning to FIG. 21, an example reporting user interface is shown. In the example reporting user interface 2100, options are shown for filtering the various attributes that have been defined for visitors to produce a set of results 2140 that illustrate aggregations or segments of visitor profile data. The filters include metrics filters 2112 that enable a marketing user to select different metrics associated with visitors as well as flag filters 2114 and badge filters 2116. Other filters may also be included in other embodiments.
  • A user may select one or more of the metrics filters 2112 to adjust metrics associated with different users to be output in the reporting section 2140. In the depicted embodiment, these metrics include products purchased, orders placed, total visits, language, total purchase count, total purchase amount, and time of sale. These metrics may have been defined using the interfaces described above. Different slider selection tools 2111, 2113, and 2115 allow users to adjust the values of metrics data to be displayed. For instance, the slider 2111 depicts values for a total purchase count that may be selected. In this depicted embodiment, the user selected a total purchase count between 10 and 30 to thereby view a segment of visitors that purchased between 10 and 30 items. Likewise, the slider 2113 has been used to select a total purchase amount between values of 30,000 and 60,000. The slider 2115 shows the metric “time of sale” being selected between 10:00 a.m. and 5:00 p.m.
  • Within the flag filters 2114, various flags are shown such as “has made purchase,” “emailed link,” “retweeted link,” and “returning visitor,” as well as a number of times that those flags have occurred indicated by amount 2119. Check boxes 2117 next to the flags are provided for selectively selecting the flags to filter the output of the reporting area 2140. Similarly, check boxes 2117 are next to different badges in the badge filters 2116. Different badges are shown such as “VIP,” “window shopper,” “fan boy,” and the like, next to amounts 2119 of visitors that have earned these badges or been assigned these badges. Any combination of the badges may be selected with the check boxes 2117 to filter the output of the reporting display 2140.
  • The output of the reporting display 2140 can also be adjusted by selecting the different perspective to show the reporting data from using a drop down box 2120 that shows (in this embodiment) that the perspective is from the point of view of flags. Thus, different bars 2141 in the reporting display 2140 reflect value amounts 2119 that different flags represent, such as “has made purchase,” “emailed link,” etc. A query is shown at the top represented by controls 2136 that represents the selections of the filters 2110 to filter the different flags. Each of the subaspects of the query can be deselected by clicking on X buttons 2137. In addition, selection of a particular bar of the bar graph 2142 can show snapshots 2150 of the metrics. The example reporting interface 2100 is illustrative only and may be varied considerably in other embodiments.
  • a. Example API Data Integration Features
  • Turning to FIG. 22, an example user interface 2200 is shown for integrating raw data output by the visitor processing system with third party vendor data or systems. The integration user interface 2200 can provide functionality for building a sample query using controls 2210 to query their live feed or other date ranges for data. Additional API access can be provided for developers of third party vendors to access the raw visitor data collected by the visitor processing system and processed using the transformations and rules described above.
  • The raw data may be used for more than just reporting, either by the visitor processing system itself or these third party vendors. For instance, the data output by the visitor processing system can be used for generating ads or ad campaigns, email campaigns, personalization including ads or recommendations or the like. For instance, in one embodiment the visitor processing system outputs a periodic feed (for example daily, monthly, weekly, hourly) of data from the visitor processing system to external vendors so that the vendors can use this data to update information about visitors. The data in the feed can be used to perform business intelligence, aggregate the data for long-term trends and trend analysis, and the like.
  • In yet another embodiment, the raw data or processed data output by the visitor processing system can be used to update the content site itself by personalizing the content of the content site based on the visitors and their attributes. For instance, a marketing user may create a “chatter” badge that is assigned to visitors who are influenced by chat because they tend to purchase items when they are using a chat function on the content site. If such a visitor comes to the content site, the content site can programmatically personalize itself to show a chat window more prominently for that particular visitor. As another example, if a visitor is assigned a VIP badge, the content site may not show ads to the user. If the user is a regular buyer, the content site may give a 10% discount offer to that user. As yet another example, if a badge “early adopter” is assigned to a visitor, the content site may show the latest electronic gadgets to the user or prioritize those gadgets in a display to a user over other gadgets or products.
  • a. Example Data Source Specification and Mapping Features
  • Referring to FIG. 23, an example data source user interface 2300 is shown. As described above, data sources may be accessed when creating attributes and/or rules to access data that is part of the content page or that is associated with the browser or end user system itself. These data sources may be specified by a marketing user associated with the content site so that the visitor processing system can be aware of these data sources and know to collect their data. For instance, if the content site is an electronic shopping site and has a shopping cart, and if one of its content pages has a “cart value” data source, the marketing user can use this user interface 2300 to specify that the cart value data source is available and should be obtained for analysis in the visitor data.
  • A button 2302 is provided for adding a data source. Upon selection of this button, a row can be added to the user interface 2300. Data inserted in the new row can be saved in computer storage, such as in a database. The row can include a text box 2310 for specifying the name of the data source, select boxes 2320 for specifying the type of the data source, and a description box 2334 providing a written description of the data source. The name 2310 in the text box 2310 can be the name of the data source used by the content site. Specifying this name can enable the visitor processing system to be aware of which variable or data source to look for when obtaining data using the tag container 114 and/or tag 118 (see FIG. 1).
  • The type of the data source identified in the dropdown box 2310 can be a data object that is associated with the page itself, it may be a Javascript page variable or other script value associated with the page, a meta tag associated with the page, a query string parameter associated with an HTTP PUT or GET statement, or a cookie value that is associated with the end user system or browser. Other options are also possible. Thus, if the data sources are specified in the user interface 2300, the visitor processing system can obtain data from the specified data sources using an appropriate tag 118.
  • As shown in FIG. 24, a user interface 2400 for mapping the data sources can be used for some tags. The user interface 2400 shows example tags added to the tag server(s) 120 from third party vendors. In the depicted embodiment, these tags include a live person tag and a Google™ Analytics tag. Configuration details 2702 for the Google™ Analytics tag are provided and mapped data sources 2710 are also shown. The mapped data source functionality can be provided to enable a user to map the data sources defined in the user interface 2300 to a data source in the tag vendor's tag. However, in certain embodiments, such mapping is not performed by the visitor processing system for the visitor attributes and rules described above. Rather, the mapping may not be needed because the visitor processing system can collect all the data sources specified by the marketing user and can make these available in the attributes and rules configuration displays without further mapping required. Mapping may instead be used with such visitor rules and attributes in other embodiments.
  • a. Detailed Example Computing Environments
  • Turning to FIG. 25, a more detailed example embodiment of a computing environment 2500 is shown that can perform any of the tag management features described herein. The computing environment 2500 is a more detailed example of implementation of the computing environment 100 of FIG. 1. As in FIG. 1, end user systems 102 are shown in communication with content sites 110 which may communicate over a network (not shown). In addition, marketing user systems 104 are also shown. The computing environment 2500 facilitates implementation of a tag management system 2540, which may include the functionality of the visitor processing systems described above. Alternatively, the functionality of the visitor processing systems may be implemented in place of the tag management system 2540 in FIG. 25, without using some or all of the features of the tag management systems described herein.
  • In the depicted embodiment, the tag management system 2540 is shown distributed in a cloud platform that provides redundant and geographically dispersed access to the tag management system 2540. In particular, the tag management system 2540 is implemented in various cloud regions 2572. These cloud regions may be implemented in any type of cloud platform, which may simply be a data center operated by a vendor of the tag management system or by a third party vendor such as Amazon Web Services™, Microsoft Azure™, Rackspace™ Linode™, combinations of the same, or the like. Each cloud region 2572 includes a load balancer 2576 that can balance requests to tag management system instances 2540.
  • The tag management system instances 2540 can be implemented as virtual machines and/or physical machines. In the Amazon Web Services embodiment, the instances 2540 can be elastic compute cloud (EC2) instances that are distributed geographically for faster and redundant access to geographically dispersed analysis user systems 104. In addition, visitor profile data storage devices 2530 are shown in the different cloud regions 2572 and can store tag and visitor data in the cloud. Virtual private network (VPN) tunnels 2580 facilitate secure communication in a virtual private network among the different cloud regions 2572 and enable administrator users (not shown) of the tag management system to access tag management system instances 2540.
  • In an embodiment, the virtual private network is facilitated or provided by a private cloud service, such as the Virtual Private Cloud (VPC) service provided by Amazon Web Services™. The private cloud service can provide security to the tag management system instances 2540 by virtue of obscuring IP addresses of the tag management instances 2540. The tag management system instances 2540 may have nonpublic IP addresses so that each tag management system instance 2540 does not need to have security software that is responsible for securing the tag management system 2540 itself.
  • A geodns provider 2560 is provided for interfacing between content sites 110, analysis user systems 104, and the various tag management system instances 2540. The geodns provider 2560 also provides access to published tags 2590 which are stored in tag servers 2594 accessible through one or more or content delivery networks (CDNs) 2592. The function of the geodns provider 2560 in one embodiment is to periodically determine which CDN hosting the tags has the lowest latency, thereby selecting which CDN to point the content site 110 to when accessing tags on the tag servers 2594. The geodns provider 2560 may implement the DYN DNS system in one embodiment.
  • Advantageously, in certain embodiments, by storing tags in CDNs, tag access can be much faster than if tags were stored in locally hosted tag servers. Further, by using a geodns provider 2560, access to tags can be even more rapidly achieved by cycling through the fastest available CDNs 2592.
  • Turning to FIG. 26, another embodiment of a visitor processing system 2600 is shown. The visitor processing system 2600 can include any of the features of the visitor processing systems 140, 240 described above. For instance, the visitor processing system 2600 can generate any of the user interfaces described above. Likewise, any of these visitor processing systems 140, 240 can implement any of the features of the visitor processing system 2600. The visitor processing system 2600 represents an example detailed implementation of tag management for visitor profile creation.
  • In the depicted embodiment, the visitor processing system 2600 includes a visit event collector 2610, a message queue 2620, a message router 2630, a visitor processor 2640, and a query aggregator 2650. In addition, the visitor processing system 2600 includes a visitor profile data repository 2670 and a REST server 2660. The visit event collector 2610 can include any of the features of the visitor data collector 244 of FIG. 3 or a portion thereof. Likewise, the visitor processor 2640 and query aggregator 2650 can implement the functionality of the visitor data aggregator 246 of FIG. 3 or a portion thereof. Further, the REST server 2660 can implement the functionality of the reporting module 248 of FIG. 3 or a portion thereof. Moreover, the visitor profile data store 2670 can store any of the data stored by the data store 270 of FIG. 3. In addition, the components shown in FIG. 26 can include additional functionality.
  • Each of the components shown can be implemented in computer hardware and/or software. In one embodiment, the components shown are implemented as software instances running in hardware. Some or all of the components may be implemented with multiple instances, which may be geographically co-located or geographically dispersed. Arrows between the components shown in FIG. 26 represent example flow of data and/or messages between the components, for example, over a network or via interprocess communication on the same computing device (e.g., a server). Although some possible communication paths between the components are indicated by these arrows, other communication paths between the components are also possible.
  • In the depicted embodiment, the visit event collector 2610 receives visitor event information. This visitor event information may be obtained by a tag container invoking a visitor tag. The tag container can be embedded in a content page of a content site accessed by a visitor, and the tag container can load the visitor tag (e.g., from a separate tag server—see, e.g., FIG. 3). The visitor event information can include any of the visitor profile data or visitor data described above, including data about any end user interaction with the content page(s), data about the end user's system hardware and/or software (such as browser type), and so forth.
  • The visit event collector 2610 can publish a visitor event containing the visitor event information in response to receiving the visitor event information. The visit event collector 2610 provides this visitor event to a message queue 2620 in one embodiment. The message queue 2620 can implement message broker functionality that implements the Advanced Message Queuing Protocol (AMQP) standard. For example, the message queue 2620 can perform asynchronous routing of messages between the various components of the visitor processing system 2600. In one embodiment, the message queue 2620 implements some or all of the features of the RabbitMQ message broker system. However, the message queue 2620 can implement other message brokering systems in other embodiments.
  • The message queue 2620 provides an event message, picked from a queue, to a message router 2630 on a first come, first serve basis. The event message can include the visitor event data published by the visit event collector 2610 to the message queue 2620. In response to receiving the event message, the message router 2630 can route the event message to a sharded queue implemented by the message queue 2620. The sharded queue may be implemented over multiple servers to increase parallelism and processing efficiency.
  • The sharded queue provides sharded event messages (e.g., portions of the event message) to a visitor processor 2640. The visitor processor 2640 can aggregate data from the sharded event messages based on attributes of the data and/or user. For instance, the visitor processor 2640 can perform any of the aggregation functionality of the visitor data aggregator 246 to produce visitor profile data based on attributes and rules, as described above. The visitor processor 2640 can persist visitor profile data in visitor profile storage 2672 of the visitor profile data store 2670, for example, in response to the end user's visit to the content site expiring or ending. The visitor processor 2640 can also include an in-memory set of active visitor profiles 2642 associated with current visitors to the content site (or sites). The visitor processor 2640 can persist the in-memory set of active visitor profiles 2642 to visitor stream query storage 2674 in the visitor data store 2670.
  • In addition, a query aggregator 2650 obtains sharded visitor query results from the message queue 2620 (e.g., in response to a query from a marketing user) and maintains an in-memory set of aggregated visitor profiles 2652. The query aggregator 2650 also persists a near realtime aggregate visitor report in aggregated visitor result storage 2676, which can be accessed as part of a user query.
  • The REST server 2660 can received submitted queries and return query results in response, using HTTP, SOAP, or other representational state transfer (REST) protocols (or another protocol). Upon receiving a query for visitor profile data (see FIG. 21 for a query example), the REST server 2660 can obtain the requested data from the visitor profile data store 2670. In particular, the REST server 2660 can retrieve historical query results from the visitor profile storage 2672, near realtime visitor stream query results from the visitor stream query storage 2674, and near realtime aggregate visitor query results from the aggregated visitor result storage 2676.
  • In an embodiment, the query can be streamed or reported. Streamed queries can include queries for the raw visitor profiles themselves, so that further processing can be done (for example) by a marketing user system. Reported queries can request reports based on visitor profiles, such as the example report shown in FIG. 21. Historical queries are also possible, showing reports for a set of visitors at a previous point in time (such as a day ago, or a week, month, or year ago) as opposed to live, real time or near-real time (which can be the default query option). A marketing user may wish to compare historical results from a year ago with current results (or with other historical results).
  • IV. Terminology
  • Many other variations than those described herein will be apparent from this disclosure. For example, depending on the embodiment, certain acts, events, or functions of any of the algorithms described herein can be performed in a different sequence, can be added, merged, or left out altogether (e.g., not all described acts or events are necessary for the practice of the algorithms). Moreover, in certain embodiments, acts or events can be performed concurrently, e.g., through multi-threaded processing, interrupt processing, or multiple processors or processor cores or on other parallel architectures, rather than sequentially. In addition, different tasks or processes can be performed by different machines and/or computing systems that can function together.
  • The various illustrative logical blocks, modules, and algorithm steps described in connection with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. The described functionality can be implemented in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosure.
  • The various illustrative logical blocks and modules described in connection with the embodiments disclosed herein can be implemented or performed by a machine, such as a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor can be a microprocessor, but in the alternative, the processor can be a controller, microcontroller, or state machine, combinations of the same, or the like. A processor can include electrical circuitry configured to process computer-executable instructions. In another embodiment, a processor includes an FPGA or other programmable device that performs logic operations without processing computer-executable instructions. A processor can also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. A computing environment can include any type of computer system, including, but not limited to, a computer system based on a microprocessor, a mainframe computer, a digital signal processor, a portable computing device, a device controller, or a computational engine within an appliance, to name a few.
  • The steps of a method, process, or algorithm described in connection with the embodiments disclosed herein can be embodied directly in hardware, in a software module stored in one or more memory devices and executed by one or more processors, or in a combination of the two. A software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of non-transitory computer-readable storage medium, media, or physical computer storage known in the art. An example storage medium can be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium can be integral to the processor. The storage medium can be volatile or nonvolatile. The processor and the storage medium can reside in an ASIC.
  • Conditional language used herein, such as, among others, “can,” “might,” “may,” “e.g.,” and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or states. Thus, such conditional language is not generally intended to imply that features, elements and/or states are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without author input or prompting, whether these features, elements and/or states are included or are to be performed in any particular embodiment. The terms “comprising,” “including,” “having,” and the like are synonymous and are used inclusively, in an open-ended fashion, and do not exclude additional elements, features, acts, operations, and so forth. Also, the term “or” is used in its inclusive sense (and not in its exclusive sense) so that when used, for example, to connect a list of elements, the term “or” means one, some, or all of the elements in the list. Further, the term “each,” as used herein, in addition to having its ordinary meaning, can mean any subset of a set of elements to which the term “each” is applied.
  • Disjunctive language such as the phrase “at least one of X, Y and Z,” unless specifically stated otherwise, is to be understood with the context as used in general to convey that an item, term, etc. may be either X, Y, or Z, or a combination thereof. Thus, such conjunctive language is not generally intended to imply that certain embodiments require at least one of X, at least one of Y and at least one of Z to each be present.
  • Unless otherwise explicitly stated, articles such as “a” or “an” should generally be interpreted to include one or more described items. Accordingly, phrases such as “a device configured to” are intended to include one or more recited devices. Such one or more recited devices can also be collectively configured to carry out the stated recitations. For example, “a processor configured to carry out recitations A, B and C” can include a first processor configured to carry out recitation A working in conjunction with a second processor configured to carry out recitations B and C.
  • While the above detailed description has shown, described, and pointed out novel features as applied to various embodiments, it will be understood that various omissions, substitutions, and changes in the form and details of the devices or algorithms illustrated can be made without departing from the spirit of the disclosure. As will be recognized, certain embodiments of the inventions described herein can be embodied within a form that does not provide all of the features and benefits set forth herein, as some features can be used or practiced separately from others.

Claims (20)

1. A system for enabling marketing users to customize visitor profile data processing criteria associated with visits to a content site, the system comprising:
a visitor profile configuration module comprising computer hardware, the visitor profile configuration module configured to:
output a visitor profile configuration user interface for presentation to a marketing user associated with a content site, the visitor profile configuration user interface comprising functionality for defining visitor templates for profiling visitors of the content site, other than the marketing user, with custom badges, and
receive a custom visitor template defined with the visitor profile configuration user interface, the custom visitor template defining a selected custom badge assignable to those of the visitors who satisfy a plurality of characteristics related to visiting the content site, the plurality of characteristics relating to interactions of the visitors with the content site over a plurality of visits to the content site;
a visitor data collector configured to receive visitor data associated with end users who are the visitors of the content site, the visitor data obtained from a data collection tag embedded within code of one or more content pages of the content site, the data collection tag configured to identify the interactions of the visitors with the content site and report the identified interactions as at least part of the visitor data to the visitor data collector;
a visitor data aggregator configured to match the collected visitor data to the visitor template to assign the selected custom badge to a subset of the visitors;
a reporting module configured to electronically generate a user interface configured to provide a visitor segment report to the marketing user instead of to the end users, the visitor segment report comprising badge filters that are user-selectable to filter the visitor segment report based on the custom badges assigned to the visitors, including the subset of visitors assigned the selected custom badge.
2. The system of claim 1, wherein the visitor profile configuration user interface is further configured to provide functionality to create custom attributes in addition to the custom badges, the custom attributes to be associated with visitors who satisfy one or more of custom visitor configuration rules.
3. The system of claim 2, wherein the visitor data aggregator is further configured to transform the collected visitor data by at least assigning one or more of the custom attributes to a visitor that satisfies one or more of the custom visitor configuration rules.
4. The system of claim 2, wherein each of the custom attributes have a type selected from the following group of attribute types: a metric, a property, a flag, a date, a funnel, and a sequence.
5. The system of claim 2, wherein the visitor segment report is further configured to segment the visitors of the content site according to the custom attributes.
6. (canceled)
7. The system of claim 1, wherein the visitor profile configuration module is further configured to provide functionality for a user to specify data sources associated with the content site for which to gather the visitor data using the data collection tag.
8. Non-transitory physical computer storage comprising computer-executable instructions stored thereon that, when executed by one or more processors, are configured to implement a system for enabling marketing users to customize visitor profile data processing criteria associated with visits to a content site, the system comprising:
a visitor profile configuration module configured to:
output a visitor profile configuration user interface for presentation to a marketing user associated with a content site, the visitor profile configuration user interface comprising functionality for defining visitor configuration rules for profiling visitors of the content site with custom badges, the visitors being end users other than the marketing user, and
receive custom visitor configuration rules defined with the visitor profile configuration user interface, the custom visitor configuration rules defining a selected custom badge assignable to those of the visitors who satisfy a plurality of characteristics related to visiting the content site over a plurality of visits to the content site;
a visitor data collector configured to receive visitor data associated with the visitors of the content site, the visitor data obtained from a data collection tag embedded within code of one or more content pages of the content site, the data collection tag configured to identify the interactions of the visitors with the content site and report the identified interactions as at least part of the visitor data to the visitor data collector;
a visitor data aggregator configured to transform the collected visitor data according to the custom visitor configuration rules to assign the selected custom badge to a subset of the visitors; and
a reporting module configured to electronically generate a user interface configured to provide a visitor segment report to the marketing user instead of to the end users, the visitor segment report comprising badge filters that are user-selectable to filter the visitor segment report based on the custom badges assigned to the visitors, including on the subset of visitors assigned the selected custom badge.
9. The non-transitory physical computer storage of claim 8, wherein the visitor profile configuration user interface is further configured to provide functionality to create custom attributes in addition to the custom badges, the custom attributes to be associated with visitors who satisfy one or more of the custom visitor configuration rules.
10. The non-transitory physical computer storage of claim 9, wherein the visitor data aggregator is further configured to transform the collected visitor data by at least assigning one or more of the custom attributes to a visitor that satisfies one or more of the custom visitor configuration rules.
11. The non-transitory physical computer storage of claim 9, wherein each of the custom attributes have a type selected from the following group of attribute types: a metric, a property, a flag, a date, a funnel, and a sequence.
12. The non-transitory physical computer storage of claim 8, wherein the visitor segment report is further configured to segment the visitors of the content site according to the custom attributes.
13. A method of enabling marketing users to customize visitor profile data processing criteria associated with visits to a content site, the method comprising:
electronically generating a visitor profile configuration user interface for presentation to a marketing user associated with a content site, the visitor profile configuration user interface comprising functionality for defining visitor configuration attributes and rules for profiling visitors of the content site, the visitors being end users of the content site;
receiving one or more custom visitor configuration attributes and one or more associated rules defined with the visitor profile configuration user interface, the one or more custom visitor configuration attributes and the one or more associated rules constituting a badge attribute assignable to those of the visitors who satisfy the one or more custom visitor configuration attributes and the one or more associated rules over a plurality of visits to the content site;
accessing visitor data associated with end users who are visitors of the content site from a data collection tag embedded within code of one or more content pages of the content site;
transforming the collected visitor data according to the one or more custom visitor configuration attributes and the one or more rules to produce transformed visitor data;
storing the transformed visitor data in visitor profiles associated with the end users who are visitors to the content site; and
electronically generating a user interface comprising a visitor segment report in substantially real time based on the transformed visitor data to the marketing user, the visitor segment report comprising badge filters that are user-selectable to filter the visitor segment report based on the custom badges assigned to the visitors, including a subset of the visitors assigned the badge attribute;
wherein at least said transforming is performed in part by a computer system comprising computer hardware.
14. The method of claim 13, wherein said transforming comprises assigning the one or more attributes to one of the visitors who satisfies the one or more custom visitor configuration rules.
15. The method of claim 13, wherein the visitor profile configuration user interface further comprises functionality to define additional attributes having one or more of the following attribute types: a metric, a property, a flag, a date, a funnel, and a sequence.
16. The method of claim 15, wherein the visitor segment report is configured to segment the visitors of the content site according to the badge attribute and the additional attributes.
17. (canceled)
18. The method of claim 13, further comprising providing functionality for a user to specify data sources associated with the content site for which to gather the visitor data using the data collection tag.
19. The method of claim 13, further comprising customizing an aspect of the content site based on the transformed visitor data.
20. The method of claim 19, wherein said customizing comprises personalizing the content site based on one of the attributes associated with a first visitor to the content site.
US14/149,717 2013-08-30 2014-01-07 Content site visitor processing system Abandoned US20150066587A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/149,717 US20150066587A1 (en) 2013-08-30 2014-01-07 Content site visitor processing system
PCT/US2014/052774 WO2015031402A1 (en) 2013-08-30 2014-08-26 Content site visitor processing systems and methods

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361872530P 2013-08-30 2013-08-30
US201361889876P 2013-10-11 2013-10-11
US201361896351P 2013-10-28 2013-10-28
US201361900274P 2013-11-05 2013-11-05
US14/149,717 US20150066587A1 (en) 2013-08-30 2014-01-07 Content site visitor processing system

Publications (1)

Publication Number Publication Date
US20150066587A1 true US20150066587A1 (en) 2015-03-05

Family

ID=51948549

Family Applications (6)

Application Number Title Priority Date Filing Date
US14/149,717 Abandoned US20150066587A1 (en) 2013-08-30 2014-01-07 Content site visitor processing system
US14/151,700 Active US8904278B1 (en) 2013-08-30 2014-01-09 Combined synchronous and asynchronous tag deployment
US14/556,545 Active 2035-08-12 US10241986B2 (en) 2013-08-30 2014-12-01 Combined synchronous and asynchronous tag deployment
US16/360,959 Active 2034-01-15 US10817664B2 (en) 2013-08-30 2019-03-21 Combined synchronous and asynchronous tag deployment
US17/078,501 Active US11593554B2 (en) 2013-08-30 2020-10-23 Combined synchronous and asynchronous tag deployment
US18/174,479 Pending US20230367959A1 (en) 2013-08-30 2023-02-24 Combined synchronous and asynchronous tag deployment

Family Applications After (5)

Application Number Title Priority Date Filing Date
US14/151,700 Active US8904278B1 (en) 2013-08-30 2014-01-09 Combined synchronous and asynchronous tag deployment
US14/556,545 Active 2035-08-12 US10241986B2 (en) 2013-08-30 2014-12-01 Combined synchronous and asynchronous tag deployment
US16/360,959 Active 2034-01-15 US10817664B2 (en) 2013-08-30 2019-03-21 Combined synchronous and asynchronous tag deployment
US17/078,501 Active US11593554B2 (en) 2013-08-30 2020-10-23 Combined synchronous and asynchronous tag deployment
US18/174,479 Pending US20230367959A1 (en) 2013-08-30 2023-02-24 Combined synchronous and asynchronous tag deployment

Country Status (2)

Country Link
US (6) US20150066587A1 (en)
WO (1) WO2015031400A1 (en)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150227860A1 (en) * 2014-02-07 2015-08-13 International Business Machines Corporation Defect turnaround time analytics engine
US20150237157A1 (en) * 2014-02-18 2015-08-20 Salesforce.Com, Inc. Transparent sharding of traffic across messaging brokers
US9313287B2 (en) 2013-08-30 2016-04-12 Tealium Inc. System and method for constructing content site visitor profiles
US9357366B2 (en) 2014-09-12 2016-05-31 Observepoint, Inc. Auditing of mobile applications
US9363311B1 (en) 2014-12-05 2016-06-07 Tealium Inc. Delivery of instructions in host applications
US9412115B2 (en) 2013-03-14 2016-08-09 Observepoint, Inc. Configuring tags to monitor other webpage tags in a tag management system
US9418170B2 (en) 2013-03-14 2016-08-16 Observepoint, Inc. Creating rules for use in third-party tag management systems
US20160267537A1 (en) * 2015-03-12 2016-09-15 Paypal, Inc. Social Commerce Affiliate Exchange
US9479609B2 (en) 2013-10-28 2016-10-25 Tealium Inc. System for prefetching digital tags
US9537964B2 (en) 2015-03-11 2017-01-03 Tealium Inc. System and method for separating content site visitor profiles
US9690868B2 (en) 2013-11-05 2017-06-27 Tealium Inc. Universal visitor identification system
US9753898B1 (en) 2016-05-02 2017-09-05 Tealium Inc. Deployable tag management in computer data networks
US9807184B1 (en) 2016-06-02 2017-10-31 Tealium Inc. Configuration of content site user interaction monitoring in data networks
US9842133B2 (en) 2014-09-12 2017-12-12 Observepoint, Inc. Auditing of web-based video
US9973585B2 (en) 2015-04-11 2018-05-15 Evidon, Inc. Methods, apparatus and systems for providing notice of digital tracking technologies in mobile apps on mobile devices, and for recording user consent in connection with same
US10026098B2 (en) 2010-01-06 2018-07-17 Evidon, Inc. Systems and methods for configuring and presenting notices to viewers of electronic ad content regarding targeted advertising techniques used by Internet advertising entities
US10140153B2 (en) 2012-09-12 2018-11-27 Salesforce.Com, Inc. System, method, and medium for facilitating auction-based resource sharing for message queues in an on-demand services environment
US10169090B2 (en) 2012-09-12 2019-01-01 Salesforce.Com, Inc. Facilitating tiered service model-based fair allocation of resources for application servers in multi-tenant environments
US10241986B2 (en) 2013-08-30 2019-03-26 Tealium Inc. Combined synchronous and asynchronous tag deployment
US10291492B2 (en) 2012-08-15 2019-05-14 Evidon, Inc. Systems and methods for discovering sources of online content
US10412185B2 (en) * 2015-09-29 2019-09-10 Tencent Technology (Shenzhen) Company Limited Event information system classifying messages using machine learning classification model and pushing selected messages to user
US10656907B2 (en) 2015-11-03 2020-05-19 Observepoint Inc. Translation of natural language into user interface actions
US20210240914A1 (en) * 2020-02-05 2021-08-05 Exponea s.r.o. System and method for dynamic webpage rendering with no flicker or flash of original content
US11146656B2 (en) 2019-12-20 2021-10-12 Tealium Inc. Feature activation control and data prefetching with network-connected mobile devices
US11695845B2 (en) 2013-08-30 2023-07-04 Tealium Inc. System and method for separating content site visitor profiles
US12131112B2 (en) 2022-03-21 2024-10-29 Tealium Inc. Deployable tag management in computer data networks

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10275790B1 (en) * 2013-10-28 2019-04-30 A9.Com, Inc. Content tagging
US9900371B2 (en) * 2014-08-18 2018-02-20 InfoTrust, LLC Systems and methods for tag inspection
US9612827B2 (en) 2015-06-11 2017-04-04 International Business Machines Corporation Automatically complete a specific software task using hidden tags
CN107103001B (en) * 2016-02-22 2021-03-02 创新先进技术有限公司 Method, device and system for acquiring target front-end resource file based on browser
US10078708B2 (en) 2016-11-15 2018-09-18 Tealium Inc. Shared content delivery streams in data networks
US10268657B2 (en) 2017-06-06 2019-04-23 Tealium Inc. Configuration of content site user interaction monitoring in data networks
US10327018B2 (en) 2017-10-17 2019-06-18 Tealium Inc. Engagement tracking in computer data networks
US11095735B2 (en) 2019-08-06 2021-08-17 Tealium Inc. Configuration of event data communication in computer networks
US11841880B2 (en) 2021-08-31 2023-12-12 Tealium Inc. Dynamic cardinality-based group segmentation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060277198A1 (en) * 2005-06-03 2006-12-07 Error Brett M One-click segmentation definition
US20110015981A1 (en) * 2009-07-17 2011-01-20 Mahesh Subramanian Systems and methods to incentivize transactions to enhance social goodness
US20110153422A1 (en) * 2009-12-23 2011-06-23 Peter Cousins Unification of Web Page Reporting and Updating Through a Page Tag
US20130086484A1 (en) * 2011-10-04 2013-04-04 Yahoo! Inc. System for custom user-generated achievement badges based on activity feeds

Family Cites Families (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020083167A1 (en) 1997-10-06 2002-06-27 Thomas J. Costigan Communications system and method
US6067565A (en) 1998-01-15 2000-05-23 Microsoft Corporation Technique for prefetching a web page of potential future interest in lieu of continuing a current information download
US6836799B1 (en) 1998-09-11 2004-12-28 L.V. Partners, L.P. Method and apparatus for tracking user profile and habits on a global network
US6553393B1 (en) 1999-04-26 2003-04-22 International Business Machines Coporation Method for prefetching external resources to embedded objects in a markup language data stream
US6834306B1 (en) * 1999-08-10 2004-12-21 Akamai Technologies, Inc. Method and apparatus for notifying a user of changes to certain parts of web pages
US6785891B1 (en) * 1999-10-12 2004-08-31 International Business Machines Corporation Data sharing between application environments
US6553461B1 (en) 1999-12-10 2003-04-22 Sun Microsystems, Inc. Client controlled pre-fetching of resources
WO2001065801A2 (en) * 2000-03-01 2001-09-07 British Telecommunications Public Limited Company Data transfer method and apparatus
EP1154356A1 (en) 2000-05-09 2001-11-14 Alcatel Caching of files during loading from a distributed file system
GB0019151D0 (en) * 2000-08-07 2000-09-27 Pace Micro Tech Plc Deferred internet page reformatting
FR2814881B1 (en) 2000-09-29 2003-08-15 Vivendi Net OPTIMIZATION METHOD, BY A NETWORK ARCHITECTURE ELEMENT, OF THE CONSULTATION OF DATA
EP1340132A4 (en) 2000-11-02 2005-12-07 Netiq Corp System and method for generating and reporting cookie values at a client node
GB2390456A (en) 2001-04-16 2004-01-07 Porto Ranelli S A Method for integrating electronic mail and worldwide web communications with a user
US7170430B2 (en) 2002-03-28 2007-01-30 Michael Goodgoll System, method, and computer program product for single-handed data entry
US20030208594A1 (en) 2002-05-06 2003-11-06 Urchin Software Corporation. System and method for tracking unique visitors to a website
US7117429B2 (en) * 2002-06-12 2006-10-03 Oracle International Corporation Methods and systems for managing styles electronic documents
US20040003130A1 (en) 2002-06-28 2004-01-01 International Business Machines Corporation Systems and methods for accessing web services using a tag library
US7389343B2 (en) 2002-09-16 2008-06-17 International Business Machines Corporation Method, system and program product for tracking web user sessions
CA2414053A1 (en) * 2002-12-09 2004-06-09 Corel Corporation System and method for manipulating a document object model
US7334088B2 (en) 2002-12-20 2008-02-19 International Business Machines Corporation Page descriptors for prefetching and memory management
US7607100B2 (en) 2003-05-29 2009-10-20 International Business Machines Corporation Method, system and program product for display management of web page phone/fax numbers by a data processing system
US8150732B2 (en) 2003-08-01 2012-04-03 Tacoda Llc Audience targeting system with segment management
US20050125290A1 (en) 2003-08-01 2005-06-09 Gil Beyda Audience targeting system with profile synchronization
US9117217B2 (en) 2003-08-01 2015-08-25 Advertising.Com Llc Audience targeting with universal profile synchronization
US20050138143A1 (en) 2003-12-23 2005-06-23 Thompson Blake A. Pre-fetching linked content
US7483941B2 (en) 2004-01-13 2009-01-27 International Business Machines Corporation System and method for dynamically inserting prefetch tags by the web server
US7458019B2 (en) 2004-01-20 2008-11-25 International Business Machines Corporation System and method for creating and rendering client-side user interfaces via custom tags
JP4452533B2 (en) * 2004-03-19 2010-04-21 株式会社日立製作所 System and storage system
US7792954B2 (en) 2004-04-02 2010-09-07 Webtrends, Inc. Systems and methods for tracking web activity
US20060031778A1 (en) * 2004-07-01 2006-02-09 Microsoft Corporation Computing platform for loading resources both synchronously and asynchronously
US8001456B2 (en) * 2005-02-28 2011-08-16 International Business Machines Corporation Methods for maintaining separation between markup and data at a client
JP2006268470A (en) * 2005-03-24 2006-10-05 Fujitsu Ltd Asynchronous communication method
US7640505B1 (en) * 2005-04-22 2009-12-29 Adobe Systems Incorporated Element view toggling
US8131861B2 (en) 2005-05-20 2012-03-06 Webtrends, Inc. Method for cross-domain tracking of web site traffic
US8239882B2 (en) 2005-08-30 2012-08-07 Microsoft Corporation Markup based extensibility for user interfaces
US7805670B2 (en) * 2005-12-16 2010-09-28 Microsoft Corporation Partial rendering of web pages
US20070214239A1 (en) * 2006-03-10 2007-09-13 Mechkov Chavdar B Dynamically updated web page
US8019777B2 (en) 2006-03-16 2011-09-13 Nexify, Inc. Digital content personalization method and system
US8775919B2 (en) 2006-04-25 2014-07-08 Adobe Systems Incorporated Independent actionscript analytics tools and techniques
US7493451B2 (en) 2006-06-15 2009-02-17 P.A. Semi, Inc. Prefetch unit
US7992135B1 (en) 2006-06-26 2011-08-02 Adobe Systems Incorporated Certification of server-side partner plug-ins for analytics and privacy protection
US20060271669A1 (en) 2006-07-13 2006-11-30 Cubicice(Pty) Ltd Method of collecting data regarding a plurality of web pages visited by at least one user
US8539345B2 (en) * 2006-07-24 2013-09-17 International Business Machines Corporation Updating portlet interface controls by updating a hidden version of the control and then switching it with a displayed version
WO2008024706A2 (en) 2006-08-21 2008-02-28 Crazy Egg, Inc. Visual web page analytics
US7610276B2 (en) 2006-09-22 2009-10-27 Advertise.Com, Inc. Internet site access monitoring
US20080228578A1 (en) 2007-01-25 2008-09-18 Governing Dynamics, Llc Digital rights management and data license management
US7685200B2 (en) 2007-03-01 2010-03-23 Microsoft Corp Ranking and suggesting candidate objects
US7680940B2 (en) 2007-03-28 2010-03-16 Scenera Technologies, Llc Method and system for managing dynamic associations between folksonomic data and resources
US9021352B2 (en) 2007-05-17 2015-04-28 Adobe Systems Incorporated Methods and apparatus for predictive document rendering
WO2009009109A1 (en) 2007-07-09 2009-01-15 Blaksley Ventures 108, Llc System and method for providing universal profiles for networked clusters
US7685168B2 (en) * 2007-08-31 2010-03-23 International Business Machines Corporation Removing web application flicker using AJAX and page templates
US8078979B2 (en) * 2007-11-27 2011-12-13 Microsoft Corporation Web page editor with element selection mechanism
US8185610B2 (en) * 2007-12-04 2012-05-22 International Business Machines Corporation Method for client-side aggregation of asynchronous, context-sensitive request operations for java server pages (JSP)
US9081463B2 (en) * 2007-12-05 2015-07-14 Adobe Systems Incorporated Systems and methods for run-time editing of a web page
US8429243B1 (en) 2007-12-13 2013-04-23 Google Inc. Web analytics event tracking system
US20090228774A1 (en) 2008-03-06 2009-09-10 Joseph Matheny System for coordinating the presentation of digital content data feeds
US9916611B2 (en) 2008-04-01 2018-03-13 Certona Corporation System and method for collecting and targeting visitor behavior
KR101517509B1 (en) * 2008-09-08 2015-05-04 엘지전자 주식회사 Mobile terminal and control method thereof
CN101483651B (en) * 2009-01-09 2012-04-25 南京联创科技集团股份有限公司 Data transmission method based map queue
US8386599B2 (en) 2009-03-04 2013-02-26 Max Fomitchev Method and system for estimating unique visitors for internet sites
US8930818B2 (en) 2009-03-31 2015-01-06 International Business Machines Corporation Visualization of website analytics
US20100281008A1 (en) 2009-04-29 2010-11-04 Digital River, Inc. Universal Tracking Agent System and Method
US8429287B2 (en) 2009-04-29 2013-04-23 Rangecast Technologies, Llc Network audio distribution system and method
US8375319B2 (en) 2009-06-05 2013-02-12 Apple Inc. Progress indicator for loading dynamically-sized contents
US8713536B2 (en) 2009-06-11 2014-04-29 Webtrends, Inc. Method and system for constructing a customized web analytics application
US8453059B2 (en) 2009-08-31 2013-05-28 Accenture Global Services Limited Traffic visualization across web maps
US8868637B2 (en) 2009-09-02 2014-10-21 Facebook, Inc. Page rendering for dynamic web pages
US8725794B2 (en) 2009-09-30 2014-05-13 Tracking. Net Enhanced website tracking system and method
US8671089B2 (en) 2009-10-06 2014-03-11 Brightedge Technologies, Inc. Correlating web page visits and conversions with external references
US20110119100A1 (en) 2009-10-20 2011-05-19 Jan Matthias Ruhl Method and System for Displaying Anomalies in Time Series Data
US8359313B2 (en) 2009-10-20 2013-01-22 Google Inc. Extensible custom variables for tracking user traffic
US8578010B2 (en) 2009-12-17 2013-11-05 Mastercard International Incorporated Methods and system for tracking web page analytics
US20120084349A1 (en) 2009-12-30 2012-04-05 Wei-Yeh Lee User interface for user management and control of unsolicited server operations
US8432368B2 (en) 2010-01-06 2013-04-30 Qualcomm Incorporated User interface methods and systems for providing force-sensitive input
US20130290480A1 (en) 2010-01-11 2013-10-31 Ensighten, Inc. Use of Method Overrides for Dynamically Changing Visible Page Content
US9158733B2 (en) 2010-03-07 2015-10-13 Sailthru, Inc. Computerized system and method for linking a user's E-mail that tracks a user's interest and activity
US9785722B2 (en) 2010-04-01 2017-10-10 Forsee Results, Inc. Systems and methods for remote replay of user interaction with a webpage
ITRM20100175A1 (en) * 2010-04-13 2011-10-14 Andrea Buratti MODULAR DYNAMIC WEB APPLICATIONS PERSISTENT WITH COMPLEX INTERFACES
US8407321B2 (en) 2010-04-21 2013-03-26 Microsoft Corporation Capturing web-based scenarios
US20110282739A1 (en) 2010-05-11 2011-11-17 Alex Mashinsky Method and System for Optimizing Advertising Conversion
US8560610B2 (en) 2010-06-16 2013-10-15 Brighttag Inc. Unified collection and distribution of data
US8949315B2 (en) 2010-06-30 2015-02-03 Nbcuniversal Media, Llc System and method for generating web analytic reports
US8498895B2 (en) 2010-07-19 2013-07-30 Accenture Global Services Limited Browser based user identification
US8904277B2 (en) 2010-08-31 2014-12-02 Cbs Interactive Inc. Platform for serving online content
US8612623B2 (en) * 2010-09-13 2013-12-17 Rovi Technologies Corporation Protection of delivered media
US8903834B2 (en) 2010-10-14 2014-12-02 Netflix, Inc. Recommending groups of items based on item ranks
US8866735B2 (en) 2010-12-16 2014-10-21 Motorla Mobility LLC Method and apparatus for activating a function of an electronic device
CN103473721B (en) 2010-12-20 2017-04-12 尼尔森(美国)有限公司 Methods and apparatus to determine media impressions using distributed demographic information
US20120169624A1 (en) 2011-01-04 2012-07-05 Microsoft Corporation Staged access points
US20120221411A1 (en) 2011-02-25 2012-08-30 Cbs Interactive Inc. Apparatus and methods for determining user intent and providing targeted content according to intent
US8682964B1 (en) * 2011-03-14 2014-03-25 Amazon Technologies, Inc. Progressively loading network content
US9274932B2 (en) * 2011-05-12 2016-03-01 Webtrends, Inc. Graphical-user-interface-based method and system for designing and configuring web-site testing and analysis
US20130191208A1 (en) 2012-01-23 2013-07-25 Limelight Networks, Inc. Analytical quantification of web-site communications attributed to web marketing campaigns or programs
US8566696B1 (en) 2011-07-14 2013-10-22 Google Inc. Predicting user navigation events
US8744988B1 (en) 2011-07-15 2014-06-03 Google Inc. Predicting user navigation events in an internet browser
US8635519B2 (en) 2011-08-26 2014-01-21 Luminate, Inc. System and method for sharing content based on positional tagging
US9245274B2 (en) 2011-08-30 2016-01-26 Adobe Systems Incorporated Identifying selected dynamic content regions
US9165308B2 (en) 2011-09-20 2015-10-20 TagMan Inc. System and method for loading of web page assets
US20130091025A1 (en) 2011-10-06 2013-04-11 Yahoo! Inc. Methods and systems for measuring advertisement effectiveness
US8413046B1 (en) * 2011-10-12 2013-04-02 Google Inc. System and method for optimizing rich web applications
US20130110818A1 (en) 2011-10-28 2013-05-02 Eamonn O'Brien-Strain Profile driven extraction
US20130124327A1 (en) 2011-11-11 2013-05-16 Jumptap, Inc. Identifying a same user of multiple communication devices based on web page visits
US10043022B2 (en) 2012-03-05 2018-08-07 R.R. Donnelley & Sons Company Systems and methods for digital content delivery
US9411875B2 (en) 2012-03-31 2016-08-09 Peking University Tag refinement strategies for social tagging systems
US9756108B2 (en) 2012-05-29 2017-09-05 Google Inc. Preloading resources of a web page
CN102693501A (en) 2012-05-31 2012-09-26 刘志军 Method for analyzing Internet advertisement popularizing effect
AU2013204865B2 (en) 2012-06-11 2015-07-09 The Nielsen Company (Us), Llc Methods and apparatus to share online media impressions data
US20140013203A1 (en) * 2012-07-09 2014-01-09 Convert Insights, Inc. Systems and methods for modifying a website without a blink effect
US9516088B2 (en) * 2012-08-29 2016-12-06 Ebay Inc. Systems and methods to consistently generate web content
US20140081981A1 (en) 2012-09-19 2014-03-20 Deep River Ventures, Llc Methods, Systems, and Program Products for Identifying a Matched Tag Set
US8793573B2 (en) * 2012-10-29 2014-07-29 Dropbox, Inc. Continuous content item view enhanced through smart loading
US8843827B2 (en) 2013-01-22 2014-09-23 Tealium Inc. Activation of dormant features in native applications
US20140215050A1 (en) 2013-01-29 2014-07-31 Array Networks, Inc. Method and system for web analytics using a proxy
US9503499B1 (en) * 2013-03-07 2016-11-22 Amazon Technologies, Inc. Concealing latency in display of pages
US9412115B2 (en) 2013-03-14 2016-08-09 Observepoint, Inc. Configuring tags to monitor other webpage tags in a tag management system
US11233841B2 (en) * 2013-03-15 2022-01-25 Yottaa, Inc. Systems and methods for configuration-based optimization by an intermediary
WO2014144869A1 (en) 2013-03-15 2014-09-18 Lehrer David System and method for providing a semi-automated research tool
US20140379840A1 (en) 2013-06-24 2014-12-25 Akamai Technologies, Inc. Predictive prefetching of web content
US8805946B1 (en) 2013-08-30 2014-08-12 Tealium Inc. System and method for combining content site visitor profiles
US20150066587A1 (en) 2013-08-30 2015-03-05 Tealium Inc. Content site visitor processing system
US9081789B2 (en) 2013-10-28 2015-07-14 Tealium Inc. System for prefetching digital tags
WO2015069659A1 (en) 2013-11-05 2015-05-14 Tealium Inc. Universal visitor identification system
WO2015157646A1 (en) 2014-04-11 2015-10-15 Ensighten, Inc. Url prefetching

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060277198A1 (en) * 2005-06-03 2006-12-07 Error Brett M One-click segmentation definition
US20110015981A1 (en) * 2009-07-17 2011-01-20 Mahesh Subramanian Systems and methods to incentivize transactions to enhance social goodness
US20110153422A1 (en) * 2009-12-23 2011-06-23 Peter Cousins Unification of Web Page Reporting and Updating Through a Page Tag
US20130086484A1 (en) * 2011-10-04 2013-04-04 Yahoo! Inc. System for custom user-generated achievement badges based on activity feeds

Cited By (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10026098B2 (en) 2010-01-06 2018-07-17 Evidon, Inc. Systems and methods for configuring and presenting notices to viewers of electronic ad content regarding targeted advertising techniques used by Internet advertising entities
US10291492B2 (en) 2012-08-15 2019-05-14 Evidon, Inc. Systems and methods for discovering sources of online content
US10140153B2 (en) 2012-09-12 2018-11-27 Salesforce.Com, Inc. System, method, and medium for facilitating auction-based resource sharing for message queues in an on-demand services environment
US10169090B2 (en) 2012-09-12 2019-01-01 Salesforce.Com, Inc. Facilitating tiered service model-based fair allocation of resources for application servers in multi-tenant environments
US10768983B2 (en) 2012-09-12 2020-09-08 Salesforce.Com, Inc. Mechanism for facilitating a quorum-based coordination of broker health for management of resources for application servers in an on-demand services environment
US10693943B2 (en) 2013-03-14 2020-06-23 Observepoint Llc Configuring tags to monitor other webpage tags in a tag management system
US10394902B2 (en) 2013-03-14 2019-08-27 Observepoint Inc. Creating rules for use in third-party tag management systems
US9412115B2 (en) 2013-03-14 2016-08-09 Observepoint, Inc. Configuring tags to monitor other webpage tags in a tag management system
US9418170B2 (en) 2013-03-14 2016-08-16 Observepoint, Inc. Creating rules for use in third-party tag management systems
US10817664B2 (en) 2013-08-30 2020-10-27 Tealium Inc. Combined synchronous and asynchronous tag deployment
US11483378B2 (en) 2013-08-30 2022-10-25 Tealium Inc. Tag management system and method
US11593554B2 (en) 2013-08-30 2023-02-28 Tealium Inc. Combined synchronous and asynchronous tag deployment
US11695845B2 (en) 2013-08-30 2023-07-04 Tealium Inc. System and method for separating content site visitor profiles
US12028429B2 (en) 2013-08-30 2024-07-02 Tealium Inc. System and method for separating content site visitor profiles
US9769252B2 (en) 2013-08-30 2017-09-19 Tealium Inc. System and method for constructing content site visitor profiles
US10834175B2 (en) 2013-08-30 2020-11-10 Tealium Inc. System and method for constructing content site visitor profiles
US11870841B2 (en) 2013-08-30 2024-01-09 Tealium Inc. System and method for constructing content site visitor profiles
US10241986B2 (en) 2013-08-30 2019-03-26 Tealium Inc. Combined synchronous and asynchronous tag deployment
US10187456B2 (en) 2013-08-30 2019-01-22 Tealium Inc. System and method for applying content site visitor profiles
US9357023B2 (en) 2013-08-30 2016-05-31 Tealium Inc. System and method for combining content site visitor profiles
US9313287B2 (en) 2013-08-30 2016-04-12 Tealium Inc. System and method for constructing content site visitor profiles
US11140233B2 (en) 2013-08-30 2021-10-05 Tealium Inc. System and method for separating content site visitor profiles
US10484498B2 (en) 2013-10-28 2019-11-19 Tealium Inc. System for prefetching digital tags
US11570273B2 (en) 2013-10-28 2023-01-31 Tealium Inc. System for prefetching digital tags
US10834225B2 (en) 2013-10-28 2020-11-10 Tealium Inc. System for prefetching digital tags
US9479609B2 (en) 2013-10-28 2016-10-25 Tealium Inc. System for prefetching digital tags
US9787795B2 (en) 2013-10-28 2017-10-10 Tealium Inc. System for prefetching digital tags
US10282383B2 (en) 2013-11-05 2019-05-07 Tealium Inc. Universal visitor identification system
US9690868B2 (en) 2013-11-05 2017-06-27 Tealium Inc. Universal visitor identification system
US10831852B2 (en) 2013-11-05 2020-11-10 Tealium Inc. Universal visitor identification system
US11734377B2 (en) 2013-11-05 2023-08-22 Tealium Inc. Universal visitor identification system
US11347824B2 (en) 2013-11-05 2022-05-31 Tealium Inc. Universal visitor identification system
US20150227860A1 (en) * 2014-02-07 2015-08-13 International Business Machines Corporation Defect turnaround time analytics engine
US10637949B2 (en) 2014-02-18 2020-04-28 Salesforce.Com, Inc. Transparent sharding of traffic across messaging brokers
US20150237157A1 (en) * 2014-02-18 2015-08-20 Salesforce.Com, Inc. Transparent sharding of traffic across messaging brokers
US9813516B2 (en) * 2014-02-18 2017-11-07 Salesforce.Com, Inc. Transparent sharding of traffic across messaging brokers
US9842133B2 (en) 2014-09-12 2017-12-12 Observepoint, Inc. Auditing of web-based video
US9357366B2 (en) 2014-09-12 2016-05-31 Observepoint, Inc. Auditing of mobile applications
US9363311B1 (en) 2014-12-05 2016-06-07 Tealium Inc. Delivery of instructions in host applications
US11425190B2 (en) 2014-12-05 2022-08-23 Tealium Inc. Delivery of instructions in host applications
US10003639B2 (en) 2014-12-05 2018-06-19 Tealium Inc. Delivery of instructions in host application
US10951687B2 (en) 2014-12-05 2021-03-16 Tealium Inc. Delivery of instructions in host applications
US10432701B2 (en) 2014-12-05 2019-10-01 Tealium Inc. Delivery of instructions in host applications
US9635100B2 (en) 2014-12-05 2017-04-25 Tealium Inc. Delivery of instructions in host applications
US9537964B2 (en) 2015-03-11 2017-01-03 Tealium Inc. System and method for separating content site visitor profiles
US10356191B2 (en) 2015-03-11 2019-07-16 Tealium Inc. System and method for separating content site visitor profiles
US20160267537A1 (en) * 2015-03-12 2016-09-15 Paypal, Inc. Social Commerce Affiliate Exchange
US9973585B2 (en) 2015-04-11 2018-05-15 Evidon, Inc. Methods, apparatus and systems for providing notice of digital tracking technologies in mobile apps on mobile devices, and for recording user consent in connection with same
US20190342415A1 (en) * 2015-09-29 2019-11-07 Tencent Technology (Shenzhen) Company Limited Event information push method, event information push apparatus, and storage medium
US10834218B2 (en) * 2015-09-29 2020-11-10 Tencent Technology (Shenzhen) Company Limited Event information system classifying messages using machine learning classification model and pushing selected message to user
US10412185B2 (en) * 2015-09-29 2019-09-10 Tencent Technology (Shenzhen) Company Limited Event information system classifying messages using machine learning classification model and pushing selected messages to user
US10656907B2 (en) 2015-11-03 2020-05-19 Observepoint Inc. Translation of natural language into user interface actions
US10635853B2 (en) 2016-05-02 2020-04-28 Tealium Inc. Deployable tag management in computer data networks
US11281845B2 (en) 2016-05-02 2022-03-22 Tealium Inc. Deployable tag management in computer data networks
US9753898B1 (en) 2016-05-02 2017-09-05 Tealium Inc. Deployable tag management in computer data networks
US10133709B2 (en) 2016-05-02 2018-11-20 Tealium Inc. Deployable tag management in computer data networks
US10834216B2 (en) 2016-06-02 2020-11-10 Tealium Inc. Configuration of content site user interaction monitoring in data networks
US10476977B2 (en) 2016-06-02 2019-11-12 Tealium Inc. Configuration of content site user interaction monitoring in data networks
US11622019B2 (en) 2016-06-02 2023-04-04 Tealium Inc. Configuration of content site user interaction monitoring in data networks
US10110690B2 (en) 2016-06-02 2018-10-23 Tealium Inc. Configuration of content site user interaction monitoring in data networks
US9807184B1 (en) 2016-06-02 2017-10-31 Tealium Inc. Configuration of content site user interaction monitoring in data networks
US11930088B2 (en) 2016-06-02 2024-03-12 Tealium Inc. Configuration of content site user interaction monitoring in data networks
US11310327B2 (en) 2016-06-02 2022-04-19 Tealium Inc. Configuration of content site user interaction monitoring in data networks
US11146656B2 (en) 2019-12-20 2021-10-12 Tealium Inc. Feature activation control and data prefetching with network-connected mobile devices
US11622026B2 (en) 2019-12-20 2023-04-04 Tealium Inc. Feature activation control and data prefetching with network-connected mobile devices
US20210240914A1 (en) * 2020-02-05 2021-08-05 Exponea s.r.o. System and method for dynamic webpage rendering with no flicker or flash of original content
US11182536B2 (en) * 2020-02-05 2021-11-23 Exponea s.r.o. System and method for dynamic webpage rendering with no flicker or flash of original content
US12131112B2 (en) 2022-03-21 2024-10-29 Tealium Inc. Deployable tag management in computer data networks

Also Published As

Publication number Publication date
US20210142003A1 (en) 2021-05-13
US8904278B1 (en) 2014-12-02
US10817664B2 (en) 2020-10-27
US20190347316A1 (en) 2019-11-14
US11593554B2 (en) 2023-02-28
US20150212992A1 (en) 2015-07-30
WO2015031400A1 (en) 2015-03-05
US10241986B2 (en) 2019-03-26
US20230367959A1 (en) 2023-11-16

Similar Documents

Publication Publication Date Title
US11870841B2 (en) System and method for constructing content site visitor profiles
US11140233B2 (en) System and method for separating content site visitor profiles
US20150066587A1 (en) Content site visitor processing system
US11281845B2 (en) Deployable tag management in computer data networks
US11347824B2 (en) Universal visitor identification system
US20110010243A1 (en) User control of advertising content
US12028429B2 (en) System and method for separating content site visitor profiles
US10185964B2 (en) Unification of web page reporting and updating through a page tag
US20190295097A1 (en) Cross-functional analytics tool for integrating web analytics data and customer relationship management data
US12131112B2 (en) Deployable tag management in computer data networks

Legal Events

Date Code Title Description
AS Assignment

Owner name: TEALIUM INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GLOMMEN, CHARLES;XU, LARRY;ANDERSON, MICHAEL;REEL/FRAME:032011/0878

Effective date: 20140107

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: SILICON VALLEY BANK, CALIFORNIA

Free format text: SECURITY INTEREST;ASSIGNOR:TEALIUM INC.;REEL/FRAME:043339/0734

Effective date: 20160822

AS Assignment

Owner name: SILICON VALLEY BANK, CALIFORNIA

Free format text: SECURITY INTEREST;ASSIGNOR:TEALIUM INC.;REEL/FRAME:043801/0080

Effective date: 20160822