AsiaYo如何在一天内用Chatbot摧毁使用者体验?

本篇原文来自 Medium,INSIDE 经授权转载。作者胡立,1994 年生,哲学系肄业,现职为在新加坡工作的前端工程师。喜欢教学,相信分享与交流可以让世界更美好。
昨天看到了 AsiaYo 的这篇文章:AsiaYo 如何在一週内打造破万使用者的 Chatbot!
身为里面提到的「少数消费者」,我决定写一篇文章记录下来少数消费者针对他们 Chatbot 的心得,就让我把这整段故事娓娓道来。
故事的开端AsiaYo 是一个民宿订房网站,有天我在这网站搜寻着京都的住宿,搜着搜着右下角突然就跳出了一个仿造 Facebook Messenger 的小视窗:

做的其实还可以,虽然看得出来是仿的就是了,但这不是重点,重点是他跟我说:「我发了一则讯息给你,晚点去 Facebook 收件匣瞧瞧吧~」,接着我打开了 Facebook,看到这个对话框:

好了,现在问题来了:
如果你在这种情况下,你的反应会是什幺?
- 哇,好酷!他居然可以传讯息给我
- 他怎幺可以没经过我同意传讯息给我?
- 我是不是在哪边按过同意但我忘记了
- 以上皆是
我的答案是 4:以上皆是。
一开始想说是不是以前按过同意然后忘记了,不然怎幺可能可以主动传讯息给我,他是怎幺知道我 Facebook 帐号的?就算知道了,怎幺可能有权限传讯息给我?不是都要按同意才能够传送吗?
接着仔细回想跟检查过后发现自己确实没同意过。
这时候身为工程师,就很好奇在技术上是怎幺做到的,难道 Facebook 有某种神秘的 API 吗?
于是我就在 Facebook 的 Chatbot Developers Taiwan 发了 这一篇文章 真心求解:

在提出问题之后,我自己也有找了一些脸书的相关文件,但都没查到什幺相关的,后来经过一些网友给我的线索跟我自己之后的调查,发现一切都跟 checkbox plugin 这个 Facebook 所提供的东西有关。
这个是什幺呢?简单来说就是 Facebook 提供的 plugin,会显示一个 checkbox,是用来勾选要不要同意某个粉丝专页传讯息给你,引用 JavaScript 并且设定过后就会显示出这样的 UI:
一切都显得十分合理,脸书提供这样的 plugin,然后使用者勾选同意之后,粉丝专页就拥有传讯息给你的权限了。
除此之外还有一点,那就是这个 checkbox 是可以预设打勾的,所以整个页面看起来会像这样:

不过预设打勾其实有一点怪怪的,你仔细想想以前在注册会员时,不是都会有一个使用者条款要你勾选吗?我记得 Google Play 上面的 App,那个使用者条款是不能预设勾选的。使用者必须「主动」的去同意才行。
可以看 Google Play 开发人员政策中心 里面有写到:
有这样的规範,就是为了确保使用者是主动同意的,一切才算数。使用者没同意之前,你什幺事都不能做,不然就是违规行为。
预设打勾虽然怪怪的,但其实还算合理。因为除了预设打勾以外,应该还要有一个按钮是:「我同意」,让使用者主动同意之后,才代表愿意接收你的讯息。
接着 Facebook 文件写说,当使用者按下同意按钮之后,你就可以利用他们提供的 function 去传资料到你的 Server,并且就能够传讯息给使用者了。
到这边虽然有点怪怪的,但一切都还在合理的範围内,就是让传讯息按钮预设打勾,接着按下同意按钮时传送相关资讯并且获得权限。
可是如果你是工程师,就会看到上面那一段程式码,就算你不是写在按钮的 click 事件里面也可以自己去呼叫,因为这按钮是你网站自己的嘛,Facebook plugin 只包括 checkbox 而已,其他流程都是你可以自己控制的。
意思就是说:
还记得前面有提到,这个 checkbox 可以调成预设就是勾选的吗?所以只要我一进这个页面,并且网站去 call 上面那一个 function,网站就能够取得授权,并且传讯息给我。
接着只差最后一步了,就是网站把这个 checkbox 用 CSS 隐藏起来,就能在神不知鬼不觉的情况下,让使用者同意授权。
我来做个简单总结:
- Facebook 提供了让使用者同意授权的 checkbox plugin
- 这个 checkbox plugin 预设状态可以调成已勾选
- 若是 checkbox 处在勾选状态,就可以呼叫 function 取得授权
- 我只要把 checkbox 预设勾选并且藏起来,在页面载入时我就能取得你的授权
这就是秘诀的所在,这就是为什幺 AsiaYo 可以不经过你的授权就传讯息给你。
从他们的网页原始码来看,也的确是这样做的没错,右侧红框圈起来的部分是 CSS 语法,加上去就可以把 checkbox 隐藏起来,只要把这个 CSS 取消,就能够看见页面上其实是有 checkbox 存在的。

