CN108809687B - 用于提供跨网络事件归因的系统和方法 - Google Patents
用于提供跨网络事件归因的系统和方法 Download PDFInfo
- Publication number
- CN108809687B CN108809687B CN201810095150.3A CN201810095150A CN108809687B CN 108809687 B CN108809687 B CN 108809687B CN 201810095150 A CN201810095150 A CN 201810095150A CN 108809687 B CN108809687 B CN 108809687B
- Authority
- CN
- China
- Prior art keywords
- event
- server
- attribution
- conversion
- interaction
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
- H04L41/064—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
- H04L41/065—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving logical or physical relationship, e.g. grouping and hierarchies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
提供了可以用于提供跨内容网络事件归因的系统和方法。一种方法包括由协调服务器从归因服务器接收对第二事件的事件归因请求,所述第二事件是由用户在第一事件之后经由多个用户装置中的一个用户装置执行的在线活动,所述第一事件是由所述用户经由所述多个装置中的一个用户装置执行的另一在线活动。所述方法包括由所述协调服务器确定所述第二事件是否能够归因于所述第一事件。
Description
技术领域:
本申请涉及用于提供跨网络事件归因的系统和方法。
背景技术
由多个不同方控制的多个计算系统之间的数据交换可产生复杂时间线。一些应用设法在不拥有所有事件数据的情况下识别数据事件之间的相关性。这可产生使事件历史的视图冲突并且可以导致关于归因或影响的不同意。试图解决这种不同意的过去尝试已经要求过度的数据共享并且通常引发附加网络利用,从而给数据交换增加不合需要的时延和延迟。
发明内容
一种用于提供跨内容网络事件归因的说明性方法包括由第一协调服务器从归因服务器接收对第二事件的事件归因请求,所述第二事件是由用户在第一事件之后经由多个用户装置中的一个用户装置执行的在线活动,所述第一事件是由所述用户经由所述多个用户装置中的一个用户装置执行的另一在线活动。所述方法包括由所述第一协调服务器通过针对包括所述第一事件的多个事件搜索多个确认消息来确定所述第二事件是否能够归因于所述第一事件。所述方法还包括由所述第一协调服务器响应于确定所述第二事件能够归因于所述第一事件而向所述归因服务器发送描述所述第一事件的数据。
在一些实施方式中,所述方法还包括由所述第一协调服务器从所述归因服务器接收针对所述第二事件归因于所述第一事件的同意的指示或不同意的指示。
在一些实施方式中,所述方法还包括由所述归因服务器确定所述第二事件是否能够归因于所述第一事件,确定所述第二事件是否能够归因于所述第一事件在无需由所述归因服务器访问所述多个确认消息的情况下被执行。
在一些实施方式中,所述方法包括:由所述归因服务器接收所述第二事件的通知;以及由所述归因服务器将对所述第二事件的所述事件归因请求发送到所述第一协调服务器。在一些实施方式中,所述方法包括:由所述归因服务器从所述第一协调服务器接收描述所述第一事件的数据;以及由所述归因服务器基于描述所述第一事件的所述数据来确定所述第二事件是否能够归因于所述第一事件。在一些实施方式中,所述方法包括:由所述归因服务器响应于确定所述第二事件能够归因于所述第一事件而将所述同意的指示发送到所述第一协调服务器;以及响应于确定所述第二事件不能够归因于所述第一事件而将所述不同意的指示发送到所述第一协调服务器。
在一些实施方式中,所述方法包括:由所述归因服务器通过确定所述第一事件的第一时间戳与所述第二事件的第二时间戳之间的时间的持续时间是否小于预定义量来确定所述第二事件是否能够归因于所述第一事件,描述所述第一事件的所述数据包括所述第一事件的所述第一时间戳。
在一些实施方式中,所述方法包括:由所述第一协调服务器通过利用与所述第二事件相关联的标识符来搜索所述多个确认消息以确定和所述第二事件相关联的所述标识符与和所述第一事件相关联的标识符之间的匹配来确定所述第二事件是否能够归因于所述第一事件。
在一些实施方式中,所述方法包括:利用与所述第二事件相关联的标识符来搜索所述多个确认消息以通过基于将所述第二事件的所述标识符映射到与所述第一事件相关联的所述标识符的标识符映射确定所述第一事件的所述标识符是否映射到所述第二事件的所述标识符来确定和所述第二事件相关联的所述标识符与和所述第一事件相关联的所述标识符之间的匹配。
在一些实施方式中,所述方法包括:由所述归因服务器将对所述第二事件的所述事件归因请求发送到第二协调服务器;以及由所述归因服务器从所述第二协调服务器接收描述与所述第二协调服务器相关联的事件的数据。在一些实施方式中,所述方法包括:由所述归因服务器基于描述与所述第二协调服务器相关联的所述事件的所述数据来确定所述第二事件是否能够归因于与所述第二协调服务器相关联的所述事件。在一些实施方式中,所述方法包括:由所述归因服务器响应于确定所述第一事件能够归因于所述第二事件而将所述同意的指示发送到所述第一协调服务器;以及由所述归因服务器响应于确定与所述第二协调服务器相关联的所述事件不能够归因于所述第二事件而将所述不同意的指示发送到所述第二协调服务器。
在一些实施方式中,所述方法包括:由所述第一协调服务器响应于从所述归因服务器接收到所述同意的指示而更新所述第一协调服务器的归因度量以指示所述第一事件能够归因于所述第二事件。在一些实施方式中,所述方法包括:由所述第二协调服务器响应于从所述归因服务器接收到所述不同意的指示而更新所述第二协调服务器的归因度量以指示与所述第二协调服务器相关联的所述事件不能够归因于所述第二事件。
在一些实施方式中,所述方法包括:由所述归因服务器通过确定与所述第一事件相关联的时间戳或与和所述第二协调服务器相关联的所述事件相关联的时间戳是否在时间上更接近于与所述第二事件相关联的时间戳来确定所述第二事件是否能够归因于与描述与所述第二归因服务器相关联的所述事件的所述数据相关联的事件,描述与所述第二协调服务器相关联的所述事件的所述数据包括与和所述第二协调服务器相关联的所述事件相关联的所述时间戳。
一种用于提供跨内容网络事件归因的说明性系统包括含有处理电路的第一协调服务器。所述处理电路被配置成从归因服务器接收对第二事件的事件归因请求,所述第二事件是由用户在第一事件之后经由多个用户装置中的一个执行的在线活动,所述第一事件是由所述用户经由所述多个用户装置中的一个用户装置执行的另一在线活动。所述处理电路被配置成通过针对包括所述第一事件的多个事件搜索多个确认消息来确定所述第二事件是否能够归因于所述第一事件并且响应于确定所述第二事件能够归因于所述第一事件而向所述归因服务器发送描述所述第一事件的数据。另外,所述处理电路被配置成从所述归因服务器接收针对所述第二事件归因于所述第一事件的同意的指示或不同意的指示。
在一些实施方式中,所述处理电路被配置成通过利用与所述第二事件相关联的标识符来搜索所述多个确认消息以确定和所述第二事件相关联的所述标识符与和所述第一事件相关联的所述标识符之间的匹配来确定所述第二事件是否能够归因于所述第一事件。
在一些实施方式中,所述处理电路被配置成利用与所述第二事件相关联的标识符来搜索所述多个确认消息以通过基于将所述第二事件的所述标识符映射到与所述第一事件相关联的所述标识符的标识符映射确定所述第一事件的所述标识符是否映射到所述第二事件的所述标识符来确定和所述第二事件相关联的所述标识符与和所述第一事件相关联的所述标识符之间的匹配。
在一些实施方式中,所述处理电路被配置成响应于从所述归因服务器接收到所述同意的指示而更新所述第一协调服务器的归因度量以指示所述第一事件能够归因于所述第二事件。
用于提供跨内容网络事件归因的另一说明性系统包括含有处理电路的归因服务器。所述处理电路被配置成接收第二事件的通知,所述第二事件是由用户在与第一协调服务器相关联的第一事件之后经由多个用户装置中的一个用户装置执行的在线活动,所述第一事件是由所述用户经由所述多个用户装置中的一个用户装置执行的另一在线活动。所述处理电路被配置成向所述第一协调服务器发送对所述第二事件的事件归因请求。所述处理电路被配置成从所述第一协调服务器接收描述所述第一事件的数据,确定所述第二事件是否能够归因于所述第一事件,并且响应于确定所述第二事件能够归因于所述第一事件而向所述第一协调服务器发送同意的指示。所述处理电路被配置成响应于确定所述第二事件不能够归因于所述第一事件而向所述第一协调服务器发送不同意的指示。
在一些实施方式中,所述处理电路被配置成通过在无需由所述归因服务器访问由所述第一协调服务器存储的多个确认消息的情况下确定所述第二事件是否能够归因于所述第一事件来确定所述第二事件是否能够归因于所述第一事件,所述协调消息包括关于包括所述第一事件的与所述第一协调服务器相关联的事件的信息。
在一些实施方式中,所述处理电路被配置成通过确定所述第一事件的第一时间戳与所述第二事件的第二时间戳之间的时间的持续时间是否小于预定义量来确定所述第二事件是否能够归因于所述第一事件,描述所述第一事件的所述数据包括所述第一事件的所述第一时间戳。
在一些实施方式中,所述处理电路被配置成将对所述第二事件的所述事件归因请求发送到第二协调服务器,从所述第二协调服务器接收描述与所述第二协调服务器相关联的事件的数据。与所述第二协调服务器相关联的所述事件可以是由所述用户在所述第二事件之前经由所述多个用户装置中的一个用户装置执行的另一在线活动。所述处理电路可被配置成确定所述第二事件是否能够归因于与所述第二协调服务器相关联的所述事件,并且响应于确定与所述第二协调服务器相关联的所述事件不能够归因于所述第二事件而将所述不同意的指示发送到所述第二协调服务器。
在一些实施方式中,所述处理电路被配置成通过确定与所述第一事件相关联的第一时间戳或与和所述第二协调服务器相关联的所述事件相关联的第三时间戳是否在时间上更接近于与所述第二事件相关联的第二时间戳来确定所述第二事件是否能够归因于所述第一事件,描述与所述第二协调服务器相关联的所述事件的所述数据包括所述第三时间戳。
在一些实施方式中,所述同意的指示和所述不同意的指示使所述第一协调服务器更新所述第一协调服务器的归因度量以指示所述第一事件能够归因或者不能够归因于所述第二事件。
下文是与这些和类似方法、设备和系统有关的各种构思以及这些和类似方法、设备和系统的实施方式的更详细描述。可以以许多方式中的任一种实现上面介绍的并在下面更详细地讨论的各种构思,因为所描述的构思不限于实施方式的任何特定方式。
附图说明
通过参考结合附图进行的以下详细描述,将更充分地理解本发明的以上及相关目的、特征和优点,其中:
图1A是图示根据说明性实施方式的可执行跨网络事件归因的服务器的框图;
图1B是图示根据说明性实施方式的适合于在本文中所描述的各种实施方式中使用的示例计算装置的框图;
图2是根据说明性实施方式的使归因的事件与图1A的服务器相关的方法的流程图;
图3是根据说明性实施方式的利用图1A的服务器确认第二事件归因于前驱事件的方法的流程图;
图4是根据说明性实施方式的用于归因多个协调服务器的事件的方法的流程图。
为了清楚的目的,可以不在每一图中标记每一组件。附图不旨在按比例绘制。在各个图中相同的附图标记和名称指示相同的元素。
具体实施方式
通常参考图,根据各种实施方式,示出了用于确定跨各种内容网络发生的事件之间的归因的各种说明性系统和方法。如本文中所描述的,归因服务器和一个或多个协调服务器可被配置成执行各种事件的归因。事件可以是用户可以经由各种用户装置利用在线资源执行的在线交互。本文中所描述的系统和方法可以利用改进的数据安全性实现对事件的实时高效归因。
如本文中所描述的归因服务器可以是被配置成执行用户可以执行的各种在线活动之间的归因的服务器。协调服务器可以是被配置成接收用户的在线活动的指示、存储用户的在线活动并且与归因服务器进行通信以确定活动之间的归因的服务器。当内容提供者使用多个协调服务器(例如,内容提供者通过多个在线内容分发网络来提供内容)时,用户可以在执行转化之前与协调服务器的内容项交互。每个协调服务器可以将转化归因于与相应的协调服务器相关联的事件。然而,这可以是错误,因为仅协调服务器中的一个协调服务器的事件应该接收转化的归因,而不是两者,因为已经发生仅一个转化。在这点上,归因服务器可被配置成经由本文中进一步描述的系统和方法来纠正转化归因的重复。
在本文中所描述的一些实施方式中,对第一事件和第二事件进行引用。第一事件可以是在线活动,诸如与经由在线内容分发网络提供的内容项的交互(例如,查看和/或点击内容项闪现),所述在线活动可由用户经由用户装置(例如,手机或个人计算机)来执行。协调服务器可以接收并存储第一事件或者与第一事件类似的任何数目的事件的数据。后续事件(在本文中根据一些实施方式被称为第二事件)可以是在第一事件之后发生的由用户利用用户装置执行的另一用户活动。在一些实施方式中,第二事件是转化。转化可以包括下载和/或安装用户应用、执行商品和/或服务的购买、观看视频、预订服务器等。通过本文中所描述的方法,可以在第一事件与第二事件之间确定归因。
数据安全性可由本文中所描述的系统和方法通过强加于在协调服务器与归因服务器之间交换的数据的限制来改进。例如,为了确定事件归因,用户的所有在线活动能由归因服务器来编译并且事件之间的归因能由归因服务器基于聚合数据集来确定。然而,聚合事件数据对于数据隐私来说可以是不合需要的。替代地,本文中所描述的协调服务器可以仅向归因服务器提供关于第一事件的足够信息,使得归因服务器可在无需从协调服务器获得与用户的所有事件有关的数据的情况下或者甚至在无需从协调服务器获得所有关于第一事件的所有信息的情况下确认或者拒绝归因。此外,通过归因服务器与协调服务器之间的受约束通信来约束可归因事件的交换而不是传送大量的用户事件数据来保存网络带宽。
通常,本文中所描述的方法可以包括由协调服务器从归因服务器接收第一事件的数据以及对继第一事件之后发生的第二事件的归因的请求。响应于接收到对第二事件的归因的请求,协调服务器可通过对存储的事件数据执行搜索来识别第一事件。所存储的事件数据可包括任意数目的用户事件并且可以包括与第一事件有关的数据。
协调服务器可从所存储的事件(第一事件)中识别可归因事件。协调服务器可将第一事件的描述返回给归因服务器。在一些实施方式中,多个协调服务器识别可归因事件并且给归因服务器提供可归因事件。归因服务器可基于事件的描述来确认或者拒绝由协调服务器提出的归因。归因服务器可向每个协调服务器发送同意或不同意的指示。
在本文中所描述的一些实施方式中,多个协调服务器可以接收跨各种内容网络的在线用户活动的指示。经由两个不同的内容网络向用户提供内容项的内容提供者可能想要理解用户如何跨两个内容网络与他们的内容项交互。第一协调服务器可以接收与和第一内容网络相关联的内容项的用户活动的指示,而第二协调服务器可以接收与和第二内容网络相关联的内容项的用户活动的指示。
归因服务器可以知道由用户执行的第二事件。此事件可以是用户在查看或者与第一内容网络的内容和第二内容网络的内容交互之后执行的转化。两个协调服务器可以确定它们已引起了转化并且可以在考虑该转化的相应的用户界面中显示转化度量。然而,因为已经发生仅一个转化,所以由协调服务器报告的转化是副本,并且应该实际上仅归因于与协调服务器中的一个协调服务器相关联的事件。
为了纠正这个重复,归因服务器可向两个协调服务器发送对归因的请求并且作为回应从协调服务器接收潜在可归因事件。基于这些潜在可归因事件,归因服务器可确定转化事件可归因于与第一协调服务器相关联的在线用户活动还是与第二协调服务器相关联的在线用户活动。在一些实施方式中,第一协调服务器和第二协调服务器向归因服务器发送有关相应的在线用户交互的信息。此信息可以包括发生了交互的时间戳。归因服务器可以仅基于时间戳来选择如可归因于转化的在线用户交互中的仅一个在线用户交互。归因服务器可仅归因在时间上最接近于转化的时间戳发生的事件。
归因服务器可向第一协调服务器和第二协调服务器发送对归因的确认或拒绝。例如,如果归因服务器确定第一协调服务器执行的在线事件活动应该接收归因,则归因服务器可向协调服务器发送归因的通知并且向第二协调服务器发送非归因的通知。在这点上,两个协调服务器可更准确地更新它们存储和/或呈现给用户的数据度量。第一协调服务器可以响应于从归因服务器接收到归因通知而确定(或者维持)与协调服务器相关联的用户交互可归因于转化。然而,第二协调服务器可基于无归因的指示来确定与第二协调服务器相关联的用户交互不应该被视为引起转化。
在一些实施例中,每个协调服务器可以包括允许内容提供者查看与用户活动相关联的度量的仪表板。每个仪表板可以允许内容提供者经由本文中所描述的跨网络事件归因系统和方法来启用或者禁用事件的去重(deduplication)。类似地,归因服务器可以包括允许内容提供者查看与用户活动相关联的度量的仪表板,所述用户活动与一个或多个协调服务器相关联。在这点上,协调服务器可包括报告由每个相应的协调服务器接收到的用户活动的仪表板。启用去重可使协调服务器参与由归因服务器促进的归因方法。禁用去重可使协调服务器忽视从归因服务器接收到的任何请求或通知。
对于这里所讨论的系统收集关于用户的信息或者可以利用关于用户的信息的情形,可以给用户提供用于控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前位置的信息)或者用于控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。此外,某些数据可以在它被存储或者使用之前被以一个或多个方式处理,使得关于用户的某些信息被去除。例如,可以对用户的身份进行处理,使得对于该用户来说不可确定识别信息,或者可以在获得了位置信息的情况下使用户的地理位置一般化(诸如到城市、邮政编码或州级别),使得不能确定用户的特定位置。因此,用户可以控制关于用户的信息如何由内容服务器来收集和使用。
现在参考图1A,根据说明性实施方式,示出了图示用于执行事件归因的示例计算环境100的框图。计算环境100被示出为包括网络110(例如,互联网),通过所述网络110,客户端装置120可被配置成与其它连接网络的计算机系统(诸如向客户端装置120提供资源的服务器)进行通信。资源可以是电子邮件、web页面、媒体流和应用支持。
图1A被示出为包括应用后端服务器130、事件服务器140、归因服务器150和协调服务器160。这些服务器可经由网络110、经由分开的专用网络或背板(未示出)或者经由直接链路进行通信。这些服务器可以由独立方操作,可以由相同方操作,并且/或者可以被合并。一些服务器可以维护在服务器的功能性中使用的数据,例如,协调服务器160被示出为与数据存储190通信。
客户端装置120、应用后端服务器130、事件服务器140、归因服务器150和/或协调服务器160可被配置成经由一个或多个处理电路执行各种方法(例如,如参考图2和图3所描述的方法)。如在本文中进一步参考所描述的,图1B提供了图示具有处理电路(例如,处理器和存储器)的示例计算装置101的框图,所述示例计算装置101适合于用作客户端装置120并且/或者适合于配置为如参考图1A且在本文中别处进一步详细地描述的应用后端服务器130、事件服务器140、归因服务器150和/或协调服务器160。图1B也进一步图示网络110,所述网络110使得能实现各种节点之间的通信,例如,客户端装置120与诸如应用后端服务器130和/或事件服务器140的服务器之间的通信。
仍然参考图1A,客户端装置120可包括计算系统,或者示出了执行应用、向用户呈现输出并且从用户接收输入的基于处理器的装置。客户端装置120可以是任何种类的计算装置,包括例如桌面型计算机、膝上型或笔记本计算机、诸如平板或电子板的移动装置、个人数字助理、智能电话、视频游戏装置、电视或电视辅助盒(也被称为机顶盒)、信息亭、托管虚拟桌面,或能够经由网络110交换信息的任何其它这种装置。客户端装置120可被配置成经由网络110与图1A的其它计算装置交换信息。
例如,客户端装置120可被配置成使用依照开放系统互联(OSI层)的协议(例如,使用诸如在诸如网际协议(IP)(例如,IPv4或IPv6)的OSI第3层网络协议之上分层的用户数据报协议(UDP)、传输控制协议(TCP)或流控制传输协议(SCTP)的OSI第4层传输协议)通过网络110交换信息。在一些实施方式中,客户端装置120包括用于促进数据输入和数据呈现的一个或多个硬件元素,例如,键盘、显示器、触摸屏、麦克风、扬声器和/或触觉反馈装置。在一些实施方式中,客户端装置120包括按钮,例如,特定于功能的按钮(例如,诸如音量增大、音量减弱、静音等的音频装置音量控件)和/或功能不可知按钮(例如,可在软件层被指派特定功能的软按钮)。在一些实施方式中,客户端装置120包括能够检测客户端装置120本身的移动的一个或多个传感器,例如,加速计、陀螺仪和/或倾斜传感器。
加速计可以是单轴或多轴加速计。在一些实施方式中,客户端装置120包括惯性测量单元(IMU)。在一些实施方式中,客户端装置120使用专用逻辑电路(例如,专用集成电路(ASIC))来实现。在一些实施方式中,客户端装置120使用包括至少一个处理器(或微处理器)核心的片上系统(SoC)半导体装置来实现。在一些实施方式中,客户端装置120使用通用计算处理器来实现。图1B图示在一些配置中适合于用作客户端装置120的计算装置101。
在一些实施方式中,客户端装置120运行管理在客户端装置120上执行软件应用的操作系统。在一些实施方式中,操作系统被与客户端装置120一起提供。在一些实施方式中,客户端装置120执行能够接收根据诸如超文本传输协议(HTTP)和/或通过传输层安全性加密的HTTP(HTTPS)的超文本应用协议套件而格式化的数据的浏览器应用(例如,web浏览器)。
在一些此类实施方式中,浏览器经由以一个或多个web页面的形式在客户端装置120处呈现的界面促进与一个或多个服务器的交互。在一些实施方式中,浏览器应用被与客户端装置120一起提供。在一些实施方式中,客户端装置120执行定制应用,例如,与服务器(例如,应用后端服务器130)交互的游戏或其它应用。定制应用和应用后端服务器之间的交互可以使用诸如HTTP和HTTPS的标准协议,或者可以使用特定于应用的协议,例如在诸如UDP、TCP或SCTP的传输层协议之上实现的定制应用层协议。在一些实施方式中,客户端装置120包括用于在客户端装置120上获得和/或安装附加应用(诸如定制应用)的工具。在一些实施方式中,与客户端装置120进行通信的一个或多个服务器支持定制指令集(例如,应用编程接口(API)),并且在客户端装置120上执行的定制应用实现API。应用可使用例如提供给应用的开发者的库或软件开发工具包(SDK)来实现API。
客户端装置120可被配置成与诸如应用后端服务器130和/或事件服务器140的各种服务器进行通信(或者交换数据)。在一些实施方式中,服务器130、140、150和160中的一个或多个使用专用逻辑电路(例如,专用集成电路(ASIC))来实现。在一些实施方式中,服务器130、140、150和160中的一个或多个使用包括至少一个处理器(或微处理器)核心的片上系统(SoC)半导体装置来实现。在一些实施方式中,服务器130、140、150和160中的一个或多个使用通用计算处理器来实现。图1B图示在一些配置中适合于用作应用后端服务器130、事件服务器140、归因服务器150和/或协调服务器160的计算装置。
在图1A中,应用后端服务器130可向在客户端装置120上执行的应用提供后端支持。在一些实施方式中,应用后端服务器130运行从客户端装置120接收数据并向客户端装置120发送数据的服务。例如,在客户端装置120上执行的应用可以是浏览器,例如,呈现由应用后端服务器130提供的内容的web浏览器。在客户端装置120上执行的应用可以是游戏,例如,多玩家游戏,其中不同玩家的游戏数据由应用后端服务器130来存储。
在客户端装置120上执行的应用可以是交易促进者,例如,访问票或通行票管理应用、优惠券处理程序或支付处理器,其中用于交易的一些数据可以由应用后端服务器130来存储或者认证,在客户端装置120上执行的应用可以是应用的一些功能由应用后端服务器130来提供的实用程序或者利用应用后端服务器130以得到支持的任何其它种类的客户端应用。在一些实施方式中,从客户端装置120远程地存储数据允许多个用户或客户端装置之间的异步交互,在客户端装置120故障的情况下促进恢复,并且向网络外的世界提供接口。
像应用后端服务器130一样,事件服务器140可向在客户端装置120上执行的应用提供服务器侧功能性。在客户端装置120上执行的应用可被配置成生成请求或事件通知并且向应用后端服务器130和/或事件服务器140发送请求或事件通知。例如,应用可以从应用后端服务器130请求特定数据或者向事件服务器140通知客户端装置120处的状态变化。在一些实施方式中,应用后端服务器130和事件服务器140是相同的服务器,或者由相同方来操作或者管理,例如,在相同的自治系统(AS)网络中。
在一些实施方式中,应用后端服务器130和事件服务器140是不同的服务器,并且在一些实施方式中,由不同方来操作或者管理。也就是说,在一些实施方式中,事件服务器140可以由第三方控制。在一些实施方式中,在客户端装置120上执行的应用可被配置成针对以下事件生成事件通知并将该事件通知发送到事件服务器140:诸如应用在客户端装置120上的初始安装的事件、客户端装置120处的应用的启动事件、诸如客户端装置120处的选择事件的用户交互事件、应用已经消耗了有限资源(例如,票务应用可能通知事件服务器票据已用于获得对事件或通行的访问)的赎回事件、诸如客户端装置120处的应用故障的错误事件等。在一些实施方式中,应用后端服务器130可被配置成确定已经发生事件并且将通知提供给事件服务器140。例如,客户端装置120可以通知应用后端服务器130,所述应用后端服务器130进而通知事件服务器140。
归因服务器150可以是管理用于使事件相关并识别归因的数据的计算系统。归因服务器150可被配置成与协调服务器160交互以识别对于由事件服务器140处理的事件来说可归因于的协调事件。在一些实施方式中,事件服务器140可被配置成与归因服务器150交互以确定与归因相对应的事件序列。在一些实施方式中,事件服务器140和归因服务器150是相同的服务器,或者由相同方来操作或者管理,例如,在相同的自治系统(AS)网络中。在一些实施方式中,事件服务器140和归因服务器150是不同的服务器,并且在一些实施方式中,由不同方来操作或者管理。也就是说,在一些实施方式中,归因服务器150可以由第三方控制。
协调服务器160可以是被配置成协调事件的计算系统。在一些实施方式中,协调服务器160向客户端装置120发送协调消息并且接收对协调消息的响应的指示。协调消息例如可以是采取动作(例如,安装应用、访问web页面或者进行购买)的邀请,并且响应可以指示结果(例如,被安装应用的执行、访问web页面的请求或购买交易)。事件可以形成以结果事件(例如,应用的安装)告终的序列,并且归因服务器150识别事件之间的关联以识别在以结果事件告终的序列中用于归因的一个或多个事件。在一些实施方式中,归因服务器150识别用于归因为直接导致结果事件的倒数第二事件。在一些实例中,协调消息可以产生不涉及协调服务器160的一系列事件。
例如,协调消息可以将客户端装置120连接到应用安装界面;协调服务器160可以接收指示客户端装置120已经访问应用安装界面但是可能未从应用安装界面接收到诸如应用是否被安装在客户端装置120上的任何进一步信息的响应。如果应用被稍后安装在客户端装置120上,则可能是安装事件可归因于邀请,或者可能是应该归因中间事件(例如,起源于另一协调服务器的邀请)。
协调服务器160可被配置成在数据存储190中存储和/或检索数据。存储在数据存储190中的数据可以包括例如配置数据、协调消息数据和针对协调消息的统计。可以使用一个或多个数据存储装置来实现数据存储190。数据存储装置可以是适合于存储计算机可读数据的任何存储器装置。数据存储装置可以包括具有固定存储的装置或用于读取可移动存储介质的装置。示例包括所有形式的非易失性存储器、介质和存储器装置、半导体存储器装置(例如,EPROM、EEPROM、SDRAM和闪速存储器装置)、磁盘、磁光盘和光盘(例如,CD ROM、DVD-ROM或BLU-RAY盘)。适合的数据存储装置的示例实施方式包括存储区域网络(SAN)、网络附连存储(NAS)和冗余存储阵列(例如,RAID阵列)。在一些实施方式中,数据存储190例如使用关系数据库管理系统(RDBMS)来托管关系数据库。在一些实施方式中,数据存储190管理作为文件(例如,XML文件)存储的数据。
尽管在图1A中未示出,但是多个服务器(包括应用后端服务器130、事件服务器140、归因服务器150和/或协调服务器160)可以使用独立或共享的数据存储系统,诸如所图示的数据存储190。
现在参考图1B,根据说明性实施方式示出了示例计算系统101的框图。依照说明性实施方式,计算系统101适合于在实现本文中所描述的计算机化组件时使用。概括地说,计算系统101包括用于依照指令(例如,保持在高速缓存存储器103中的指令)执行动作的处理器102。所图示的示例计算系统101包括经由总线105与主存储器106、网络接口控制器107、输入/输出(I/O)接口108和数据存储109通信的一个或多个处理器102和协处理器104。在一些实施方式中,计算系统101可以包括附加接口或其它组件116。
在一些实施方式中,处理器102可被配置成将指令从主存储器106(或者从数据存储109)加载到高速缓存存储器103中。此外,处理器102可被配置成将指令从高速缓存存储器103加载到板上寄存器中并且执行来自板上寄存器的指令。在一些实施方式中,指令被编码在只读存储器(ROM)中或者从只读存储器(ROM)或从固件存储器芯片(例如,存储基本I/O系统(BIOS)的指令)(未示出)读取。
如图所示,处理器102直接连接到高速缓存存储器103。然而,在一些实施方式中,高速缓存存储器103被集成到处理器102中并且/或者实现在与处理器102相同的电路或芯片上。一些实施方式包括高速缓存存储器103的多个层或级,每个被进一步从处理器102移除。一些实施方式包括多个处理器102和/或协处理器104,所述多个处理器102和/或协处理器104给处理器102扩增对于附加专用指令的支持(例如,数学协处理器、浮点协处理器和/或图形协处理器)。如图所示,协处理器104紧密地连接到处理器102。然而,在一些实施方式中,协处理器104被集成到处理器102中或者实现在与处理器102相同的电路或芯片上。在一些实施方式中,协处理器104被进一步从处理器102移除,例如连接到总线105。
网络接口控制器107可被配置成控制用于连接到网络装置114(例如,用于接入到网络110)的一个或多个网络接口117。I/O接口108可被配置成促进发送和接收到各种I/O装置118的数据,所述各种I/O装置118诸如但不限于键盘、触摸屏、麦克风、运动传感器、视频显示器、扬声器、触觉反馈装置、打印机等。在一些实施方式中,I/O装置118中的一个或多个被集成到计算系统101中。在一些实施方式中,I/O装置118中的一个或多个在计算系统101外部并且可与计算系统101分开。在一些实施方式中,计算系统101使用专用逻辑电路(例如,包括处理器102和一个或多个附加组件的专用集成电路(ASIC)或片上系统(SoC)半导体装置)来实现,所述附加组件例如为高速缓存存储器103、网络接口控制器107、网络接口117和一个或多个I/O接口108。
处理器102可以是处理指令(例如,从高速缓存存储器103、主存储器106、数据存储109或未示出的其它存储器预取(fetch)的指令)的任何逻辑电路。处理器102包括许多数据和指令寄存器。在一些实施方式中,在启动(引导)时,处理器102可被配置成将初始指令从BIOS加载到寄存器中,包括用于加载更多指令的指令,并且执行来自寄存器的指令。在一些实施方式中,BIOS指令使处理器102加载操作系统(OS),所述操作系统(OS)进而使处理器102加载并执行一个或多个程序。
可以通过一个或多个辅助协处理器104来扩增处理器102,所述辅助协处理器104是具有用于特定目的的专用指令集的辅助处理单元。在一些实施方式中,面对未辨识指令的处理器102将例如经由特殊总线将该指令传递给协处理器104,并且在协处理器104也不辨识指令的情况下仅生成未辨识指令故障。处理器102和协处理器104可以各自是单核心或多核心处理器。
计算系统101可以包括多个不同的处理器102和/或多个不同的协处理器104。例如,在一些实施方式中,诸如多核心中央处理单元(CPU)的通用处理器102可以被扩增有一个或多个专用协处理器104,诸如数学协处理器、浮点协处理器或图形处理单元(GPU)。例如,数学协处理器104可以利用高精度或复杂计算辅助处理器102。在一些实施方式中,处理器102和协处理器104被作为电路实现在一个或多个芯片上。计算系统101可以基于能够像本文中所描述的那样操作的任何处理器102或处理器102和/或协处理器104集合。
高速缓存存储器103通常是为了快速访问时间而被置于与处理器102极为接近的计算机存储器的形式。在一些实施方式中,高速缓存存储器103是作为处理器102的一部分或者中与处理器102相同的芯片上的存储器电路。在一些实施方式中,存在高速缓存存储器103的多个层,例如L2和L3高速缓存层。在一些实施方式中,多个处理器102和/或处理器102的多个核心共享对相同的高速缓存存储器103的访问。
主存储器106可以是适合于存储计算机可读数据的任何装置。主存储器106是支持直接访问指定地址的装置;即,主存储器106是随机存取存储器(RAM)。在一些实施方式中,主存储器106是诸如动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据率SDRAM(DDR SDRAM)、静态随机存取存储器SRAM)、T-RAM、Z-RAM等的易失性半导体存储器装置。计算系统101可以具有用作主存储器106的任何数目的装置。
数据存储109可以是适合于在电力循环之间存储计算机可读数据的任何装置。在一些实施方式中,数据存储109是具有固定存储介质的装置,诸如磁盘,例如硬盘驱动器(HDD)。在一些实施方式中,数据存储109是具有可移动存储介质的装置,诸如磁盘(例如,软盘驱动器或可移动HDD)、磁带、磁光盘或光盘(例如,CD ROM、DVD-ROM或BLU-RAY盘)。在一些实施方式中,数据存储109是诸如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EPROM)或闪速存储器的非易失性半导体存储器装置。在一些实施方式中,主存储器106是例如使用基于多级单元(MLC)NAND的闪速存储器的固态驱动器(SSD)。计算系统101可以具有用作数据存储109的任何数目的装置。
仍参考图1B,总线105是提供计算系统101的各种内部组件之间的数据交换的接口,例如,将处理器102连接到主存储器106、网络接口控制器107、I/O接口108和数据存储109。在一些实施方式中,总线105还提供与在计算系统101外部的一个或多个组件(例如,其它组件116)的数据交换。在一些实施方式中,总线105包括串行和/或并行通信链路。在一些实施方式中,总线105实现诸如集成驱动电子装置(IDE)、快速外围组件互连(PCI)、小型计算机系统接口(SCSI)或通用串行总线(USB)的数据总线标准。在一些实施方式中,计算系统101具有多条总线105。
计算系统101可以包括或者提供用于一个或多个输入或输出(I/O)装置118的接口108。I/O装置118包括输入装置,诸如但不限于键盘、触摸屏、触摸板(例如,电磁感应垫、静电垫、电容垫等)、麦克风、操纵杆、脚踏板、惯性测量单元(IMU)、加速计、陀螺仪、倾斜传感器、运动传感器、环境传感器、诸如MIDI乐器(例如,MIDI键盘)的乐器数字接口(MIDI)输入装置、触针以及诸如鼠标或轨迹球的指示装置。输出装置包括但不限于视频显示器、扬声器、触觉反馈装置、可刷新盲文终端、灯、伺服电机、诸如MIDI合成器的MIDI输出装置以及二维或三维打印机(包括但不限于喷墨打印机、激光打印机、热敏打印机、立体平版印刷机、挤压沉积打印机和金属烧结打印机)。
网络110使得能实现诸如计算系统101和网络装置114的各种节点之间的通信。在一些实施方式中,数据作为数据分组的流(例如,以依照开放系统互连(OSI)层的数据分组的形式)通过网络110从源节点流向目的地节点。分组的流可以使用例如诸如用户数据报协议(UDP)、传输控制协议(TCP)或流控制传输协议(SCTP)的OSI第4层传输协议,经由在诸如网际协议(IP)(例如,IPv4或IPv6)的OSI第3层网络协议之上分层的网络110来发送。网络110由链接在一起以形成参与装置之间的一个或多个数据通信路径的各种网络装置(节点)组成。每个联网装置包括用于接收和/或发送数据(通常作为一个或多个数据分组)的至少一个网络接口。说明性网络110是互联网;然而,可以使用其它网络。网络110可以是自治系统(AS),即,在一致的统一路由策略下操作(或者至少似乎来自AS网络外部)并且通常由单个管理实体(例如,系统操作员、管理员或管理组)来管理的网络。
网络110可以由多个连接的子网络或AS网络组成,所述子网络或AS网络可以在以下各项中的一个或多个处相遇:中间网络(转接网络)、双归属网关节点、存在点(POP)、互联网交换点(IXP)和/或其它附加网络边界。网络110可以是诸如公司内联网的局域网(LAN)、城域网(MAN)、广域网(WAN)、诸如互联网的互联网络或对等网络,例如自组织Wi-Fi对等网络。网络110中的节点之间的数据链路可以是物理链路(例如、光纤、网状网、同轴电缆、诸如Cat-5或Cat-6的双绞线等)和/或无线链路(例如,无线电、卫星、微波等)的任何组合。
网络110可包括用于移动通信装置的载波网络,例如实现诸如以下各项的无线通信协议的网络:全球移动通信系统(GSM)、码分多址(CDMA)、时分同步码分多址(TD-SCDMA)、长期演进(LTE)或任何其它这种协议,包括但不限于所谓的3G、4G和5G代协议。网络110可包括例如经由Wi-Fi、蓝牙、BLE或ZIGBEE的短距离无线链路,有时被称为个域网(PAN)或网状网络。网络可以是公用网络、专用网络或者公用和专用网络的组合。网络110可以是任何类型和/或形式的数据网络和/或通信网络。
网络接口控制器107经由网络接口117(有时被称为网络接口端口)来管理与网络110中的装置(例如,网络装置114)的数据交换。网络接口控制器107处理用于网络通信的开放系统互连(OSI)模型的物理和数据链路层。在一些实施方式中,网络接口控制器的任务中的一些由处理器102和/或协处理器104来处理。在一些实施方式中,网络接口控制器107例如作为同一芯片上的电路并入到处理器102中。在一些实施方式中,计算系统101具有由单个网络接口控制器107控制的多个网络接口117。在一些实施方式中,计算系统101具有多个网络接口控制器107。在一些实施方式中,每个网络接口117是物理网络链路(例如,Cat-5以太网链路)的连接点。
在一些实施方式中,网络接口控制器107支持无线网络连接并且网络接口117是无线(例如,无线电)接收器/发射器(例如,用于IEEE802.11Wi-Fi协议、近场通信(NFC)、蓝牙、低功耗蓝牙(BLE)、ZIGBEE、ANT或任何其它无线协议中的任一个)。在一些实施方式中,网络接口控制器107实现诸如以太网的一个或多个网络协议。通常,计算系统101可被配置成通过网络接口117经由物理或无线链路与其它计算装置交换数据。网络接口117可以直接链接到另一装置或者经由中间装置(例如,诸如集线器、桥接器、交换机或路由器的网络装置114)链接到另一装置,从而将计算系统101连接到网络110。
网络装置114可以是集线器、交换机、路由器、调制解调器、网络桥接器、另一计算系统101或任何其它网络节点。在一些实施方式中,网络装置114是网络网关。在一些实施方式中,网络装置114是使用诸如专用处理器和/或三重内容可寻址存储器(TCAM)的定制硬件来实现的路由装置。
其它组件116可以包括替选I/O接口、外部串行装置端口以及经由总线105连接的任何附加协处理器104。例如,计算系统101可以包括用于连接外部输入装置、输出装置或附加存储装置(例如,便携式闪存驱动器或外部介质驱动器)的接口(例如通用串行总线(USB)接口)。
所图示的计算系统101适合于实施管理或者组织数据的系统。例如,在一些实施方式中,计算系统101托管数据库。数据库或更具体地数据库管理系统(DBMS)依照数据库定义(例如,数据库模式)来组织数据。例如,在关系数据库中,DBMS在类似表的数据结构中维护数据。每个表具有列,每个列对应于一个条目类型、分类或目的。例如,表可能具有数值数据的列、文本数据(例如,数值数据的描述)的列、日期数据的列等。在一些实施方式中,列表示将多个数据元素分组成单个列的结构化数据。在关系数据库中,表中的列中的每个条目也在使该条目与来自表中的其它列的条目相关联的行中。
在一些实例中,条目(或条目的组合)将使来自一个表的行与另一表中的一行或多行相关联。在一些DBMS实施方式中,被称作“视图”的虚拟表表示从一个或多个表中拉出的数据好像它也是表(也就是说,视图对数据库客户端或用户而言看来好像它是表,但是不一定被像这样存储)。也可使用其它类型的数据库管理系统,包括各种类型的关系数据库、面向对象数据库、面向文档数据库、可扩展标记语言(XML)数据库、NoSQL数据库等。许多这些数据库类型以与上面参考关系数据库所描述的方式类似的方式使用表或类似表的结构。在一些数据库实施方式中,数据被以除表以外的方式(例如,作为数据元组的合集)存储或者表示。
数据库的客户端或用户可使用数据库指令(例如,诸如结构化查询语言(SQL)的数据库查询语言的查询)向数据库添加数据,修改数据库中的数据或者从数据库中取得(retrieve)数据。可以将一个或多个数据库指令一起分组成数据库事务。传统上,数据库提供事务原子性一致性、隔离和耐久性。这些特性因缩写ACID而为人所知。在一些实施方式中,DBMS提供所有的ACID特性。然而,在一些实施方式中,DBMS不提供所有的ACID特性。
在一些实施方式中,一个或多个客户端装置120(例如,计算系统101的实例)例如经由直接链路或者经由网络110与DBMS通信。在一些实施方式中,一个或多个客户端使用诸如结构化查询语言(SQL)、超文本结构化查询语言(HTSQL)、上下文查询语言(CQL)、数据挖掘扩展插件(DMX)或XML查询(XQuery)的正式查询语言的查询来从DBMS数据获得数据。在一些实施方式中,一个或多个客户端使用诸如公共对象请求代理架构(CORBA)、远程过程调用(RPC)、对象链接和嵌入(OLE)、组件对象模型(COM)或分布式组件对象模型(DCOM)的进程间通信架构来从DBMS获得数据。在一些实施方式中,一个或多个客户端使用自然语言或语义查询来从DBMS获得数据。在一些实施方式中,一个或多个客户端使用诸如虚拟化API查询语言的定制查询语言的查询来从DBMS获得数据。
现在参考图2,根据说明性实施方式示出了用于使事件相关的方法200的流程图。应用后端服务器130、事件服务器140、归因服务器150和/或协调服务器160可被配置成执行方法200。此外,本文中所描述的任何计算装置可被配置成执行方法200。
在方法200的广泛概要中,在阶段210处,协调服务器160接收针对第一事件的确认消息。协调服务器160可以接收大量确认消息,每个确认消息对应于相应的事件。可以从客户端装置120、从第三方服务器或者从一些其它计算装置接收这些消息。在阶段220处,协调服务器160从归因服务器150接收对第二事件的归因的请求。
在阶段230处,协调服务器160搜索所存储的确认消息数据,例如,与包括在阶段210中接收到的确认消息的数据的大量确认消息相对应的数据。在阶段240处,协调服务器160从搜索中识别第一事件。在一些实施方式中,第一事件在阶段240处被识别为用于归因的多个候选事件中的一个。
在阶段250处,协调服务器160响应于在阶段220处接收到的请求而向归因服务器150返回描述第一事件的数据。归因服务器150然后可根据描述第一事件的数据来确定第二事件是否可归因于第一事件。在下面所描述的图3图示诸如可以由归因服务器150来执行的确认对前驱事件的归因的示例方法300。协调服务器160然后在阶段260处接收来自归因服务器150的把第二事件归因于所描述的第一事件的同意。在一些实施方式中,当归因服务器150确定不应该授予归因时,协调服务器160可替选地接收拒绝归因的消息。在一些实施方式中,当归因服务器150确定不应该授予归因时,协调服务器160不再接收与归因请求和第一事件描述有关的消息。
更详细地参考方法200,在阶段210处,协调服务器160接收针对第一事件的确认消息。在一些实施方式中,协调服务器160向一个或多个客户端装置120发送协调消息。协调消息例如可以是采取动作(例如,安装应用、访问web页面或者进行购买)的邀请。第一事件可以是对邀请的响应,例如,接收到邀请的客户端装置120已经与它交互过的指示符。
例如,邀请可以包括可选元素,所述可选元素提供附加信息或者促进到可以采取进一步动作的第三方的连接。邀请可以包括到可以采取进一步动作的web页面(登录页面)的统一资源定位符(URL)的超链接,所述动作诸如访问附加信息、加入邮件列表、进行购买、流式传输或者下载媒体(诸如电子书、可视图像媒体、音频数据、交互式媒体、视频媒体等)、下载软件、连接到数据库以及任何其它动作。在一些实施方式中,第一事件是在客户端装置120处选择URL(点击)。在一些实施方式中,第一事件是来自客户端装置120的页面请求(或页面预取)。
在一些实施方式中,第一事件是到达事件,例如客户端装置120到达地理位置。可以例如使用客户端装置120中的地理位置硬件来检测达事件。可以例如使用客户端装置120中的检测接近客户端装置120外部的物理标记物的接近检测器(例如,近场无线电装置)来检测到达事件,或者反之亦然。在一些实施方式中,第一事件可以是可以接收后续事件的归因的任何事件。例如,如果第一事件是导致客户端装置执行应用安装工具的交互,则这可以接收后续应用安装的归因。在方法200的阶段210处,协调服务器160接收针对特定第一事件的确认消息。
响应于在阶段210处接收到针对第一事件的确认消息,协调服务器160例如在数据存储190中记录关于第一事件的数据。例如,所记录的关于第一事件的数据可以包括日期和时间戳、事件类型以及诸如装置标识符、账户标识符、唯一CT号码(例如,随机生成的唯一标识符)的一个或多个源标识符等。所记录的关于第一事件的数据可以进一步包括关于与第一事件相关联的邀请的信息,例如,邀请标识符(或多个标识符,例如源标识符、活动标识符、目的地标识符、CT号码等)以及邀请日期和时间戳。在一些实施方式中,协调服务器160将此数据记录在诸如数据库的可搜索数据存储系统中。
在阶段220处,协调服务器160从归因服务器150接收对第二事件的归因的请求。在一些实施方式中,客户端装置120、应用后端服务器130或事件服务器140中的一个或多个处理在客户端装置120处发生的或者与客户端装置120相关联的事件,并且在处理该事件中,寻求该事件的归因。例如,事件服务器140可以检测第二事件并且利用诸如一个或多个标识符(例如,装置标识符和应用标识符)和事件类型的信息向归因服务器150发送消息。如下所述,参考图3,归因服务器150然后向协调服务器160发送对第二事件的归因的请求。该请求可以被发送到多个协调服务器,例如,到可能每个与可归因事件相关联的由不同方操作的不同的服务器。
在阶段230处,协调服务器160搜索存储的确认消息数据,例如,与可包括在阶段210中接收到的确认消息的数据的大量确认消息中的每一个确认消息相对应的数据。在一些实施方式中,此搜索针对一个或多个特定事件类型,例如,可针对第二事件归因的事件类型。
在阶段240处,协调服务器160从搜索中识别第一事件。在一些实施方式中,第一事件在阶段240处被识别为用于归因的多个候选事件中的一个。协调服务器160可基于诸如例如具有相同的装置标识符、账户标识符或CT号码的匹配准则来识别第一事件。
在阶段250处,协调服务器160响应于在阶段220处接收到的请求而向归因服务器150返回描述第一事件的数据。描述性数据可以是例如所记录的第一事件的数据的子集。例如,在一些实施方式中,协调服务器160返回第一事件的日期和时间戳,或者返回第一事件的日期和时间戳以及内部标识符。归因服务器150然后可根据描述第一事件的数据来确定第二事件是否能够归因于第一事件。例如,在一些实施方式中,如果多个协调服务器160返回归因声明(即,每个返回用于归因的所识别的候选事件),则归因服务器选择归因声明中的一个归因声明以用于确认。
在下面描述的图3图示诸如可以由归因服务器150来执行的确认对前驱事件的归因的示例方法300。在一些实施方式中,例如,归因服务器150选择最后一个候选事件(即,具有在时间上最接近于第二事件的日期和时间戳的候选事件)。
在阶段260处,协调服务器160接收来自归因服务器150的把第二事件归因于所描述的第一事件的同意。在一些实施方式中,当归因服务器150确定不应该授予该归因时,协调服务器160可替选地接收拒绝归因的消息。在一些实施方式中,当归因服务器150确定不应该授予该归因时,协调服务器160不再接收与归因请求和第一事件描述有关的其它消息。协调服务器160可以保留关于归因的数据,例如,以用于报告或决策目的。在一些实施方式中,活动管理员可以请求例如按后续事件归因的邀请的报告。例如,此报告可配置成省略确实未接收到归因的事件,或者突出(或者以其它方式指示)具体地确实接收到归因的事件。
现在参考图3,根据说明性实施方式示出了用于确认对前驱事件的归因的方法300的流程图。具体地,方法300可由归因服务器150来执行以通过与协调服务器进行通信来确定第二事件的归因。应用后端服务器130、事件服务器140、归因服务器150和/或协调服务器160可被配置成执行方法300。此外,本文中所描述的任何计算装置可被配置成执行方法300。
在方法300的广泛概要中,在阶段320处,归因服务器150接收可归因事件的通知。在阶段330处,归因服务器150向协调服务器160发送对归因的第一请求。协调服务器160然后识别能被归因的第一事件,并且向归因服务器150提供第一事件的描述。在阶段340处,归因服务器150接收第一事件的描述,并且在阶段350处,确定第一事件是否满足归因的准则。如果第一事件不满足归因的准则,则在阶段360处,归因服务器150拒绝该归因。然而,当在阶段350处第一事件满足归因的准则时,然后在阶段370处,归因服务器150确认该归因。例如,在一些实施方式中,归因服务器150向协调服务器160发送把可归因事件归因于第一事件的第二消息。
更详细地参考方法300,在阶段320处,归因服务器150接收可归因事件的通知。例如,事件服务器140可以向归因服务器150通知事件。在一些实施方式中,客户端装置120、应用后端服务器130或事件服务器140中的一个或多个处理在客户端装置120处发生的或与客户端装置120相关联的事件,并且在处理该事件时,寻求该事件的归因。例如,事件服务器140可以检测该事件并且利用诸如一个或多个标识符(例如,装置标识符和应用标识符)和事件类型的信息向归因服务器150发送消息。在一些实施方式中,归因服务器150检测可归因事件并解析该事件的归因。
在阶段330处,归因服务器150向协调服务器160发送第一请求。第一请求是识别用于归因的前驱事件的请求。第一请求可以是从归因服务器150到协调服务器160的查看协调服务器160先前是否协调了以下事件的查询,该事件导致可归因事件或者可归因于导致可归因事件。在一些实施方式中,该请求被发送到可能每个与可归因事件相关联的每个由不同方操作的多个不同的协调服务器。当协调服务器160可识别能被归因的第一事件时,协调服务器160向归因服务器150提供第一事件的描述。在一些实施方式中,协调服务器160(或多个协调服务器)可以返回用于可能归因的多个候选事件的描述。
在阶段340处,归因服务器150接收第一事件的描述,并且在阶段350处,确定第一事件是否满足归因的准则。在一些实施方式中,归因服务器150确认所描述的第一事件是否可能已导致可归因事件。在一些实施方式中,归因服务器150确定是否存在应该接收该归因的干预事件。例如,当归因服务器150在阶段330中向多个不同的协调服务器发送请求时,作为响应它可以接收到多个竞争者。归因服务器150从多个竞争者当中选择,例如,识别用于该归因的一个竞争者事件并且拒绝剩余部分。
从竞争协调服务器接收到的竞争者可以是干预事件,从而使归因服务器150拒绝对第一事件的归因。在一些实施方式中,归因服务器150构建事件的时间线或序列并且从归因时间线中选择一个或多个事件,该事件的时间线或序列导致可归因事件。在一些此类实施方式中,归因服务器150从时间线中选择在可归因事件之前的最后一个事件。如果所描述的第一事件(如在阶段340中接收的)未被选择,则在阶段360处归因服务器150拒绝该归因。如果所描述的第一事件(如在阶段340中接收的)被选择,则在阶段370处归因服务器150提供或者确认该归因。
在阶段360处,归因服务器150拒绝归因。在一些实施方式中,归因服务器150不采取动作来拒绝归因。也就是说,确认不存在可以足以拒绝。在一些实施方式中,归因服务器150向协调服务器160提供拒绝通知。
在阶段370处,归因服务器150确认归因。例如,在一些实施方式中,归因服务器150向协调服务器160发送把可归因事件归因于第一事件的第二消息。在一些实施方式中,归因服务器150在确认中向协调服务器160提供附加信息。附加信息可以包括例如协调服务器160可存储并稍后用作归因证据的唯一事件标识符。在一些实施方式中,附加信息包括令牌、数据的加密元素或标识符。在一些实施方式中,附加信息包括CT号码。
在一些实施方式中,每当在客户端装置120处执行应用时事件服务器140向归因服务器150提供通知。例如,在一些实施方式中,应用在启动时向应用后端服务器130发送消息(例如,对任何最近更新的请求),并且应用后端服务器130然后向用文件记录启动事件的事件服务器140发送消息。在一些实施方式中,应用向用文件记录启动事件的事件服务器140发送消息。该消息可以例如作为HTTP请求被发送。在一些实施方式中,事件服务器140然后记录表示事件的数据。在一些实施方式中,事件服务器140向归因服务器150发送向归因服务器150通知启动事件的消息。在一些实施方式中,事件服务器140针对将会与新安装相对应的第一启动事件将此消息发送到归因服务器150,而针对相同应用实例的后续启动事件则不向归因服务器150发送消息。归因服务器150然后例如使用上述的方法300来识别用于归因的前一个协调事件。
在一些实施方式中,协调服务器160维护每个事件和每个归因请求的数据。协调服务器160可以提供管理员可以用来获得针对事件和归因的统计的报告的管理界面。因为一些事件可能未接收到归因,例如,因为由第三方控制的干预事件接收到归因,所以统计将对应于管理员可能从第三方接收的相同统计。归因的适当表示可消除混淆并减少配置周期。另外,当协调服务器160仅接收到被归因事件的数据时,它不接收不必要的第三方数据。
现在参考图4,根据说明性实施方式,示出了用于执行跨网络事件归因以去重事件的归因的方法400。本文中所描述的应用后端服务器130、事件服务器140、归因服务器150、协调服务器160和/或任何其它计算装置可被配置成执行方法400。具体地,方法400参考第一协调服务器和第二协调服务器。这些服务器可以与协调服务器160相同和/或类似。
第一协调服务器和第二协调服务器可被配置成向用户提供内容项(或者可以与提供内容项的服务器相关联)并且与内容项一起接收在线用户活动。然而,这两个协调服务器可以是不同的并且可以由不同的实体来操作。如果内容提供者使用第一协调服务器和第二协调服务器来向用户提供内容并接收用户活动,则当转化发生时,两个协调服务器可以把与其内容网络相关联的用户事件活动归因于转化。在下面描述的方法400和本文中所描述的其它方法可通过确定哪些活动应该归因于转化以及哪些活动不应该归因于转化而去重归因。
方法400以使得用户数据隐私被维持并且网络带宽被保存的方式来执行。具体地,在方法400中,不在服务器之间共享用户事件活动的整个集合,即,第一协调服务器、第二协调服务器和归因服务器仅共享可以是可归因的数据,而不是将所有用户事件数据聚合在一起来确定事件归因。此外,与将大集合的用户事件数据发送到中央服务器(例如,归因服务器)相比仅发送所需数据减少带宽使用。此外,可改进用户在线活动。因为第一协调服务器跨一个内容网络接收用户的活动并且第二协调服务器从第二内容网络接收用户的活动,所以用户事件可以仅由协调服务器中的一个而不是两者接收到。
在步骤410和420中,第一协调服务器和第二协调服务器可以各自接收事件。事件可以是分别与第一协调服务器和第二协调服务器相关联的用户相关活动。例如,对于第一内容网络,第一协调服务器可以直接接收或者以其它方式从另一装置接收事件数据。对于第二内容网络,第二协调服务器可以接收或者以其它方式从另一装置接收事件数据。
第二事件可以在与第一协调服务器和第二协调服务器相关联的事件之后发生。在一些实施方式中,第二事件是转化。转化可以包括下载和/或安装移动应用、经由在线购物网站购买产品或者预订服务。两个协调服务器都可以知道第二事件并且确定与第一协调服务器和第二协调服务器相关联的事件应该接收该事件的归因。然而,这可以是重复归因,即,仅两个协调服务器中的一个应该具有归因于第二事件的事件。
在步骤430中,第一协调服务器和第二协调服务器从归因服务器150接收对第二事件的归因请求。响应于接收到对第二事件的归因的请求,每个协调服务器可执行与可搜索的用户事件相关联的所有确认数据的搜索。
在步骤440中,第一协调服务器可以搜索确认数据以识别潜在地能够或者当前被归因于第二事件的事件。在一些实施例中,第一协调服务器基于与第二事件相关联的用户标识符和与确认数据的事件相关联的用户标识符来搜索确认消息。在一些实施例中,第一协调服务器可以使用将多个标识符映射在一起的标识符映射以便适当地归因利用不同账户、不同装置等所执行的事件。搜索确认数据的结果可以识别与第一协调服务器相关联的事件。
在步骤450中,第一协调服务器可向归因服务器150发送指示第一事件的数据。步骤460和470可以与步骤440和450相同和/或类似。然而,步骤460和470可由第二归因服务器来执行。
在步骤480中,归因服务器150可以确定第二事件是否可归因于与第一协调服务器相关联的事件和与第二协调服务器相关联的事件。在一些实施方式中,归因服务器150可基于与第二事件相关联的时间戳、与第一协调服务器相关联的事件以及与第二协调服务器相关联的事件来确定归因。归因服务器150可确定在时间上最接近于第二事件发生的事件应该可归因于第二事件。此外,归因服务器150可以确定事件如果在第二事件之前的预定量的时间内发生则是可归因的。
例如,如果事件按照以下次序发生:1)与第二协调服务器相关联的事件、2)与第一协调服务器相关联的事件以及3)第二事件,则归因服务器150可以确定与第一协调服务器相关联的事件应该归因于第二事件,而与第二协调服务器相关联的事件不应该归因于第二事件。
在步骤490中,归因服务器150可向第一协调服务器和第二协调服务器发送归因或无归因的指示。第二协调服务器可以接收到与第二协调服务器相关联的事件不应该归因于第二事件的指示,而第一协调服务器可以接收到与第一协调服务器相关联的事件应该归因于第二事件的指示。
在步骤500中,基于归因或无归因的指示,第一协调服务器和第二协调服务器可基于在步骤490中接收到的指示来更新它们的归因度量。归因度量可以是总转化、特定内容项的总转化等。
例如,如果第二协调服务器把与第二协调服务器相关联的事件归因于第二事件但是从归因服务器150接收到与第二协调服务器相关联的事件不可归因于第二事件的指示,则第二协调服务器可以更新由第二协调服务器存储的数据和/或度量,使得第二协调服务器不把与第二协调服务器相关联的事件归因于第二事件。事件归因的这个去重可通过改进界面中显示的度量的准确性来改进可以报告数据的内容提供者界面。
本说明书中所描述的主题和操作的实施方式可以用数字电子电路或者用具体实现在有形介质上的计算机软件、固件或硬件(包括本说明书中所公开的结构及其结构等同物)或者用它们中的中一个或多个的组合加以实现。本说明书中所描述的主题的实施方式可作为具体实现在有形介质上的一个或多个计算机程序(即,在一个或多个计算机存储介质上编码以供由数据处理设备(包括,例如处理器102)执行或者控制数据处理设备的操作的计算机程序指令的一个或多个模块)被实现。计算机存储介质可以是计算机可读存储装置、计算机可读存储基板、随机或串行存取存储器阵列或装置或者它们中的一个或多个的组合或者可被包括在其中。计算机存储介质也可以是一个或多个单独的组件或介质(例如,多个CD、磁盘或其它存储装置)或者被包括在其中。计算机存储介质是有形的。计算机存储介质以非暂时性形式存储数据,例如计算机可执行指令。
计算机程序(也被称为程序、软件、软件应用、脚本或代码)可用任何形式的编程语言来编写,所述编程语言包括编译语言、解释语言、声明性语言和过程语言,并且计算机程序可被以任何形式部署,包括作为独立程序或者作为模块、组件、子例行程序、对象或适合于在计算环境中使用的其它单元。计算机程序可以但未必对应于文件系统中的文件。可在保持其它程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、在专用于所述程序的单个文件中或者在多个协调文件(例如,存储一个或多个模块、库、子程序或代码的部分的文件)中存储程序。可将计算机程序部署成在一个计算机上或在位于一个站点处或者跨多个站点分布并通过通信网络互连的多个计算机上执行。
本说明书中所描述的过程和逻辑流程可通过一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行动作而被执行。过程和逻辑流程也可由专用逻辑电路来执行,并且设备也可作为专用逻辑电路被实现,所述专用逻辑电路例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
虽然本说明书包含许多特定实施方式细节,但是这些不应该被解释为对任何发明的或可以要求保护的范围构成限制,而是相反被解释为特定于特定发明的特定实施方式的特征的描述。也可在单个实施方式中相结合地实现在本说明书中在单独的实施方式的上下文中描述的某些特征。相反,也可在多个实施方式中单独地或者按照任何适合的子组合实现在单个实施方式的上下文中描述的各种特征。此外,尽管特征可以在上面被描述为按照某些组合起作用并因此甚至最初要求保护,然而来自要求保护的组合的一个或多个特征可在一些情况下被从该组合中删去,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中按照特定次序描绘了操作,但是这不应该被理解为要求按照所示特定次序或者按照顺序次序执行此类操作,或者要求执行所有图示的操以实现所希望的结果。在某些情况下,多任务处理和并行处理可以是有利的。此外,上面所描述的实施方式中的各种系统组件的分离不应该被理解为在所有实施方式中要求这种分离,并且应该理解的是,所描述的程序组件和系统通常可被一起集成在单个软件产品中或者封装到多个软件产品中。
对“或”的参考可以被解释为包括的,使得使用“或”所描述的任何术语可以指示所描述的术语中的单个、多于一个和全部中的任一个。标记“第一”、“第二”、“第三”等不一定意在指示排序,而通常仅仅用于区分相同或类似的项或元素。
因此,已经对主题的特定实施方式进行了描述。其它实施方式在以下权利要求书的范围内。在一些情况下,权利要求书中所记载的动作可被按照不同的次序执行并仍然实现所希望的结果。此外,附图中所描绘的过程不一定要求所示特定次序或顺序次序以实现所希望的结果。在某些实施方式中,可以使用多任务处理和并行处理。
Claims (20)
1.一种用于提供跨内容网络事件归因的方法,所述方法包括:
由第一协调服务器从归因服务器接收对转化事件的事件归因请求,其中所述转化事件是由用户在第一交互事件和第二交互事件之后经由多个用户装置中的一个用户装置执行的在线活动,其中所述第一交互事件是由所述用户经由所述多个用户装置中的一个用户装置执行的具有由所述第一协调服务器管理的一个或多个内容项的第一在线活动,其中,所述第二交互事件是由所述用户经由所述多个用户装置中的一个用户装置执行的具有由第二协调服务器管理的一个或多个第二内容项的第二在线活动,其中,所述第一协调服务器、所述第二协调服务器和所述归因服务器均是单独的服务器系统,其中,所述一个或多个内容项和所述第一交互事件被存储在所述第一协调服务器的第一数据存储系统中,其中,所述一个或多个第二内容项和所述第二交互事件与所述一个或多个内容项和所述第一交互事件分开存储在所述第二协调服务器的第二数据存储系统中;
由所述第一协调服务器通过针对包括所述第一交互事件的多个交互事件搜索多个确认消息来确定所述转化事件是否能够归因于所述第一交互事件;以及
由所述第一协调服务器响应于确定所述转化事件能够归因于所述第一交互事件而向所述归因服务器发送描述所述第一交互事件的第一数据,以解析所述转化事件到所述第一交互事件和到所述第二交互事件的重复归因,其中,所述重复归因由所述归因服务器利用描述所述第一交互事件的所述第一数据和由所述归因服务器从所述第二协调服务器接收到的描述所述第二交互事件的第二数据来解析,其中,所述重复归因由所述归因服务器通过将所述转化事件归因于所述第一交互事件和所述第二交互事件二者更新为归因于所述第一交互事件和所述第二交互事件中的一个来解析。
2.根据权利要求1所述的方法,还包括由所述归因服务器确定所述转化事件是否能够归因于所述第一交互事件,其中由所述归因服务器确定所述转化事件是否能够归因于所述第一交互事件在无需由所述归因服务器访问所述多个确认消息的情况下被执行。
3.根据权利要求1所述的方法,还包括由所述第一协调服务器从所述归因服务器接收针对所述转化事件归因于所述第一交互事件的同意的指示或不同意的指示。
4.根据权利要求3所述的方法,还包括:
由所述归因服务器接收所述转化事件的通知;
由所述归因服务器将对所述转化事件的所述事件归因请求发送到所述第一协调服务器;
由所述归因服务器从所述第一协调服务器接收描述所述第一交互事件的所述第一数据;
由所述归因服务器基于描述所述第一交互事件的所述第一数据来确定所述转化事件是否能够归因于所述第一交互事件;
由所述归因服务器响应于确定所述转化事件能够归因于所述第一交互事件而将所述同意的指示发送到所述第一协调服务器;以及
由所述归因服务器响应于确定所述转化事件不能够归因于所述第一交互事件而将所述不同意的指示发送到所述第一协调服务器。
5.根据权利要求4所述的方法,其中由所述归因服务器确定所述转化事件是否能够归因于所述第一交互事件包括确定所述第一交互事件的第一时间戳与所述转化事件的第二时间戳之间的持续时间是否小于预定义量,其中描述所述第一交互事件的所述第一数据包括所述第一交互事件的所述第一时间戳。
6.根据权利要求3所述的方法,还包括:
由所述归因服务器将对所述转化事件的所述事件归因请求发送到所述第二协调服务器;
由所述归因服务器从所述第二协调服务器接收描述与所述第二协调服务器相关联的第二交互事件的所述第二数据;
由所述归因服务器基于描述与所述第二协调服务器相关联的所述第二交互事件的所述第二数据来确定所述转化事件是否能够归因于与所述第二协调服务器相关联的所述第二交互事件;
由所述归因服务器响应于确定所述转化事件能够归因于所述第一交互事件而将所述同意的指示发送到所述第一协调服务器;以及
由所述归因服务器响应于确定所述转化事件不能够归因于所述第二交互事件而将所述不同意的指示发送到所述第二协调服务器。
7.根据权利要求6所述的方法,还包括:
由所述第一协调服务器响应于从所述归因服务器接收到所述同意的指示而更新所述第一协调服务器的第一归因度量以指示所述转化事件能够归因于所述第一交互事件;以及
由所述第二协调服务器响应于从所述归因服务器接收到所述不同意的指示而更新所述第二协调服务器的第二归因度量以指示所述转化事件不能够归因于所述第二交互事件。
8.根据权利要求6所述的方法,其中由所述归因服务器确定所述转化事件是否能够归因于与描述与所述第二协调服务器相关联的所述第二交互事件的所述第二数据相关联的事件包括确定与所述第一交互事件相关联的第一时间戳还是与和所述第二协调服务器相关联的所述第二交互事件相关联的第三时间戳在时间上更接近于与所述转化事件相关联的时间戳,其中,描述与所述第二协调服务器相关联的所述第二交互事件的所述第二数据包括与和所述第二协调服务器相关联的所述第二交互事件相关联的第三时间戳。
9.根据权利要求1所述的方法,其中由所述第一协调服务器确定所述转化事件是否能够归因于所述第一交互事件包括利用与所述转化事件相关联的转化标识符来搜索所述多个确认消息以确定与所述转化事件相关联的所述转化标识符和与所述第一交互事件相关联的第一标识符之间的匹配。
10.根据权利要求9所述的方法,其中利用与所述转化事件相关联的所述转化标识符来搜索所述多个确认消息以确定与所述转化事件相关联的所述转化标识符和与所述第一交互事件相关联的所述第一标识符之间的所述匹配包括:基于将与所述转化事件相关联的所述转化标识符映射到与所述第一交互事件相关联的所述第一标识符的标识符映射来确定与所述第一交互事件相关联的所述第一标识符是否映射到与所述转化事件相关联的所述转化标识符。
11.一种用于提供跨内容网络事件归因的系统,所述系统包括:
包括处理电路的第一协调服务器,所述处理电路被配置成:
从归因服务器接收对转化事件的事件归因请求,其中所述转化事件是由用户在第一交互事件和第二交互事件之后经由多个用户装置中的一个用户装置执行的在线活动,其中所述第一交互事件是由所述用户经由所述多个用户装置中的一个用户装置执行的具有由所述第一协调服务器管理的一个或多个内容项的第一在线活动,其中,所述第二交互事件是由所述用户经由所述多个用户装置中的一个用户装置执行的具有由第二协调服务器管理的一个或多个第二内容项的第二在线活动,其中,所述第一协调服务器、所述第二协调服务器和所述归因服务器均是单独的服务器系统,其中,所述一个或多个内容项和所述第一交互事件被存储在所述第一协调服务器的第一数据存储系统中,其中,所述一个或多个第二内容项和所述第二交互事件与所述一个或多个内容项和所述第一交互事件分开存储在所述第二协调服务器的第二数据存储系统中;
通过针对包括所述第一交互事件的多个交互事件搜索多个确认消息来确定所述转化事件是否能够归因于所述第一交互事件;
响应于确定所述转化事件能够归因于所述第一交互事件而向所述归因服务器发送描述所述第一交互事件的第一数据,以解析所述转化事件到所述第一交互事件和到所述第二交互事件的重复归因,其中,所述重复归因由所述归因服务器利用描述所述第一交互事件的所述第一数据和由所述归因服务器从所述第二协调服务器接收到的描述所述第二交互事件的第二数据来解析,其中,所述重复归因由所述归因服务器通过将所述转化事件归因于所述第一交互事件和所述第二交互事件二者更新为归因于所述第一交互事件和所述第二交互事件中的一个来解析;以及
从所述归因服务器接收针对所述转化事件归因于所述第一交互事件的同意的指示或不同意的指示。
12.根据权利要求11所述的系统,其中所述处理电路进一步被配置成:通过利用与所述转化事件相关联的转化标识符来搜索所述多个确认消息以确定与所述转化事件相关联的所述转化标识符和与所述第一交互事件相关联的第一标识符之间的匹配,来确定所述转化事件是否能够归因于所述第一交互事件。
13.根据权利要求12所述的系统,其中所述处理电路进一步被配置成:通过基于将与所述转化事件相关联的所述转化标识符映射到与所述第一交互事件相关联的所述第一标识符的标识符映射而确定与所述第一交互事件相关联的所述第一标识符是否映射到与所述转化事件相关联的所述转化标识符,来利用与所述转化事件相关联的所述转化标识符来搜索所述多个确认消息以确定与所述转化事件相关联的所述转化标识符和与所述第一交互事件相关联的所述第一标识符之间的所述匹配。
14.根据权利要求11所述的系统,其中所述处理电路进一步被配置成:响应于从所述归因服务器接收到所述同意的指示而更新所述第一协调服务器的归因度量以指示所述转化事件能够归因于所述第一交互事件。
15.一种用于提供跨内容网络事件归因的系统,所述系统包括:包括处理电路的归因服务器,所述归因服务器被配置成:
接收转化事件的通知,其中所述转化事件是由用户在与第一协调服务器相关联的第一交互事件和与第二协调服务器相关联的第二交互事件之后经由多个用户装置中的一个用户装置执行的在线活动,其中所述第一交互事件是由所述用户经由所述多个用户装置中的一个用户装置执行的具有由所述第一协调服务器管理的一个或多个内容项的第一在线活动,其中,所述第二交互事件是由所述用户经由所述多个用户装置中的一个用户装置执行的具有由第二协调服务器管理的一个或多个第二内容项的第二在线活动,其中,所述第一协调服务器、所述第二协调服务器和所述归因服务器均是单独的服务器系统,其中,所述一个或多个内容项和所述第一交互事件被存储在所述第一协调服务器的第一数据存储系统中,其中,所述一个或多个第二内容项和所述第二交互事件与所述一个或多个内容项和所述第一交互事件分开存储在所述第二协调服务器的第二数据存储系统中;
向所述第一协调服务器发送对所述转化事件的事件归因请求;
从所述第一协调服务器接收描述所述第一交互事件的第一数据;
从所述第二协调服务器接收描述所述第二交互事件的第二数据;
确定所述转化事件是否能够归因于所述第一交互事件以利用描述所述第一交互事件的所述第一数据和描述所述第二交互事件的所述第二数据来解析所述转化事件到所述第一交互事件和到所述第二交互事件的重复归因,其中,所述重复归因由所述归因服务器通过将所述转化事件归因于所述第一交互事件和所述第二交互事件二者更新为归因于所述第一交互事件和所述第二交互事件中的一个来解析;
响应于确定所述转化事件能够归因于所述第一交互事件而向所述第一协调服务器发送同意的指示;以及
响应于确定所述转化事件不能够归因于所述第一交互事件而向所述第一协调服务器发送不同意的指示。
16.根据权利要求15所述的系统,其中所述处理电路进一步被配置成:通过在无需由所述归因服务器访问由所述第一协调服务器存储的多个确认消息的情况下确定所述转化事件是否能够归因于所述第一交互事件来确定所述转化事件是否能够归因于所述第一交互事件,所述多个确认消息包括关于包括所述第一交互事件的与所述第一协调服务器相关联的事件的信息。
17.根据权利要求15所述的系统,其中所述处理电路进一步被配置成:通过确定所述第一交互事件的第一时间戳与所述转化事件的第二时间戳之间的时间的持续时间是否小于预定义量来确定所述转化事件是否能够归因于所述第一交互事件,其中描述所述第一交互事件的所述第一数据包括所述第一交互事件的所述第一时间戳。
18.根据权利要求15所述的系统,其中所述处理电路进一步被配置成:
将对所述转化事件的所述事件归因请求发送到所述第二协调服务器;
从所述第二协调服务器接收描述与所述第二协调服务器相关联的第二交互事件的所述第二数据,其中与所述第二协调服务器相关联的所述第二交互事件是由所述用户在所述转化事件之前经由所述多个用户装置中的一个用户装置执行的另一在线活动;
确定所述转化事件是否能够归因于与所述第二协调服务器相关联的所述第二交互事件;以及
响应于确定所述转化事件不能够归因于所述第二交互事件而向所述第二协调服务器发送所述不同意的指示。
19.根据权利要求18所述的系统,其中所述处理电路进一步被配置成:通过确定与所述第一交互事件相关联的第一时间戳还是与和所述第二协调服务器相关联的所述第二交互事件相关联的第三时间戳在时间上更接近于与所述转化事件相关联的第二时间戳,来确定所述转化事件是否能够归因于所述第一交互事件,其中,描述与所述第二协调服务器相关联的所述第二交互事件的所述第二数据包括所述第三时间戳。
20.根据权利要求15所述的系统,其中所述同意的指示和所述不同意的指示使所述第一协调服务器更新所述第一协调服务器的归因度量以指示所述转化事件能够归因或者不能够归因于所述第一交互事件。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762491816P | 2017-04-28 | 2017-04-28 | |
US62/491,816 | 2017-04-28 | ||
US15/836,586 US10979284B2 (en) | 2017-04-28 | 2017-12-08 | Systems and methods for providing cross-network event attribution |
US15/836,586 | 2017-12-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108809687A CN108809687A (zh) | 2018-11-13 |
CN108809687B true CN108809687B (zh) | 2022-01-04 |
Family
ID=60937894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810095150.3A Active CN108809687B (zh) | 2017-04-28 | 2018-01-31 | 用于提供跨网络事件归因的系统和方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US10979284B2 (zh) |
EP (1) | EP3560158B1 (zh) |
JP (1) | JP6871395B2 (zh) |
KR (1) | KR102262482B1 (zh) |
CN (1) | CN108809687B (zh) |
DE (2) | DE202017107667U1 (zh) |
GB (1) | GB2561939A (zh) |
WO (1) | WO2018200033A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220318250A1 (en) * | 2020-08-18 | 2022-10-06 | Google Llc | Systems and methods for identifying events that share a characteristic |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064450A1 (en) * | 2002-09-30 | 2004-04-01 | Kabushiki Kaisha Toshiba | Method for preparing data to be analyzed, data analysis method, data analysis device, data preparation program, data analysis program, data prediction device, data prediction method, data prediction program and computer |
CN101540734A (zh) | 2008-03-21 | 2009-09-23 | 阿里巴巴集团控股有限公司 | 一种跨域名Cookie访问方法、系统及设备 |
US8689136B2 (en) | 2010-02-03 | 2014-04-01 | Yahoo! Inc. | System and method for backend advertisement conversion |
CA2795128A1 (en) * | 2010-03-31 | 2011-10-06 | Mediamath, Inc. | Systems and methods for integration of a demand side platform |
US8788339B2 (en) | 2011-05-27 | 2014-07-22 | Google Inc. | Multiple attribution models with return on ad spend |
US20160328739A1 (en) | 2012-02-06 | 2016-11-10 | Kenshoo Ltd. | Attribution of values to user interactions in a sequence |
US20140365296A1 (en) * | 2013-06-07 | 2014-12-11 | Google Inc. | Cross-device conversion estimates |
US20160224901A1 (en) | 2013-06-20 | 2016-08-04 | Vodafone Ip Licensing Limited | Multiple device correlation |
US20150066634A1 (en) * | 2013-09-05 | 2015-03-05 | Kenshoo Ltd. | System, a method and a computer program product for optimally communicating based on user's historical interactions and performance data |
US20150199767A1 (en) * | 2014-01-15 | 2015-07-16 | Bank Of America Corporation | System for Consolidating Customer Transaction Data |
-
2017
- 2017-12-08 US US15/836,586 patent/US10979284B2/en active Active
- 2017-12-12 WO PCT/US2017/065899 patent/WO2018200033A1/en unknown
- 2017-12-12 JP JP2019541308A patent/JP6871395B2/ja active Active
- 2017-12-12 KR KR1020197022470A patent/KR102262482B1/ko active IP Right Grant
- 2017-12-12 EP EP17826037.8A patent/EP3560158B1/en active Active
- 2017-12-15 GB GB1721008.9A patent/GB2561939A/en not_active Withdrawn
- 2017-12-15 DE DE202017107667.9U patent/DE202017107667U1/de active Active
- 2017-12-15 DE DE102017130229.8A patent/DE102017130229A1/de active Pending
-
2018
- 2018-01-31 CN CN201810095150.3A patent/CN108809687B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
WO2018200033A1 (en) | 2018-11-01 |
DE102017130229A1 (de) | 2018-10-31 |
JP6871395B2 (ja) | 2021-05-12 |
KR20190099068A (ko) | 2019-08-23 |
GB201721008D0 (en) | 2018-01-31 |
EP3560158B1 (en) | 2021-04-28 |
JP2020514877A (ja) | 2020-05-21 |
US20180316546A1 (en) | 2018-11-01 |
DE202017107667U1 (de) | 2018-07-31 |
EP3560158A1 (en) | 2019-10-30 |
GB2561939A (en) | 2018-10-31 |
KR102262482B1 (ko) | 2021-06-08 |
CN108809687A (zh) | 2018-11-13 |
US10979284B2 (en) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11615151B2 (en) | Query language for selecting object graphs from application metadata | |
US11799741B2 (en) | Systems and methods for enterprise information technology (IT) monitoring | |
US9851952B2 (en) | Seamless restful API generation and consumption through a single channel | |
US9529657B2 (en) | Techniques for generating diagnostic identifiers to trace events and identifying related diagnostic information | |
JP2022062036A (ja) | 分散イベント処理システムのためのグラフ生成 | |
US12079342B2 (en) | Data lineage management | |
US10262066B2 (en) | Crowd-sourced native application crawling | |
US9087020B1 (en) | Managing and retrieving content from a shared storage | |
US20200409543A1 (en) | Application custom property framework | |
Zheng et al. | Big data storage and management in SaaS applications | |
US10846358B1 (en) | Separated device detection architecture | |
CN108809687B (zh) | 用于提供跨网络事件归因的系统和方法 | |
US20220335044A1 (en) | Database query execution on multiple databases | |
EP4315009A1 (en) | Integrated energy data science platform | |
JP6339932B2 (ja) | データ管理装置、データ管理方法及びデータ管理プログラム | |
Krishnakumar et al. | A Framework for IoT Sensor Data Analytics and Visualisation in Cloud Computing Environments | |
US12013867B2 (en) | Distributed data processing using embedded hermetic and deterministic language | |
CN115390912B (zh) | 资源发现方法、装置、计算机设备和存储介质 | |
CN117234523A (zh) | 反应堆平台功能配置方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |