邵珠庆の日记 生命只有一次,你可以用它来做很多伟大的事情–Make the world a little better and easier


297月/11

各大综合门户房产门户的首页栏目收集

发布在 邵珠庆

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

257月/11

50个增强浏览体验的Firefox扩展

发布在 邵珠庆

浏览器当然就是用来浏览的,一个好的浏览器自然就是拥有方便的浏览体验,firefox本身的使用已经很方便很强大,再借助一些Firefox扩展則是如虎添翼,让你畅游网页。本文收集了50多个Firefox扩展,用来提高你的浏览体验,更有利于浏览器的使用。涵盖了Firefox标签管理扩展,网页链接管理扩展,文件下载扩展,隐私与安全扩展,搜索扩展,书签扩展等等。

Firefox标签扩展

All-in-One Gestures – 多合一鼠标手势,集合了流行的滚动、导航等方位插件的鼠标手势的Firefox扩展。

Tabbrowser Preferences – 增强式标签页浏览Firefox扩展,提供一个很全面的图形界面,以便让用户能够轻松更改Firefox中的隐藏设置,让Firefox的标签页浏览功能更加强大和完善,并提供关于链接打开方式的详细设置。

Tab Mix Plus – 这个Firefox扩展在页签上增加了更多的功能,允许你在一个页签上打开多个链接,或者在多个页签打开同一个链接,合并或者关闭同一个域名的链接等。

Restart Firefox – 在文件菜单中加了一项“重启firefox”,在安装Firefox扩展或插件后,使用这个插件可以很方便,不用关闭FireFox。

Sessionsaver – 这个Firefox扩展恢复上一次打开的页面,如果你上次用过FireFox的话,这对于崩溃的FireFox同样有效。

Duplicate Tab – 允许你在新窗口或当前窗口复制相同的页签(包括浏览历史等)。

Colorful Tabs – 可以让打开的标签变成彩色的,使得界面美化。

Viamatic foXpose – 这个Firefox扩展在状态栏上增加一个图标,点一下就可以打开所有的页签。

Firefox Showcase – 简化定位和选择当前窗口的操作。

Separe – 帮助整理当前页签。

Permatabs – 使得一个被选定的页签不能被关闭,并且永远驻留在内存。

FaviconizeTab – 调整页签的宽度,并且只显示图标。

Firefox网页链接扩展

Linky – 下载选中内容中的所有的网页、图像、文件链接等等。

WebMailCompose – 这个Firefox扩展让网页上的发邮件链接自动转移到web邮件的发送邮件地址。

Linkification – 使得FireFox可以在查看纯文本的时候识别链接地址并打开链接。

IE Tab – 使用IE内核访问网页。对于只支持IE的页面特别有用。

FirefoxView – 在IE中使用FireFox打开当前的页面。

Paste and Go – 这个Firefox扩展让你粘贴URL到地址栏后自动打开页面,或者使用快捷键Ctrl-Shift-V。

ErrorZilla – 修改默认的404错误页面为一个Google的缓存页面。

Firefox文件下载扩展

FlashGot – 多线程下载工具Firefox扩展。

PDF Download – 提供浏览者对PDF更多的操控方式,当你点击一个PDF链接时Firefox会弹出一个对话框供你进行选择性操作:下载、在标签页打开、在新标签页中以html方式查看、取消。

ScrapBook – 方便的保存与管理网页的Firefox扩展

DownThemAll – 这个Firefox扩展只需一点即可下载网页中的所有连接。

TargetAlert TargetAlert – 可以帮你扫描网页中的所有超链接,在符合特定文件类型的超链接后面,加上一个特定的图标,让你可以不用去看网址就可以知道这是什么类型的文件。

Download Manager Tweak – 这个Firefox扩展修改FireFox默认的下载管理器,使其可以在书签列(侧边列)或标签页中开启下载管理窗口。

Download Statusbar – 这个Firefox扩展让你可以从状态列看出目前下载文件的进度。

Disable Targets For Downloads – 在点击链接下载文件时,防止打开新窗口。

FireFTP – 在FireFox中实现的一个完全免费的、安全的、跨平台的FTP客户端功能。

Firefox网页浏览扩展

GreaseMonkey – 可以安装用户自己编写的脚本,实现自定义的功能,功能强大。

Image Zoom – 通过右键与滚轮配合使用,放大缩小图片。

Fasterfox – 加速FireFox的启动和运行,网络性能调节与优化。

SpellBound – 对于当前的填写的表单进行英文拼写检查的这个Firefox扩展。

BugMeNot – 绕过网站设置的登录限制,直接进入浏览网页,可以免去烦琐的注册网站的过程。

AutoCopy – 在页面上选择任何内容都会自动将其复制到剪贴板中,按中间的鼠标粘贴。

Copy Plain Text – 无格式复制当前文本内容,将当前页面的所有字体等格式删除后复制。

Google Images Re-Linker – 绕过Google图片搜索的框架预览页面,直接浏览里面的略缩图的大图。

Stop-or-Reload Button – 这个Firefox扩展将刷新和停止整合为一个按钮。

Extended Statusbar – 像Opera的状态栏那样的东西,一个显示速度、进度百分比、时间和载入字节数的状态条。

Resizeable Textarea – 可以让你调节表单文字录入框的大小,不用再不停的拖滚动条了。

Adblock Plus – Adblock plus是Adblock的加强版。可以阻挡特定网址及网页上的广告对象(例如图片、Flash)。

Flashblock – 阻挡所有Flash的Firefox扩展。

Sage – 一个轻量级的RSS阅读器Firefox扩展,在侧边栏提供一个窗口阅读RSS。

Cacheout – 这个Firefox扩展让你通过Google的缓存或者代理来访问某个页面。

Pearl Crescent Page Saver – 截屏程序,可以将整个页面保存为一个图片。

Reload Every – 自动去刷新某个页面的Firefox扩展

Copy URL+ – 这个Firefox扩展能让使用者在复制网页上面选取的文字时,也同时复制网页的网址与标题。

InFormEnter – 以半自动模式填写表单的助手。这个Firefox扩展在一个网页表单的每个输入栏加入一个能够点击的小图标,你能从这里选择条目插入——不需要键入。你能通过菜单设定,使它显示你经常用到的信息,例如名字、email、地址等等。

All-in-One Sidebar – 在侧边栏中就可以快速切换书签、下载项和Firefox扩展等面板,或者在侧边栏登陆网站、查看源代码;另外,还有侧栏切换柄和工具栏,单击浏览器一侧的突起边缘,即可打开/关闭Firefox扩展,所有这些都允许用户自由定制

Text size toolbar – 这个Firefox扩展添加一个按钮,可以增加或者减小字体,也可以回复到默认字体。

Reveal – 这个Firefox扩展让你可以在历史记录里看到页面的缩略图,以便快速找到你需要的网页。

Mystickies – 这个Firefox扩展让你可以在Web上放一个便条纸,并使用Tag标记。

Clear Cache Button – 在工具栏中添加一个清除缓存的按钮,单击一次即可清除历史记录。

