发明内容
针对现有技术中存在的技术问题,本发明提出了广告投放数据追踪方法和系统,用于获取广告落地页在投放过程中产生的数据。
为了解决上述技术问题,本发明提供了一种广告投放数据追踪方法,其中包括:
在广告落地页注册追踪事件,其中,所述追踪事件的执行方法中设置有对应所述追踪事件的数据获取参数;
在所述追踪事件触发时,按照所述数据获取参数获取对应追踪事件的数据;以及
将采集到的数据上报给服务端。
优选地,广告落地页注册追踪事件的过程进一步包括:确定广告落地页的追踪事件;以及为所述追踪事件设置监听器作为执行方法,其中,所述监听器中设置有对应所述追踪事件的数据获取参数。
优选地,所述追踪事件包括自触发事件和用户事件。
优选地,确定广告落地页的追踪事件的过程进一步包括:确定监听目标DOM节点;为所述DOM节点绑定对应的用户事件。
优选地,确定监听目标DOM节点的过程进一步包括:遍历所述广告落地页的html标签,根据html标签确定DOM节点。
优选地,所述的广告投放数据追踪方法进一步包括:根据预置关键词遍历所述广告落地页的页面内容,确定与所述关键词一致的html元素标签名称;以及根据所述html元素标签名称确定DOM节点。
优选地,所述的广告投放数据追踪方法进一步包括:根据预置场景确定对应的DOM节点。
优选地,所述的广告投放数据追踪方法进一步包括:所述数据获取参数至少包括日志类型参数和日志字段参数。
优选地,按照所述数据获取参数获取对应追踪事件的数据时,根据所述日志类型参数及日志字段参数,获取日志字段中的数据。
优选地,将采集到的数据上报给服务端时,向服务端发送图片请求,并将采集到的数据合并到图片请求的src属性字段中。
优选地,所述的广告投放数据追踪方法进一步包括:采集基础数据;在将追踪事件的数据上报给服务端时,将基础数据一同上报给服务端。
为了解决上述技术问题,本发明还提供了一种广告投放数据追踪系统,其中包括:事件注册模块,经配置用以在广告落地页注册追踪事件,其中,所述追踪事件的执行方法中设置有对应所述追踪事件的数据获取参数;数据采集模块,经配置用以在所述追踪事件触发时,按照所述数据获取参数获取对应追踪事件的数据;以及数据上报模块,经配置用以将采集到的数据上报给服务端。
优选地,所述事件注册模块经进一步配置包括:事件确定单元,经配置用以确定广告落地页的追踪事件;和监听器添加单元,经配置用以为确定的追踪事件设置监听器作为执行方法,其中,所述监听器中设置有对应所述追踪事件的数据获取参数。
优选地,所述事件注册模块经进一步配置还包括:DOM节点确定单元,经配置用以遍历所述广告落地页的html标签,根据html标签确定DOM节点;或根据预置关键词遍历所述广告落地页的页面内容,确定与所述关键词一致的html元素标签名称;根据所述html元素标签名称确定DOM节点;或者根据预置场景确定对应的DOM节点;以及事件绑定单元,经配置用以为所述DOM节点绑定对应的用户事件。
优选地,监听器添加单元经进一步配置,用以将监听器中的所述数据获取参数至少配置为日志类型参数和日志字段参数。
优选地,数据采集模块经进一步配置,在按照所述数据获取参数获取对应追踪事件的数据时,根据所述日志类型参数及日志字段参数,获取日志字段中的数据。
优选地,数据上报模块经进一步配置,将采集到的数据合并到图片请求的属性字段,向服务端发送所述图片请求。
优选地,所述的广告投放数据追踪系统进一步包括:基础数据获取模块,经配置用以获取基础数据,并将所述基础数据发送给数据上报模块,由所述数据上报模块上报给服务端。
为了解决上述技术问题,本发明还提供了一种客户端设备,包括:显示器,用于显示广告落地页;通信接口,用于与服务端交互数据;存储装置,用以存一段或多段程序代码;以及处理器,分别与所述显示器、存储装置和通信接口相连接,通过执行所述一段或多段程序代码用以前述的广告投放数据追踪方法。
本发明采用不同方式、全面地追踪广告落地页在投放过程中产生的各种数据,除了收集大量用户的行为数据,还同时收集广告落地页的网页信息、用户设备信息等数据,为后续的分析提供了全面而丰富的追踪数据。通过对追踪到的数据的设置,方便了后续的数据分析。本发明追踪到的数据准确,系统的扩张性好,并且各种参数的设置灵活,维护方便。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在以下的详细描述中,可以参看作为本申请一部分用来说明本申请的特定实施例的各个说明书附图。在附图中,相似的附图标记在不同图式中描述大体上类似的组件。本申请的各个特定实施例在以下进行了足够详细的描述,使得具备本领域相关知识和技术的普通技术人员能够实施本申请的技术方案。应当理解,还可以利用其它实施例或者对本申请的实施例进行结构、逻辑或者电性的改变。
本发明提供了一种广告投放数据的追踪方法和系统,具体如图1所示,为根据本发明一个实施例的广告投放数据追踪方法的流程图,其中包括:
步骤S100,在广告落地页注册追踪事件。本发明通过监听追踪事件来获取广告落地页上产生的数据。其中,所述的追踪事件是指本发明要监听、获取数据的事件,包括自触发事件和用户事件。所谓自触发事件,是指网页自动触发的事件,如load事件。对于这类事件,只需要为其设置监听器,便可以在事件触发后获取到数据。所谓用户事件,是指由用户的行为而触发的事件,例如点击、滑动、输入等行为。对于这类事件,通过人为地将事件与对应的DOM节点绑定在一起,并设置监听器来获取数据。其中,在所述监听器中设置有对应所述追踪事件的数据获取参数。在事件触发时,根据监听器中的数据获取参数或来获取到与事件对应的数据。因而,在注册用户事件时,要确定监听目标DOM节点,而后为所述DOM节点绑定对应的用户事件,并设置监听器。其中,可以通过以下方法确定监听目标DOM节点:遍历所述广告落地页的html标签,根据html标签的id或class确定DOM节点;根据预置关键词遍历所述广告落地页的页面内容,确定与预置关键词一致的html元素标签名称,然后再根据所述html元素标签名称确定DOM节点;或者,根据预置场景确定DOM节点。其中,所述数据获取参数至少包括日志类型参数和日志字段参数。日志类型参数定义了当前事件数据所属的日志类型,通过设置日志类型与追踪事件的对应关系,在服务端进行数据分析时,根据当前数据的日志类型便可以确定对应的追踪事件,从而方便了后续的数据分析。本领域的技术人员应当知道,也可以监听器中设置描述参数,在描述参数中指定对应的追踪事件标识,从而使服务端在分析数据时确定该数据来自于哪个事件。
步骤S102,在所述追踪事件触发时,按照所述数据获取参数获取对应追踪事件的数据。对于自触发的load事件,在一个实施例中,在load事件的监听器中设置的数据获取参数包括load时间参数,对应的日志字段为load时间字段。根据所述设置,在load事件触发时,计算页面从加载到加载结束之间的时间差值,该时间差值存储在日志中的load时间字段中,从该字段中可以获取到所述时间差值。对于用户事件,根据用户事件的不同,设置的日志类型和日志字段不同,在事件触发时,从对应的日志字段获取对应的数据。
步骤S104,将采集到的数据上报给服务端。在一实施例中,采用获取图片的方式上报数据,即向服务端发送图片请求,并将采集到的数据合并到图片请求的src属性字段中。其中,可将src属性字段中的URL设置为服务器上的脚本URL,或者是将显示方式设置为不显示。服务端在收到该图片请求后,不会返回图片,而是保存属性中的数据。
另外,除了获取与追踪事件对应的数据外,本发明还采集一些基础数据,例如用户设备信息:如用户设备的型号(如iphone、ipad、kindle、blackberry或touchpad等)、使用的操作系统(如android,ios)等,还有关于当前广告的广告位id,广告页的基本信息,如页面尺寸、在用户设备屏幕的位置,如果追踪事件为点击事件,还包括点击的位置等。在一个实施例中,通过浏览器的navigator来获取前述的基础数据,在将采集到的数据上报给服务端时,将基础数据和追踪事件的数据一同上报给服务端。
实施例一
如图2所示,为本发明实施例一中在广告投放过程中的数据追踪过程事件图。在本实施例中,广告在投放过程中,包括广告落地页的加载、展现过程中用户的点击及卸载,具体对应Load事件、多个用户事件及Unload事件。
当一个广告开始投放时,在广告落地页加载完毕时,触发Load事件,在一个实施例中,通过以下代码为Load事件添加监听器,并在监听器中设置数据获取参数:
1window.onload=function(){
2
3}
在上述代码中,可以通过设置合适的function()来指定日志类型和日志字段。或者采用如下代码为Load事件添加监听器,并在监听器中设置日志类型和日志字段,从而可以获取到页面加载的时间:
在上述代码中,t为日志类型,op1为日志字段。在本实施例中,对应load事件的日志类型为loadTime,对应的日志字段为loadTime。从日志的loadTime字段中可以得到页面从加载到加载结束之间的时间差值,所述时间差值连同按照基础参数采集的基础数据SendTypelog(params)一起上报给服务端。
同理,通过对load事件监听器的数据获取参数进行不同设置,可以获取页面开始加载的时间,也就是用户开始进入页面的时间。通过监听Unload事件可以获得用户离开页面的时间。服务端根据这两个时间可以计算得到用户在所述广告落地页的停留时长。
为了监听图2中所示的用户事件,例如用户触发的点击事件,如图3所示,为对图2中的用户事件的数据追踪流程图。
步骤S100a,遍历所述广告落地页的html标签,确定需要绑定事件的html标签,如<form>、<button>、<input>等等。其中遍历广告落地页并为点击事件设置监听器的一个代码实现例子如下:
该段代码表示需要遍历所述广告落地页中所有的表单(<form>)标签,为所有表单的提交事件添加监听器。
步骤S102a,根据html标签的id或class可以确定对应的DOM节点。由于DOM节点与html元素一一对应,因而,当确定了html标签,也就确定了DOM节点
步骤S104a,为所述DOM节点绑定对应的用户事件,并设置监听器中的数据获取参数。具体可以采用push方法来调用监听器来为所述DOM节点绑定对应的用户事件。例如,在上述代码中,window._iclicash.push语句中的form为对应form(表单)标签的DOM节点,submit为要监听的表单中的submit(提交)事件,formSubmit为对当前submit事件自定义的名称,同时也是日志中的日志类型(logtype)。form.action和index分别为日志字段,其中存储有表单中的相应内容。通过上述定义,在采集数据时,查询日志中的formSubmit类型中的form.action字段和index字段,从中获取数据。
又如:
上述代码表示,遍历页面中的按钮标签,并为其绑定点击事件,并命名为buttonClick事件,buttonClick为click事件的自定义名称,同时也是日志中的日志类型,button.name、button.tagName、及index分别为日志中的字段,在该字段中记录了点击该按钮时涉及到的数据。
步骤S106a,在所述追踪事件触发时,执行所述数据获取参数采集数据。如第一段代码的例子,当用户点击了表单的提交,Submit事件被触发,则会从日志中对应formSubmit类型的数据中,取出对应form.action字段和index字段的数据。又如第二段代码的例子,当用户点击了按钮,click事件被触发,则会从日志类型为buttonClick的数据中的button.name字段、button.tagNam e字段、及index字段中读取数据。
步骤S108a,在采集追踪事件的数据时,还通过浏览器的navigator采集一些基础数据,如用户设备信息、页面信息等。
步骤S110a,利用html的get请求图片的方式,将采集到的数据,包括追踪事件的数据和基础数据,合并到图片请求的src属性字段中,从而上报给服务端。服务端接收到的数据的一个例子如下所示:
在该实施例中,字段“t”、“opt1”和“s”是追踪事件的参数,其它为基础数据参数。其中,字段“t:active5”代表日志类型为active5,字段“opt1:去微信”和“s:2”分别为日志中对应“active5”类型的两个日志字段中的数据。
在本发明的另一些实施例中,还定义了其他日志类型及对应的含义,如下表所示:
类型 |
描述 |
active1 |
下载模板中点击下载banner按钮的数据统计 |
active2 |
表单模板中成功提交表单的数据统计 |
active5 |
加粉模板中点击微信(QQ)图标的数据统计 |
disactive |
active5行为发生的前提下,10s内返回原本落地页的行为 |
sdkok |
sdk加载完成的数据 |
sdkinWX |
sdk的加粉转化数据 |
active3 |
点击跳转到链接的数据 |
active20 |
电话拨打(为了表单类去除电话咨询的转化数) |
active7 |
滑块验证通过 |
active8 |
表单校验通过,点击即发 |
active9 |
金币激励,点击完成触发trace |
active6 |
滑块验证失败 |
active10 |
激励加粉,金币加成功 |
wechatCheck |
微信号校验,防止cdn缓存过久导致加粉账号对应不上 |
active15 |
表单提交成功发送trace(用来比对与active2) |
对应基础数据中的参数含义说明如下:
iclicashsid:search id
o:屏幕方向
w:网页宽度
h:网页高度
sw:屏幕宽度
sh:屏幕高度
os:系统类型
ref:referer
v:版本号
s:点击计数
x:clientX
y:clientY
px:pageX
py:pageY
_t:从加载js到发送此日志的时间,单位ms
p:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
timestamp:创建url的时间
根据上表可知,该例子中监听的事件是为了统计用户在加粉模板中点击微信(QQ)图标的次数。在该实施例中,根据采集的数据可知,用户点击了微信图标2次。
实施例二
为了能够更加详细地追踪到用户的行为,本实施监听广告落地页的页面内容中的某些特定内容。所述特定内容,是指与预置关键字相符合的html元素标签名称。所述关键字例如为“免费”,“领取”,“立即”,“下载”,“注册”,“点击”,“提交”,“申请”,“信息”,“领劵”,“改善”,“购买”,“Android”,“安卓”,“IOS”,“苹果”等。
通过遍历广告落地页的页面内容,查找与预置关键字相符合的html元素标签名称,然后再根据所述html元素标签名称确定DOM节点。为其绑定事件,并设置监听器,从而达到监控并获取用户操作这些内容的行为数据。
另外,为了更加准确地获取到某些关键的用户行为数据,如下载应用、提交表单,在一个实施例中,将上述一些关键词合并以对事件进行细化。在一个实施例中,如下代码所示:
上述代码表示,通过采用push方法,将对应“下载”、“Android”、“ios”的DOM节点绑定为一个点击事件,并将其定义为“active_auto_download”的日志类型,在一个可选的日志字段中增加该事件的描述为“自动生成的按钮监控”。
通过本实施例提供的方法,可以灵活预置关键词,使本发明的扩展性更好,并且修改、维护更加灵活、方便,而且可以获得更多的监听数据。
实施例三
本实施为对特殊场景的数据追踪。所述的特殊场景是指,根据产品的特殊需要,在一些通常不进行监听的地方进行监听的场景。例如,监听下拉框的改变的场景。针对特殊场景,根据触发条件确定DOM节点,并为其绑定追踪事件,为所述追踪事件设置监听器,并在事件触发时,获取并上报数据。
监听下拉框的改变来触发上报数据,以及日志类型和解释的代码的实施例如下所示:
Var btn=document.querySelector(“#select”);
window._iclicash=window._iclicash||[];
window._iclicash.push([btn,'change','active10','加金币']);
在本实施例中,在下拉框对应的DOM节点btn绑定“change”事件,并将其日志类型定义为“active10”在一个可选的日志字段中增加解释性描述“加金币”。
如图4所示,为本发明一个实施例提供的广告投放数据追踪系统的原理框图,其中所述系统包括:事件注册模块10、数据采集模块20和数据上报模块30。其中,所述事件注册模块10用以在广告落地页注册追踪事件,并在追踪事件的执行方法中设置对应的数据获取参数。具体地,在一些实施例中,所述事件注册模块10进一步包括事件确定单元100和监听器添加单元102,其中,所述事件确定单元100用以确定广告落地页的追踪事件,如自触发事件,如load事件,或用户触发的用户事件,如点击事件、输入事件等。所述监听器添加单元102用以为确定的追踪事件设置监听器,其中,在所述监听器中设置对应的数据获取参数,用以在事件触发时获取数据。所述数据获取参数包括日志类型参数和日志字段参数,所述的日志字段参数可以为具体的日志字段,也可以为在日志字段中增加的语义化的描述。在一些实施例中,所述事件注册模块10还进一步还包括:DOM节点确定单元104和事件绑定单元106。其中,DOM节点确定单元104用于确定监听目标DOM节点。具体地,其可以遍历所述广告落地页的html标签,根据html标签的id或class确定DOM节点;或根据预置关键词遍历所述广告落地页的页面内容,确定与所述关键词一致的html元素标签名称,根据所述html元素标签名称或id或class确定DOM节点;或者根据预置场景确定DOM节点。事件绑定单元106用于为所述DOM节点绑定对应的用户事件。
所述数据采集模块20用以在所述追踪事件触发时,根据所述数据获取参数采集数据。具体地,在一些实施例中,所述数据采集模块20根据与追踪事件对应的日志类型,获取日志中对应字段的数据。数据上报模块30用以将采集到的数据上报给服务端。具体地,在一些实施例中,数据上报模块30将采集到的数据合并到图片请求的src属性字段,向服务端发送所述图片请求。
另外,所述的广告投放数据追踪系统还进一步包括基础数据获取模块40,在一些实施例中,基础数据获取模块40从浏览器的navigator获取如设备型号、品牌、操作系统等用户设备信息,或者页面的尺寸等信息,并将这些基础数据发送给数据上报模块30,由数据上报模块30将这些信息合并到src属性字段,从而将所述设备信息一起发送给服务端。
如图5所示,为包括本发明提供的客户端设备在内的一种系统结构,在所述系统结构中,包括多个客户端设备1和服务端2。每个客户端设备1包括:显示器、通信接口、存储装置和处理器。显示器可以显示广告落地页。存储装置内存储一段或多段用于广告投放数据追踪的程序代码。通信接口通过网络3与服务端2交互数据。处理器分别与所述显示器、存储装置和通信接口相连接,通过执行存储装置内的所述一段或多段程序代码用以实现广告投放数据追踪的方法。
在客户端设备1上,在进行广告投放数据追踪时,处理器首先调用存储装置中的初始化程序,其中包括initialize()函数,进行初始化,用于定义监控代码和所代表的追踪事件,并通过自定义的push方法,调用iclicashMonitor(),给DOM节点绑定追踪事件。具体的一个实现代码的一例子如下:
其中,访问DOM节点可以采用以下两种方法:
(1)通过使用getElementById()和getElementsByTagName()方法。
(2)通过使用一个元素节点的parentNode、firstChild以及lastChild属。
在一个例子中,实现代码如下:
通过上述操作,为traceBtnEle这一DOM节点绑定了对应的点击事件,并将数据的日志类型设置为active10,在一个日志字段添加描述“加金币”。在点击事件触发时,可获取到日志类型为active10、“加金币”这样的数据。
本发明能够全面地追踪用户在广告落地页的行为数据,并同时可以收集广告落地页的网页信息、用户设备信息,为后续的分析提供了全面而丰富的数据。
上述实施例仅供说明本发明之用,而并非是对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明范围的情况下,还可以做出各种变化和变型,因此,所有等同的技术方案也应属于本发明公开的范畴。