到这边,大家应该都知道 AsiaYo 是怎幺做到的了。
这样好吗?Facebook 提供这样的 plugin 的初衷我能理解,是为了能够降低一点门槛,可是却让网站可以把 checkbox 藏起来并且偷偷取得授权。
因此,我好奇的跑去找了 Facebook 的规範,想看看这样做有没有违反规範,最后我找到了 Facebook 开放平台政策 ,第十六点那边写到:
好,很显然的把按钮藏起来并不符合上面两个规範,哔哔,你违规了。
到这边我再帮大家总结一下,AsiaYo 的 Chatbot,就是在违反 Facebook 政策并且在你不知情的情况下,就让你授权他们的 Chatbot 传讯息给你。
身为使用者,你觉得这样好吗?我觉得烂透了。
我觉得这样子是非常、非常不尊重使用者的做法。照理来说,你要用 Facebook Messenger 传讯息给我需要我的同意,可是我明明就没有同意,你凭什幺传讯息给我?你凭什幺帮我同意?你凭什幺在我不知情的状况下帮我同意?
AsiaYo 的正面回应我前面 po 在脸书社团的那篇文章,下面我也有自己回覆我调查的结果,以及表达我对这种做法的不满,并且在第一时间向脸书提出检举。
过一阵子之后,有人发现这个功能被拿掉了。看来应该是 AsiaYo 的人发现这篇文章,注意到这件事了。
接着隔天中午,AsiaYo 的 Product Lead 亲自在贴文里面 回应 :

虽然我还是觉得有点生气,因为他们当初决定採用这个做法的时候,一定知道这种做法能够成立的前提是:「在使用者不知情的情况下,偷偷帮使用者同意授权」。
但我想说大家都会犯错,只要之后愿意改进,我也愿意再给 AsiaYo 一个机会,愿意相信他们是一间在意使用者的公司,愿意相信他们是一间不会随意帮使用者偷偷授权的公司。
这件事情到这边,就差不多结束了。
嗯,差不多。意思就是还没结束。
是订阅,还是「被订阅」?在这事情过后,由于 AsiaYo 之前出来回应的贴文里面有提到他们 bot 的使用状态不错,因此就有其他朋友希望他们能够出来分享经验。后来他们有被邀请到其中一场活动去分享,这边有 影片 ,从 42 分钟左右开始是他们的片段。
我觉得实体分享讲的还不错,有特地把「同意授权」这件事情放进去,也有讲到说一开始的做法并不好,建议大家不要这样做。
只是昨天,我看到 AsiaYo 发表了一篇相关的文章:
AsiaYo 如何在一週内打造破万使用者的 Chatbot脸书聊天机器人 之 设计 x 商业 x 技术与创新 medium.com
没有那篇文章,就不会有我现在这篇,也不会有现在这个标题。
我觉得文章前面都讲得不错,提到很多现在做 Chatbot 碰到的困难点,以及他们希望 Chatbot 能够变成什幺样子、他们想要的 Chatbot 是什幺样子。这些分享都很不错。
不过接下来有关上面那次事件的描述,有些我实在是不能认同。我下面节录原文,并且一併跟着做出回应。
为什幺使用者不需要登入跟确认?因为你的网站偷偷帮他们确认了,在他们不知情的状况下帮他们确认了。你真的觉得这样好吗?
我只想问一句:这些用户是订阅,还是 被订阅 ?
少数消费者应该是包含我啦,毕竟我就是那个 po 文公开这整件事情的人。如果我没有 po 文,不知道 AsiaYo 什幺时候会把这个功能拿掉,还是乾脆就一直用下去?
我今天在意的不是什幺对追蹤的技术感到疑惑。我是工程师,我知道我不管逛哪个网站都会被 Google 或是 Facebook 追到,我知道这些广告会一直追着我跑,这我都知道。
我才不在乎你追不追蹤我,我才不在乎你是不是用了 base64,我在乎的是:
这不是一开始就应该做的事情吗?
今天我会再跳出来写这篇文章,是因为我从文章里面感觉不到 AsiaYo 认为自己做了一件错误的事情。
这篇文章让我感觉好像是:「我做了一件很酷的 hack,在一週内让使用者破万,但因为有少数使用者抱怨,第二版就改掉了」
可是却轻描淡写的带过,甚至没有提到说这样的手段是建立在「违反使用政策」以及「擅自帮使用者偷偷同意」的前提之下。使用者会抱怨不是因为被追蹤到,而是因为你做了一件完全不尊重使用者的事。
对我来说,之前这种行为就是完全不尊重使用者,完全是欺骗。今天脸书的政策写得很明白,你如果想要主动传讯息给使用者,你就要获得他的同意,这个很合理吧?
但你们选择走了一条投机取巧的路,利用规则不允许,但实作上可以的招数,「在使用者不知情的情况下帮他同意」,就算你后续转换再好,我也不懂这样子到底增进了什幺用户体验。
总结在 AsiaYo 的贴文里面也有提到,第二版改进了流程,增加了同意条款,改进过后的版本我就没什幺意见了,完全符合规範。
我写这篇文章的目的是我觉得 AsiaYo 的分享文有点搞错重点,似乎没有认清到「偷偷帮使用者同意」这件事情的严重性。
最后,就如同我标题所说的,他们成功在一天之内,利用 Chatbot 把使用者体验摧毁了,让我对这网站的好感度降到谷底。
如何在一週内让 Chatbot 使用者破万?我知道我知道,只要在使用者不知情的状况下偷偷帮他同意授权,就能够达成喔!