gTranslate – 在页面上右击即可使用Google来翻译当前网页的内容。

Xinha Here! – 一个所见即所得的文本编辑器。

Yoono – 即时显示建议的网址,并分享大家共同感兴趣的网址。

BlueOrganizer – 帮你定制你的个性化信息,帮助你节省时间找到相关的信息。

Firefox隐私与安全扩展

SwitchProxy – 让你在多个代理服务器上快速切换,以实现匿名上网的Firefox扩展

NoScript – 只允许受信任的网站启用javascript、Java 或其他插件。白名单基于优先阻止机制,在不损失任何功能的情况下,阻止利用已知或未知安全漏洞的攻击。

Always Remember Password – 让一些网站永远记住你的密码,不用再重新输入。用于对付一些总让你输密码的网站,如银行等。

CookieCuller – 增强版本的Cookie管理器的Firefox扩展。

Stealther – 使用浏览网页不留下任何痕迹。

Firefox搜索扩展

Google Toolbar for Firefox – Google工具栏软件,可以实现多种实用的功能。

CustomizeGoogle – 增强的Google搜索结果,添加很多附加信息,同时删除一些没用的信息(比如Google的广告等,个人觉得这样似乎不太好)。

NextPlease – 这个Firefox扩展为浏览器添加前进后退按钮,或者说是翻页按钮。

BetterSearch – 增强Google, MSN Search, Yahoo Search, A9, Answers.com, AllTheWeb, Dogpile.com, del.icio.us and Simpy.com bookmarks等的搜索结果。

Answers – 按住Alt键后点任何一个单词,可以得到一个快速的相关定义或者解释说明。

Firefox音乐、视频扩展

FoxyTunes – 边上网边听歌的Firefox扩展。不用离开浏览器就可以控制你喜欢的媒体播放器。

MediaPlayerConnectivity – 使您轻轻一按就可用外部媒体播放程序播放网页内嵌视频。

Firefox电子邮件扩展

Gmail Manager – 这个Firefox扩展用来同时管理多个GMail账号,即时显示各账号中的新邮件统计。

Gmail Notifier – 这个Firefox扩展自动检查GMail里的邮件。

AJAX Yahoo Mail – 这个Firefox扩展为Yahoo Mail加入ajax功能,可以只用按一下,就查看邮件。

更多请看13款Firefox Gmail扩展

Firefox书签扩展

Bookmark with Del.icio.us – 在FireFox中集成del.icio.us,轻松发布自己的书签而不用离开当前页面。

Foxmarks Bookmark Synchronizer – 安装这个插件后,其会在后台自动同步当前的书签。

StumbleUpon – 一个让你更方便的浏览优秀网站的FireFox插件。

Reliby – 提供一个刷新所有即时书签功能的Firefox扩展。

Clipmarks – 让你保存并分享页面内容而不用进入整个页面的Firefox扩展。

其它流行服务的Firefox扩展

Adsense Notifier – 在状态栏显示Adsense的收入。

Forecastfox – 在状态栏显示天气预报。

StockTicker – 这个Firefox扩展显示你喜欢的股票状态。

DictionarySearch – 这是一个在线词典查找单词的Firefox扩展。

Web Developer – 网站开发者使用的工具,有很多优秀的功能。

Performancing for Firefox – 一个Blog编辑器,让你可以轻松的在wordpress、MovableType或者Blogger中发布文章。

Map+ – 让你能快速查看地图中选择的地址而不用改变窗口。

ChatZilla – 一个干净易用的IRC聊天客户端软件。

227月/11

Google Analytics(分析):_trackEvent()

发布在 邵珠庆

pageTracker._trackEvent 的函数公式:

_trackEvent(category, action, optional_label, optional_value)

category, action, optional_label,三个是需要用引号定义字符(单双引号都行), optional_value是变量或者数字常量。

正确情况:

pageTracker._trackEvent("ABC", "cc", "Dir", 33)
pageTracker._trackEvent("ABC", "cc", "Dir")
pageTracker._trackEvent("ABC", "cc")
pageTracker._trackEvent("ABC", "cc", "", 33)

错误情况:

pageTracker._trackEvent("ABC", "cc", 33)

监测失效原因:第三个参数缺失。

pageTracker._trackEvent("ABC", "cc", "Dir", "33")

监测失效原因:第四个参数不能加引号。

pageTracker._trackEvent("ABC", "cc", Dir, 33)

监测失效原因:第三个参数没加引号。

监测函数不需要放在GA监测代码后面。可放在标签内任何地方,或者object(flash,JAVA等)内部。

 

附事件跟踪指南

目录

  1. 设置事件跟踪
  2. 事件跟踪详解
    1. 类别
    2. 操作
    3. 标签
    4. 隐含计数
  3. 实施注意事项

设置事件跟踪

您需要按照以下步骤在网站上设置跟踪功能,然后才能在报告中查看事件跟踪结果。

  1. 在您的网站上设置跟踪功能。确保您已为网站设置好了跟踪功能。要了解具体设置方法,请参阅跟踪网站
  2. 在网页对象、窗口小部件或视频的源代码中调用 _trackEvent() 方法

    _trackEvent() 方法的规范为:

    _trackEvent(category, action, opt_label, opt_value)
    • 类别(必填)

      为要跟踪的对象组指定的名称。

    • 操作(必填)

      与每个类别具有唯一对应关系的字符串,通常用于为网页对象定义用户互动的类型。

    • 标签(可选)

      为事件数据提供额外维度的可选字符串。

    • 值(可选)

      可以用来提供有关用户事件的数值数据的整数。

  3. 查看报告。在事件跟踪设置完毕并在您的网站上运行一天之后,请转到报告的“内容”部分并查看“事件跟踪”。

事件跟踪详解

事件跟踪数据模型由以下几部分组成,这些组成部分与 Google Analytics(分析)报告界面中的相应元素一一对应:

  • 类别
  • 操作
  • 标签
  • 隐含计数

以下是一个简单的例子,解释了如何使用事件跟踪方法来记录用户与您网页上的视频“播放”链接之间的互动。其中假设 pageTracker 是您的跟踪对象的名称。

<a href="#" onClick="_gaq.push(['_trackEvent', 'Videos', 'Play', 'Baby\'s First Birthday']);">Play</a>

在这个例子中,事件的报告会将 Videos 显示为“类别”,将 Play 显示为“操作”,将 Baby's First Birthday 显示为“标签”。下文将会详细说明这些组成部分。请注意,在实施事件跟踪时,您可以使用此数据模型作为指南,也可以直接使用 _trackEvent() 方法,以适用于您的数据的任意方式来细分用户互动。


类别

对于事件跟踪,“类别”是您指定的用于分组要跟踪的对象的方式。它是 _trackEvent() 方法中使用的第一个参数,并且是必填参数。

“类别”一词在报告界面里位于“事件概览”页上,名为“热门类别”。在此模型中,类别代表事件跟踪层级结构的“根级别”,您可以采用适合您的报告需要的任意方式使用该结构。一般来说,对于您想要归入指定类别的相关用户界面元素,您会多次用到同一类别名称。

例如,要跟踪同一个视频界面上的三个单独控件的用户互动情况,您可以使用以下函数:

_gaq.push(['_trackEvent', 'Videos', 'Play', 'Gone With the Wind']);
_gaq.push(['_trackEvent', 'Videos', 'Pause', 'Gone With the Wind']);
_gaq.push(['_trackEvent', 'Videos', 'Stop', 'Gone With the Wind']);

假设您还想要跟踪视频的下载次数。您可以使用:

gaq.push(['_trackEvent', 'Videos', 'Downloaded', 'Gone With the Wind']);

在这个例子中,“事件概览”页上的“热门类别”中将只有一个类别(即“Videos”),并且您会看到有关该视频对象整个元素集用户互动情况的汇总指标。

不过,通常您想要通过事件跟踪功能跟踪的对象很可能不止一个,因此在实施调用前最好先仔细考虑一下如何分类报告。例如,您可能希望跟踪“Videos”主类别下的所有不同影片,这样您就可以获得有关所有视频互动的汇总数据,无论用户实际观看的是哪部视频。

另一方面,您可以根据视频的类型创建单独的类别。例如,影片视频和音乐视频各占一个类别。您可能还希望为视频下载单独创建一个类别:

  • Videos - Movies
  • Videos - Music
  • Downloads

在这个例子中,您可以通过“事件总数”标签确定所有三个类别的总计事件数。“事件总数”指标显示的是您在事件跟踪实施中指定的所有类别的事件总数。不过,您无法在“Downloads”中单独查看所有视频的汇总指标,因为详细事件指标汇总在其各自所属的类别之下。

尽管事件跟踪对象模型非常灵活,您还是应该先规划好所需的报告结构,然后再为类似网页对象元素调用 _trackEvent() 方法。如果您打算在多个位置使用相同的类别名称,请务必按名称正确引用所需的类别。例如,如果您打算调用视频跟踪类别“Video”,而后来又因为记错而 使用了复数的“Videos”,其结果将是针对视频跟踪产生两个单独的类别。另外,如果您决定更改某个对象的类别名称,而该对象已通过不同的名称进行了跟 踪,则原类别的历史数据将不会得到重新处理,而这会导致同一个网页元素的指标列于报告界面中的两个类别之下。

返回页首

操作

事件跟踪模型中的“操作”一词指的是 _trackEvent() 方法中的第二个参数。它也是必填参数。

_gaq.push(['_trackEvent', 'Videos', 'Play', 'Gone With the Wind']);

一般来说,您会使用 action 参数来命名您希望针对特定网页对象跟踪的事件或互动的类型。例如,在一个“Videos”类别中,您可以使用此参数跟踪多个特定事件,如:

  • 视频完成载入的时间
  • “播放”按钮点击次数
  • “停止”按钮点击次数
  • “暂停”按钮点击次数

与类别一样,为 action 指定怎样的名称完全取决于您自己,不过,对于事件操作在报告中的使用方式,有两个要点需要注意:

  • 所有操作均独立于其母类别单独列出。
    而这一点正好可以在您为报告细分事件数据时派上用场。
  • 唯一身份事件取决于唯一身份操作名称。
    您可以在不同类别中使用重复的操作名称,但这可能会影响唯一身份事件的计算方式。有关详情,请参阅下文的建议以及隐含计数部分。

要确保在针对网站大范围实施事件跟踪时的报告效果,请在使用操作时注意以下几点:

  • 操作名称应与您的报告数据相关

    事件跟踪会将两个不同类别中具有相同操作名称的指标合并在一起。例如,如果您将操作名称“Click”同时用于“Downloads”类别和 “Videos”类别,那么“热门操作”报告中有关“Click”的指标会同时包含使用该名称标记的所有互动。您可以在下一报告级别中看到按类别细分的 “点击”操作的详细信息。不过,如果您在整个事件跟踪实施中不加区分地使用“click”操作,则报告中该细分的实用性就会大打折扣。如果您准备在网站上 大规模使用事件跟踪,那么您最好选择与您的数据类别相关的操作名称。例如,您可以选择为小工具互动保留“click”一词,而为视频播放器互动保留 “Play”、“Pause”、“Stop”等操作名称。

  • 以全局为背景使用操作名称以便汇总或区分用户互动

    例如,您可以为针对网站上所有视频的“Videos”类别使用“Play”作为操作名称。在此模型中,“热门操作”报告会为“Play”操作的事件提供汇总数据,而且您可以了解有关您的视频的这一事件与其他事件(如“暂停”或“停止”)的对比情况。

    不过,假设您想只在报告中使用一个视频类别,但是又想了解有关两个不同的视频播放器用户界面的信息。您可以使用操作名称来区分不同的视频播放器,而不必创建单独的视频类别。这样,报告就可以区分两个播放器的风格,同时还能汇总有关网站上所有视频的数据。

    _gaq.push(['_trackEvent', 'Videos', 'Play - Mac Chrome');
    _gaq.push(['_trackEvent', 'Videos', 'Play - Windows Chrome');
    
  • 操作并不总是意味着“操作”。

    您可以为操作参数指定任意字符串。某些情况下,实际的事件或操作名称可能并不实用,此时您可以使用操作参数来跟踪其他元 素。例如,如果您想要跟踪网页的下载情况,您可以将文档的文件类型指定为下载事件的操作参数。在这个例子中,有关“Downloads”类别的报告数据就 会按照文件类型(pdf、doc、xls 等)来划分。

  • 唯一身份事件数的累加取决于唯一身份操作数

    每当有用户与标为特定操作名称的对象进行互动时,其首次互动均会被记录为该操作名称的一次“唯一身份事件”。由该用户的会话触发的同一操作的其他任何互动均不会计入该特定操作的唯一身份事件。即使该用户离开相应对象,然后开始与标为相同操作名称的其他对象进行互动,情况也是如此。

    这会对报告的结果产生两个显著的影响。首先,假设某用户与两个类别各异的不同视频播放器的“Play”操作进行了互动。有关“Play”的“热门操作”报告只会列出一个唯一身份事件,虽然该用户实际上与两个不同的播放器进行了互动。其次,每个类别的“操作”报告会列出一个唯一身份操作,因为每个类别/操作配对确实有一个唯一身份事件。要了解详情,请参阅隐含计数部分。

返回页首

标签

事件跟踪数据模型中的“标签”一词指的是 _trackEvent() 方法中的第三个字符串参数。此参数是可选参数。通过标签,您可以为要跟踪的事件提供额外信息,例如以上示例中的影片标题,或是跟踪下载情况时的文件名称。

pageTracker._trackEvent('Downloads', 'PDF', '/salesForms/orderForm1.pdf');

与“类别”和“操作”一样,报告界面中有单独的部分来显示您为事件跟踪创建的所有标签。您可以将标签看作创建针对用户与网页对象之间互动的 额外报告维度的方法。例如,假设您的网页上有 5 个视频播放器需要跟踪用户与之的互动情况。这些视频播放器中的每一个都可以使用“Videos”类别和“Play”操作,但是每个播放器又可以使用单独的 标签(比如影片名称),这样它们就可以在报告中显示为不同的元素。

_gaq.push(['_trackEvent', 'Videos', 'Play', 'Gone With the Wind']);
_gaq.push(['_trackEvent', 'Videos', 'Play', 'Huckleberry Finn']);

“值”一词指的是 _trackEvent() 方法中使用的第四个参数,它是一个可选的参数。此参数与其他参数不同,因为它属于 integer 类型,而不是 string 类型,因此您可以使用它来为所跟踪的网页对象指定数字值。例如,您可以通过它来指定以秒计时的播放器载入时间,还可以在视频播放器播放到特定位置时触发一个美元价值。

_gaq.push(['_trackEvent', 'Videos', 'Video Load Time', 'Gone With the Wind', downloadTime]);

该值会按数字识别,并且报告会根据每个事件计数(请参阅下文的隐含计数)累加出总计值。报告还会确定相应类别的平均值。在上述示例中,_trackEvent() 方法会在视频载入完成时针对“Video Load Time”操作进行调用。视频的名称作为标记提供,算出的载入时间会针对各视频下载进行累加。这样,您就可以确定“Videos”类别所有“Video Load Time”操作的平均载入时间。假设您网站上的视频获得了 5 次唯一下载,其下载时间(以秒计算)为:

  • 10
  • 25
  • 8
  • 5
  • 5

报告界面会进行如下计算,该示例中的数字表示的是以秒计算的下载时间:

带来事件的访问 平均值
5 53 10.6

目前此参数还不支持负整数。

隐含计数

在事件跟踪中,每一次与所跟踪的网页对象之间的互动都会得到记录,并且每次互动都会与特定用户会话相关联。在报告中,“事件总数”计算的是 与某所跟踪网页对象之间的互动总数。另一方面,当某一用户会话(即访问)涉及一个或多个事件时,此指标就会计算为报告中的单个“带来事件的访问”或者“唯 一身份事件”。

比如说,如果一个用户对某视频上的同一按钮点击了 5 次,那么与该视频相关联的事件总数为 5,唯一身份事件数为 1。

以下表格解释了报告界面中某一指定事件类别的数据如何汇总。在该示例中,同一类别名称调用自两个不同的视频播放器,两个播放器各自具有不同的标签。这两个播放器共享“Play”和“Stop”操作,Flash 用户界面针对视频播放器采用的就是这一编程方式。

针对“Videos”类别的事件跟踪
操作类型 标签:“Gone With the Wind” 标签:“Mr Smith Goes to Washington” 总计
Play 10 次带来事件的访问 5 次带来事件的访问 15 次唯一身份事件“播放”
Pause 2 次带来事件的访问 8 次带来事件的访问 10 次唯一身份事件“暂停”
Stop 2 次带来事件的访问 3 次带来事件的访问 5 次唯一身份事件“停止”
总计 GWTW 获得了 14 次唯一身份事件 Mr Smith 获得了 16 次唯一身份事件 类别“videos”获得了 30 次唯一身份事件

上方的表格假设用户与“Gone With the Wind”和“Mr Smith Goes to Washington”之间的互动各自发生在单独的用户会话(访问)中。不过,下方的表格显示了如何在更为复杂和典型的情况下计算指定操作的事件次数, 即,一些用户只在一个视频中按了“播放”,而其他用户则在一次访问期间与多个视频进行了互动。在这里,唯一身份事件总数反映了所有标签的“Play”操作 的唯一身份事件总数。请注意,尽管每个标签/操作配对都对应有 17 次唯一身份事件,但报告中只列出相关维度的唯一身份事件次数。因此,对于所有操作,仅有 16 次唯一身份事件,对于“Videos”类别,总共有 16 次访问,其中包含类别为“Videos”的一个事件。

针对“Play”操作的事件跟踪计算
操作类型 标签:“Gone With the Wind” 标签:“Mr Smith Goes to Washington” 总计
Play 10 次带来事件的访问   10 次唯一身份事件“播放”
Play   5 次带来事件的访问 5 次唯一身份事件“播放”
Play 两部影片均有 1 次带来事件的访问(对“播放”的两次点击) 1 次唯一身份事件“播放”
总计 GWTW 获得了 11 次唯一身份播放事件 Mr Smith 获得了 6 次唯一身份播放事件 类别“Videos”获得了 16 次唯一身份事件,操作“Play”获得了 16 次唯一身份事件

实施注意事项

在为网站实施事件跟踪时,请注意以下几点。

跳出率的影响

一般来说,“跳出”是指用户只在您的网站上访问了一个网页。在 Google Analytics(分析)中,“跳出”特指仅触发了一次 GIF 请求的会话,例如,用户访问了您网站上的一个网页,然后就退出了网站,并且这次访问没有向 Google Analytics(分析)服务器发出有关这次会话的任何其他请求。不过,如果您为网站实施了事件跟踪,您可能会注意到实施了事件跟踪的网页的跳出率指标 有所不同。这是因为事件跟踪像网页跟踪一样被归类为互动请求。

例如,假设您的一个包含视频播放器的网页的跳出率一直很高,并且您没有为该网页实施事件跟踪。如果您随后为该播放器设置了事件跟踪,那么您可能会注 意到该网页的跳出率有所降低,这是因为 Google Analytics(分析)会记录用户与播放器的互动,并将互动作为额外的 GIF 请求发送给服务器。因此,即使在访问该网页的访问者中,仍有相同比例的访问者未查看您网站上的任何其他网页就退出网站,他们与视频播放器之间的互动同样会 触发事件跟踪调用,这样一来,他们的访问就不能算作跳出。

在这种计算方法中,对于实施了事件跟踪的网页,“跳出”所指的意义稍有不同:只访问一个页面,并且在该访问中,用户与跟踪的事件之间未发生任何互动。

请您务必注意,任何在网页载入时自动执行的事件跟踪都会导致该网页的零跳出率。如果您实施了 TimeTracker 示例或任何类似的事件跟踪功能,就会出现这种情况。

每次会话事件数限制

对于每次访问(用户会话),最多只能跟踪大概 500 个综合 GATC 请求(事件和浏览量)。在您通过编程方式生成事件时,请注意这一数量限制。另请注意:当一次会话中的事件数量接近上限时,您可能不能再跟踪更多事件。例如,您应该:

  • 避免将视频的脚本处理为每播放一秒就发送一次事件,以及其他重复次数过多的事件触发因素
  • 避免使用过多的鼠标移动跟踪
  • 避免使用可生成较高的事件次数的定时机制
187月/11

日均发帖3000的人气地方社区数据分享

发布在 邵珠庆

昨天在微博上说了会和大家分享自己去年收集的100多个日均发帖3000以上的地方社区的数据。在整理数据的时候,我也在想,需要把数据再更新下不,因为毕竟是1年前的数据了。但后来想,1是更新耗费时间,2是保留现在的数据分享出来会更有意义。大家看这些论坛现在的数据,再看他们1年前的数据进行对比,会得到更多的感触和借鉴。

通过数据对比可以了解到哪些人气地方社区在这1年的时间里进步了,而哪些人气下降了。其中我也发现一些论坛的数据特别离奇,比如我统计的某重庆本地论坛,去年这个时候我统计的注册会员数在20W左右,我昨天再去看的时候就变成113W会员了,这发展速度也太快了。

昨天在微博上也有朋友说,更想知道我是如何收集数据的。其实我用的数据收集的办法很简单,首先看知名导航站的地方社区分类,比如hao123已经收录了大部分优秀的地方社区名单。在导航站里收集得差不多后,再通过地区+论坛等关键词搜索在百度寻找,比如寻找重庆的人气社区,就是搜索重庆论坛,一般都能找到。我觉得收集数据不难,关键是要学会分析数据,分析这些网站中那些数据是有意义的。之前28推的公益培训第2期任务,也就是锻炼学员收集数据和分析数据的能力。因为我一直觉得做好数据分析,对网站推广有非常大的帮助。

说实话,当时做的收集做得并不是特别细,主要就是用了导航站和百度关键词的收集方式,可能也有少部分地方人气社区没收集到。但反过来看,也是这些网站自身的品牌推广和SEO做得差。如果真的做得非常好了,为何关键词没排在百度前面?为何没被hao123这样的知名导航站收录了?如果我收集不到,同理,你的潜在广告主也会有可能找不到贵网站。从而网站失去一些发展合作的机会。

比如重庆IT论坛,重庆涪风论坛,天津百丽吧等人气社区在当时就没收集到,但如果下次再做地方人气数据分享的时候,就一定会有了。

先直接给大家看我1年前收集的数据名单,并从会员数,发帖数,alexa排名,程序类别,行业信息侧重点等几个纬度去分析这个社区的价值。这些数据的价值,也不用我多说了,很多行业和网站都会涉及和地方社区的合作,有这么一份数据在手,可以少做不少调查工作了。收集和分析这些数据也是花了我不少时间的。

  (文档版提供下载: http://bbs.28tui.com/thread-112623-1-1.html

 

 

 

其实当时还同时收集了这些网站的联系方式,但个人觉得这有点敏感,所以就不公布出来了。当时收集这些信息,也就是考虑到以后可能会找这些社区谈合作。其中我觉得最有价值的是信息侧重点,我把每个论坛都打开了研究,他们人气最旺的版块是哪些。哪些社区偏交易?哪些偏房产,哪些偏交友。哪些完全就是综合类信息没什么特色。

 

我想很多行业都有找地方社区合作的需求,比如房产网站,自然希望找个偏房产信息的地方论坛,这样用户针对性更强。做婚恋网站的,自然也就想找偏交友的地方社区合作。总之一个地方社区越有行业特点,就越有价值,广告会更好卖点。

另外给大家看下对上面数据的一些综合分析

1:各省人气社区排行

通过之前的数据分析,浙江,江苏,安徽,福建,山东五地是人气社区最多的省份。现在业内最知名的5家地方社区也正好出现这5个省份里。分别是浙江19楼社区,江苏化龙巷,安徽合肥论坛,福建厦门小鱼社区,山东烟台论坛。这几家都是每天日发帖5W以上的超人气地方社区。其中浙江的19楼,甚至每天100W的发帖量

通过分析发现,越是有知名地方社区的省份,人气地方社区也就越多。有了一个带头大哥,从而各市都有人出来模仿,养成了一个省的用户都有了上本地社区的习惯。而东三省,云南,贵州,青海等省份,就是缺少了一个带头大哥,从而地方社区气氛不融

2:各省地方社区行业趋向调查

如图:各个城市的行业偏重

通过调查发现“同城交易”“房产家居”是大部分地方论坛所侧重的。然后就是“人才招聘”“婚庆”“购物团购”。说明这些也是地方社区主要运营的行业方向,更加容易做起来。

3:不同类型,不同发帖量的地方社区行业偏重差异明显

分析发现地方媒体旗下的论坛更偏重本地信息讨论,行业话题讨论比较少。发现部分发贴量在1W-3W的地方媒体的本地论坛,交流行业话题的内容都非常的少。比如“华声论坛”“红网论坛”等等。个人分析是因为地方媒体对论坛的重视力度不够,所以未能带动用户关注到行业信息上。

发帖量5000以内的社区内容,大部分也是聊天灌水等综合信息为主,行业板块人气都不佳。说明地方论坛初期,人气还不是特别旺的时候,交流的信息都还局限于本地新闻等综合信息讨论。会去关注行业板块的人比较少,主要还是要看论坛管理员后期的运营能力,如何去引导用户关注到更有商业价值的行业信息上。

发帖量5000以上的非政府地方社区普遍运营得比较好,都有明显的行业趋向。其中“同城交易”“房产家居”“人才招聘”等10多个行业板块都是大部分人气社区都有的版块。但“同城交易”和“房产家居”又是行业板块中人气最旺的。说明地方论坛用户,对这2块的生活需求最高。

4:地方社区论坛程序调查

91家地方社区使用的是腾讯旗下的产品discuz,21家地方社区使用的是阿里旗下的产品phpwind,有20家地方社区使用的是其它论坛程序,比如动网的DVBSS,还有自主开发的论坛程序。使用其它程序的多为地方媒体的论坛频道。

如图:各个省份的地方社区程序使用情况

通过调查发现,发展得比较好的本地地方社区,都是使用disuzphpwind 2个主流的论坛程序。说明论坛用户对这种程序的界面风格和功能更能习惯

在使用其它程序的20家本地社区里,除了少数几个本地知名媒体旗下的地方论坛,因为有自身强大资源的支持,人气还行外。使用其它程序的个人组建的地方社区人气都比较一般

如图:人气社区程序使用比例分布

今天的人气地方社区数据分享就到这,可能有些美中不足的地方,比如不是最新的数据,可能也不是那么的完整。也可能在这1年的时间里,又冒出了更多的人气社区在今天的数据里没提到。但我觉得这不是坏事,我准备有时间在这基础上再重新收集一份。到时候新旧2份数据进行比较,会看到更多有意义的东西。

187月/11

艾瑞EcommercePlus:2011年5月份中国网民网购时间分布规律初探

发布在 邵珠庆

艾瑞咨询电子商务网站服务评估工具EcommercePlus(以下简称ECPlus)的数据显示,中国网民每日网购高峰出现在上午10点和晚上9点;每周网购主要集中于工作日;月度网购热度则从月初到月末呈下降趋势。艾瑞咨询认为,中国网民网购的时间分布规律明显,国内电子商务网站可依照网民网购习惯部署和调整销售策略,以获取最大收益。

  每日:网购高峰出现在上午10点和晚上9点

ECPlus的数据显示,中国网民每日网购在上午10点达到最高峰,其订单量占比达10%。从上午10点到下午6点,除中午11点外网购热度呈下降趋势,下午6点到晚上9点则再次上升,并在晚上9点达到全日网购的次高峰,此后直线下跌。

艾瑞咨询分析认为,中国网民每日网购的时间分布反映了中国主流网购人群及其网购习惯。年轻白领和大中学校学生作为当下国内网购的主力军,在上午10点左右开始进入上网高峰期,电子商务网站的流量也达到高峰,网购热度自然较高。晚上9点各类人群基本都进入睡前休息时段,尤其女性及学生大部分此时也进入休闲状态,网购热度也达到另一高峰。艾瑞咨询建议,国内网商可就网购高峰时段适当进行战术调整,以迎合国内网民的网购需求。

  每周:网购主要集中于工作日

ECPlus的数据显示,国内网民网购主要集中于工作日,尤以星期二到星期四为高潮时段。且在星期二达到最高峰,订单量占比达18%。周末网购热度则明显下降。

艾瑞咨询分析认为,网民在工作日触网方便,可在工作间隙网上购物。周末则多休息放松,离网人数增加,导致网购热度明显下降。艾瑞咨询建议,国内网商可在工作日尤其周二至周四加大降价让利等促销力度,或可实现收益的最大化。

  每月:网购热度从月初至月末呈下降趋势

ECPlus的数据显示,2011年5月份每日的订单量占比在2%至4%之间波动,并呈现周期性变化,但月度总体趋势略显下降。另外,月度的订单量走势也印证了周度的订单量变化,即网购用户下单多集中在工作日,尤其周二至周四,周末订单量偏低。

艾瑞咨询分析认为,网购热度月度内走势略显下降,或与工薪阶层购物预算松紧程度相关。月度之初,手头较为宽裕,网民购物时顾虑略小;月末之时,预算偏紧,网民购物时更为谨慎。艾瑞咨询建议,国内电子商务网站在每月初展开较强的营销攻势,以迎合网民较强的购物需求,收效或更好。

  注:数据监测原理

EcommercePlus 是艾瑞基于iUserTracker网络用户行为的连续性研究数据,针对电子商务网站运营效率与用户购买行为追踪的专业分析工具。ECPlus根据消费者进行网购时的自然购物流程构建分析模块,实时监测购物流程上每个节点消费者的行为模式。

有关电子商务网站运营状况的更多内容和数据,以及电子商务数据挖掘定制服务,敬请关注艾瑞咨询电商服务评估工具EcommercePlus。

35月/11

使用Google Analytics跟踪下载等事件

发布在 邵珠庆

在前面的《如何在Google Analytics下设定下载目标》中,我们将下载对象模拟成对一个普通的HTML页面的访问来跟踪下载链接被点击的次数(将register.zip的访问模拟成对页面/downloads/register_zip这个页面的访问),下面我再介绍一下如何在GA里面使用它的事件跟踪方法来追踪事件。

GA里面提供了一个方法_trackEvent(category, action, opt_label, opt_value),用于跟踪页面里面的事件。它有四个参数,这四个参数分别表示:

  • category (必须)

用于给你需要跟踪的对象组命名。例如:按钮、Banner等等。

  • action (必须)

和每个分类匹配的字符串,通常用于定义用户和网页对象的交互类型。

  • label (可选)

一个可选的字符串,用于给事件数据提供附加的维度。

  • value (可选)

一个可选的数字类型参数,可以用于提供关于用户事件的数字数据。

在设置了事件跟踪后,可以在GA控制台的“内容(Content)”->“事件追踪(Event Tracking)”中看到相关的跟踪数据。

下面看一个例子。在这个博客的上面,有一个超链接,指向博客首页,如下图:


头部链接

另外,在页面的底部,为了更好的优化首页的2个关键字:SEO实践和SEM实践,我加了2个次导航,也是链向首页。


底部次导航

现在我想看一下这2个地方的点击情况到底有什么区别(当然在这里实际上肯定点页面头部的人多),那么我可以分别给头部和尾部的链接加上跟踪代码,如下:

  • 头部:

<a href=”http://www.seo-sem-blog.com/” onclick=”JavaScript:pageTracker._eventTrack(‘IdxPg’,'Lnk’,'TopLnk’);”&gt;SEO、SEM实践博客</a>

  • 底部:

<a href=”http://www.seo-sem-blog.com/” onclick=”JavaScript:pageTracker._eventTrack(‘IdxPg’,'Lnk’,'BtmLnk’);”&gt;SEO实践</a>

<a href=”http://www.seo-sem-blog.com/” onclick=”JavaScript:pageTracker._eventTrack(‘IdxPg’,'Lnk’,'BtmLnk’);”&gt;SEM实践</a>

这样后续我就可以在GA中看到各自的点击情况统计了。

总体来说,GA里的事件跟踪方法适用于:

  • 跟踪下载等事件
  • 跟踪播放器播放、暂停、停止等按钮。
  • 跟踪某个页面内各个Call In Actions的对象的点击,从而评估这些对象的效果和价值。
  • 其他事件。

更详细的说明,请参考:http://code.google.com/apis/analytics/docs/tracking/eventTrackerGuide.html

注意这个说明文档中的举例都是GA的最新的异步代码方式,其调用方法的格式是:

_gaq.push([方法名, 该方法对应的参数])
2511月/10

A/B测试:实现方法

发布在 邵珠庆

上文介绍了 A/B 测试的基本概念 ,接下来我们继续探讨如何实现 A/B 测试

我们先来看一个图:

A/B testing 部署概念图
(注:感谢Algo 提供本图。)

上图展示了 A/B 测试的实现原理。从左到右,四条较粗的竖线代表了 A/B 测试中的四个关键角色:客户端(Client)、服务器(Server)、数据层(Data)、数据仓库(Data Warehouse)。从上到下代表了三种访问形式:无 A/B 测试的普通访问流程(Non AB test)、基于后端的 A/B 测试访问流程(Back-end AB test)、基于前端的 A/B 测试访问流程(Front-end AB test)。

一般情况下,用户在一次浏览中,会从客户端(Client)发起一个请求,这个请求被传到了服务器(Server),服务器的后台程序根据计 算,得出要给用户返回什么内容(Data),同时向数据仓库(Data Warehouse)添加一条打点信息,记录本次访问的相关信息。这个过程也就是图上横向的流程。数据仓库收集到足够的数据之后,就可以开始进行分析 (Analytics)了,这也即是图中右上角的部分。

A/B 测试需要将多个不同的版本展现给不同的用户,即需要一个“分流”的环节。从上图中我们可以看到,分流可以在客户端做,也可以在服务器端做。传统的 A/B 测试一般是在服务端分流的,即基于后端的 A/B 测试(Back-end AB test),当用户的请求到达服务器时,服务器根据一定的规则,给不同的用户返回不同的版本,同时记录数据的工作也在服务端完成。

基于后端的 A/B 测试技术实现上稍微简单一些,不过缺点是需要技术部工程资源介入,另外收集到的数据通常是比较宏观的PV(Page View)信息,虽然可以进行比较复杂的宏观行为分析,但要想知道用户在某个版本的页面上的具体行为往往就无能为力了。

基于前端的 A/B 测试则可以解决上面的问题。它的特点是,利用前端 JavaScript 方法,在客户端进行分流,同时,可以用 JavaScript 记录下用户的鼠标行为(甚至键盘行为,如果需要的话),直接发送到对应的打点服务器记录。这样的好处是不需要技术部(如果你们和我们一样,前端工程师与后 端工程师分属不同部门的话)参与,并且可以比较精确地记录下用户在页面上的每一个行为,甚至包括后端方法难以记录到的无效点击!

下面,我将重点介绍一下我们在基于前端的 A/B 测试上的一些实践。

一、分流

首先遇到的问题是如何分流的问题。对于大部分需求来说,我们希望各个版本的访问人数平均分配。解决办法有很多种,比较简单的一种即是前面提到过 的,根据某一个 Cookie ID 来划分用户,前提是你的网站上每一位访客在第一次访问时就要有一个不重复的 Cookie ID,比如“123.180.140.*.1267882109577.3”。然后,可以根据这个 Cookie ID 的最后一位(在本例中是“3”)来划分人群,比如单数的显示 A 版本,偶数的显示 B 版本。

因为 Cookie ID 一般设定后不会轻易改变,基于 Cookie ID 的好处是我们能很好地对访客保持一致性,某个用户如果第一次看到的是 A 版本,那他刷新后看到的还是 A 版本,不会一会儿看到 A 版本一会儿看到 B 版本。但不足之处就是如果用户浏览器不支持 Cookie 的话,分流就不能正常进行了。不过,现代浏览器默认情况下都是支持 Cookie 的,如果真有用户的浏览器不支持 Cookie ,那也应该是极少数特殊情况,对结果的影响非常微小,对于这些特殊情况,我们一般可以安全地忽略掉。

还有一点需要注意的是,A/B 测试的页面必须有较高的 UV (Unique Visitor,独立访客数),因为分流带有一定的随机性,如果页面 UV 太小,分到每一个版本的人数就更少,结果很有可能被一些偶然因素影响。而 UV 较大时,根据大数定理,我们得到的结果会接近于真实数据。就像想知道一个地方的成年人的平均身高,当然是取的样本越大结论越可信。

二、展示

决定向当前访问者显示哪个版本后,怎么用前端的方法加载对应的版本呢?这需要分情况处理。

一般情况下,如果两个版本只有一个较小的区域不一样,我们可以同时将两个区域的 HTML 都加载到当前页面中,先用 CSS 把它们隐藏起来(也可以默认显示一个版本),等 JS 判断出该显示哪个版本后,再控制对应版本的 CSS 显示。

有时候,测试区域比较大,代码比较多,或者需要后台较多的计算资源,如果一开始就把两个版本的 HTML 全加载到当前页面中,就会需要比较大的开销(比如带宽、后台计算量)。这种情况下,我们可以先把测试区留空,之后再用 Ajax 的方式延迟加载。

还有的时候,测试区域非常大,几乎占了整个页面,或者完全就是不同的页面,这时,用 Ajax 方式加载也不适合了,可以将不同的版本做成不同的页面,然后再用 JS 跳转。不过这样的方式并不是很好,因为前端 JS 跳转需要一定的时间,这个过程很有可能被用户感受到,并且留下不好的体验。对这个问题,似乎没有很好的解决办法,至少在前端层面很难完美解决,所以并不是 非常推荐这种跳转方式,如果真的需要跳转,最好是在服务器端由后端代码来操作。

三、数据采集

正确展示对应的版本后,就要开始采集需要的数据了。有一个可选的数据,是当前版本有多少 PV (Page Views,访问量),如果需要记录这个数据的话,在正确版本加载完成之时就要发送一个打点信息。不过很多需求中,具体版本的 PV 的精确数值可能不是很重要,而且要收集这个信息需要多一次打点操作,所以一般情况下这个数据是可选的。

必须的数据是测试区域内用户的点击信息。当用户在测试区域点击了鼠标左键(无论这个点击是点击在链接、文字、图片还是空白处),我们就需要发送一条对应的打点信息到打点服务器。一般来说,这个打点信息至少需要包含以下数据:

当前 A/B 测试以及版本标识
点击事件的位置
点击时间戳(客户端时间)
当前点中的URL(如果点在非超链接区域,此项为空)
用户标识(比如 Cookie ID)
用户浏览器信息

为了尽可能精确地还原用户的点击位置,我们的页面对前端有比较高的要求,要求页面在不同的浏览器下有基本一致的表现,至少在IE6、7、8以及 Fiefox 下,页面横向的元素要精确一致,纵向上很难做到完全一致,但也要尽可能保持统一。另外,这样的测试也不太适合自适应宽度的页面,比较适合定宽 的页面,为了避免不同分辨率下页面左右空白不同导致鼠标点击位置的不同,点击位置取的应该是相对于测试区域 左上角的位置。除此之外,最好再记录一下测试区域相对于页面内容左上角的位置,在后面还原点击分布图以及绘制热区图时会用到这个数据。

这一阶段的流程大致如下图所示:

A/B 测试打点生命周期

数据打点该如何发送以及如何存储呢?这要取决于你的打点服务器如何存储信息。

四、数据存储

我们使用了一台专用的服务器收集打点信息,为了能支持尽可多尽可能密集的打点请求,这台服务器的 apache 服务网站目录下只有两个静态文件,分别是 abtest.html 和 abtest.gif ,两者都是非常小的空白文件(空白图片)。访客端进行打点时,只需要以 GET 的方式带上相关的参数请求两个文件中的任意一个即可。比如:

http://abtest.xxx.com/abtest.gif ?abid=1-a&clickBlockX=244&clickBlockY=372&clickBlockW=392&clickBlockH=76&clickTime=1263264082137&clickRX=233&clickRY=47&clickURL=&clickBeaconID=123.180.140.*.1267882109577.3&browserType=FireFox

这个请求可以通过 Ajax 的方式发送,也可以通过 JS 在页面上创建 new Image() 对象的方式完成。

对打点服务器来说,这只是一条普通的 HTTP 请求,它会在日志里留下一条普通的日志记录,形如:

123.180.140.* - - [13/Jan/2010:15:21:15 +0800] "GET /abtest.gif?a=123&b=456&c=789 HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.6 (KHTML, like Gecko) Chrome/4.0.266.0 Safari/532.6"

可以看到了,除了 JS 发送给我们的信息外,Apache 还帮我们记录了一些信息,比如访客 IP 、服务器时间、用户浏览器信息。

对于数据记录和存储来说,到这一步就足够了。Apache 静态文件 + 日志的方式足够高效,基本不用担心性能的问题。剩下的,就是另外一个问题,如何从 Apache 日志中读取打点信息并加以分析,这已经和前端无关了,并且是一个比较复杂的问题,将在后续日志中介绍。

2511月/10

A/B测试:基本概念

发布在 邵珠庆

网站设计中,我们经常会面临多个设计方案的选择,比如某个按钮是用红色还是用蓝色,是放左边还是放右边。传统的解决方法通常是集体讨论表决,或者由 某位专家或领导来拍板,实在决定不了时也有随机选一个上线的。虽然传统解决办法多数情况下也是有效的,但A/B 测试(A/B Testing)可能是解决这类问题的一个更好的方法。

所谓 A/B 测试,简单来说,就是为同一个目标制定两个方案(比如两个页面),让一部分用户使用 A 方案,另一部分用户使用 B 方案,记录下用户的使用情况,看哪个方案更符合设计目标。当然,在实际操作过程之中还有许多需要注意的细节。

A/B 测试并不是互联网测试新发明的方法,事实上,自然界也存在着类似 A/B 测试的事件,比如下图中的达尔文雀 。

达尔文雀

达尔文雀主要生活在太平洋东部加拉帕戈斯(Galapagos)的一个名为伊莎贝拉(Isabela)的岛上,一部分生活在岛的西部,另一部分生活在岛的东部,由于生活环境的细微不同它们进化出了不同的喙。这被认为是自然选择学说上的一个重要例证。

同样一种鸟,究竟哪一种喙更适合生存呢?自然界给出了她的解决方案,让鸟儿自己变异(多个设计方案),然后优胜劣汰。具体到达尔文雀这个例子上,不同的环境中喙也有不同的解决方案。

上面的例子虽然和网站设计无关,但包含了 A/B 测试最核心的思想,即:

1、多个方案并行测试;
2、每个方案只有一个变量(比如鸟喙)不同;
3、以某种规则优胜劣汰。

需要特别留意的是第 2 点,它暗示了 A/B 测试的应用范围,——必须是单变量 。有时我们的多个设计稿 可能会有非常大的差异,这样的情况一般不太适合做 A/B 测试,因为它们的变量太多了,变量之间会有较多的干扰,我们很难通过 A/B 测试的方法来找出各个变量对结果的影响程度。比如,土豆烧肉和豆腐鲫鱼汤都挺美味,但我们很难比较土豆和豆腐哪一个对菜的美味影响更大,而土豆烧肉和豆腐 烧肉则是不错的比较。另外,虽然 A/B 测试名字中只包含 A、B ,但并不是说它只能用于比较两个方案的好坏,事实上,你完全可以设计多个方案进行测试,“A/B 测试”这个名字只是一个习惯的叫法。

回到网站设计,一般来说,每个设计方案应该大体上是相同的,只是某一个地方有所不同,比如某处排版、文案、图片、颜色等。然后对不同的用户展示不同的方案。

要注意,不同的用户在他的一次浏览过程中,看到的应该一直是同一个方案。比如他一开始看到的是 A 方案,则在此次会话中应该一直向他展示 A 方案,而不能一会儿让他看 A 方案,一会儿让他看 B 方案。同时,还需要注意控制访问各个版本的人数,大多数情况下我们会希望将访问者平均分配到各个不同的版本上。要做到这些很简单,根据 cookie (比如 cookie 会话ID的最后一位数字)决定展示哪个版本就是一个不错的方法。

下面是 A/B 测试示意图:

A/B测试示意图

可以看到,要实现 A/B 测试,我们需要做以下几个工作:

1、开发两个(或多个)不同的版本并部署;
2、收集数据;
3、分析数据,得出结果。

关于 A/B 测试的基本概念就介绍到这里,其余部分我会在后续文章中继续介绍。

2511月/10

为什么AB测试

发布在 邵珠庆

很多朋友都问我怎么进行A/B测试,我一般都不直接回答他们的问题,而是首先问一句:“你的日IP是多少?”。当对方的回答是不到一百的时候,我一般都说这个没必要了解。

或许你会纳闷,为什么日IP少的站没必要了解A/B测试,原因很简单,A/B测试需要大量的IP,如果你的IP只有十几个,那么测试出来的数据很可能不是很准确,换句话说A/B测试的站日流量越大测试的结果越准确。

好了,说了这么多,还是把A/B测试跟大家谈谈吧。

举个简单的例子,当你有一个日IP过千的网站,而你的网站首页几百年没有更改了,这个时候你想启用新的网页,而你有害怕新的页面用户不一定就非常喜欢,那 么这个时候你就需要进行A/B测试了。测试的方法是将老页面定义为A页面,新页面定义为B页面。到谷歌网站优化工具申请进行A/B测试(免费的),这是时 候谷歌会给你一串代码,我们只需要将代码添加到谷歌要求的页面即可。

代码添加完毕,如果有一千个用户访问你的网站,那么会有500个用户看到A页面,500个用户看到B页面,这个时候再统计下通过A页面到达网站内页的用户 占的百分比是多少,通过B页面到达内页的用户占的百分比是多少。假设A的是6%,B的是20%那么恭喜你,这说明你新设计的页面是博得了用户的欢心。如果 你对20%的结果还不满意,那么继续修改你的页面,直到这个转化率不能够再提高为止。

A/B测试是一个科学的统计方法,这一统计的诞生,再也不用为了争吵是使用A图片好,还是使用B图片好,好不好,按照效果说算。还是邓爷爷说的好,实践是检验真理的唯一标准。停止争吵,来做个A/B测试吧。

前提是你要有上千的IP,而且还是每日。数据太小的话,往往不准确。

2211月/10

用户不上你的网站的50个原因

发布在 邵珠庆

原因如下:

1 他们不想生产内容,他们期望的是更好的生活
2 因为你能解决的问题是他们所没有的问题
3 而对于他们真正的问题你却无法解决
4 奥普拉没有提到过它
5 他们所认识的所有人都不上你的网站
6 你没有办法让他们窥视自己所喜欢的人
7 他们对自己所看见的并不在乎
8 没有哪个同事说应该上这个网站
9 它很没趣
10 它无法让人们开怀大笑
11 它没有办法帮人们省下一大笔钱
12 它没有办法帮人们节省时间
13 没有什么让他们感到激动万分的东西
14 它既不能拯救生命也不能拯救世界
15 它不像赌城那样充满刺激
16 它看上去像是花旗银行的广告,而人们憎恨它
17 没有人排队
18 他们又工作,有孩子,工作繁忙
19 因为他们和美国偶像节目的选手有约会
20 他们害怕电脑
21 他们有了足够的朋友
22 他们文笔不好
23 更多的人在用Craiglist
24  你没有告诉他们怎么去做
25  不上这个网站,没有人会认为他是白痴
26 它是为了怪人和白痴准备的
27 它肯定是为了那些“电脑高手”准备的
28 有人会盗窃他们的身份而诱拐其孩子
29 他们不明白你的专业术语
30 他们更擅长于让那些让你感到无能为力的事
31 他们出生于1985年以前
32 他们对电脑并不精通
33 他们很害羞
34 他们不像Yahoo, Amazon或者Ebay那样
35 它的主页不止一屏,不像Google那样
36 他们感觉沮丧
37 他们不想坐在电脑面前
38 他们尝试过使用它,但是结果一团糟
39 他们从来就没有听过它
40 他们有更重要的事情要做
41 周刊更吸引人
42 它上面写着什么”tag”,”RSS”,简直愚蠢透顶
43 家庭和朋友需要他们
44 他们不想过的那么沉闷
45 他们从来没有听说过Flickr和Del.icio.us
46 没有足够的人使用它,也没有成功的例子
47 没有暴露图片和名人消息
48 没有告诉他们为什么要用它
49 它不能提供给他们爱情和性
50 他们不想知道你想让他们做什么