我们如何制作符合GDPR的广告活动服务

GDPR于今年5月生效,已严重影响了互联网营销市场。 它的参与者希望形成展示广告的最准确的受众,但是为此,有必要征得用户的明确同意,否则,即使是很小的利基资源也可能会被处以数百万美元的罚款。 一些资源已关闭,但许多资源正在转换以满足新的需求。 我们为美国客户提供的广告活动管理服务项目就是一个很好的例子。

图片

关于服务


我们的客户来自洛杉矶的一家美国公司,专注于音乐行业的营销。 它的服务为各种规模的团队(从拐角处的帮派到世界舞台的明星)的复杂广告活动提供支持。

实际上,我们的客户服务是一家开发专门的营销平台的初创公司,该平台设法从唱片公司那里收集了投资,因为它考虑到了特定行业中受众行为的细节。 该平台可让您通过分析曾经对特定团队表现出兴趣的用户的行为来定位广告。 资源的主要用户是音乐家和行业工作者(经理,唱片公司的雇员,音乐会的组织者等)。

当我们的项目开始时,该服务已经开始运作并设法在市场上获得了一定的地位。 但是,它只是一个原型,用于测试企业的基本假设,特别是因为部分功能是通过合作伙伴服务实现的。 我们与开发部门建立了联系,以创建完整的体系结构,而GDPR正是推动所有转型的动力。 我们的任务不仅是更新现有服务,而且还要根据新法规重建它,刷新并带来更统一的用户界面。

实作


整个项目分为几个阶段。

图片

在第一阶段,我们从头开始重写了以前在PHP中工作过的部分-链接缩短器和授权服务。

链接缩短器是该功能的一部分,所有注册用户均可免费使用它,并用于吸引客户使用公司的付费服务。 该服务使您可以将长链接链接为短格式,以便将其发布到社交网络上。 同时,您可以通过设置地理定位来自定义链接:根据用户来自哪个国家,可以向他显示不同的登录页面。
更新后端时,我们使用了OpenJDK 1.8,Kotlin和Spring boot / data / web-这是一个不期望高负载的项目的标准框架。 顺便说一下,正是在这个项目中,我们第一次在战斗中尝试了Kotlin,并且由于其语法的原​​因,它使我们能够大大加快开发速度。 当然,我们将在其他项目中使用它。

授权服务和简化程序的数据库是在PostgreSQL的基础上构建的-关系数据存储模型非常适合解决这些问题。

在第二阶段,我们负责广告活动的管理。 客户平台上的此功能也较早存在,但是通过合作伙伴的服务(您必须为此付费)才能使用。 现在,客户的平台已经发展到必须照顾其基础架构的地步。 与第三方服务不同,自己的服务更容易朝正确的方向发展,可以快速进行必要的更改。

在项目的这一部分中,我们仅为广告系列经理实现了外部API。 但是在第三阶段,我们开发了此模块-我们完成了API的确定,并为广告系列经理创建了完整的UI。

同时,我们开发了一个小型的专有DMP(数据管理平台),用于管理访问者数据的收集。 DMP数据存储在MongoDB中,因为我们决定为该数据库的未来水平扩展留出基础。 现在,DMP每秒可处理多达2千个请求(峰值),而我们专注于存储大约1 TB的数据。 这样的卷本可以保存在PostgreSQL中,但从长远来看,必须花大力气进行扩展。
Campaign Manager数据库(Campaign DB)中使用了相同的MongoDB-在这里,面向文档的数据库模型非常适合我们。 广告系列可以是单个实体,并且可以扩展。

所有缓存均在Redis上运行。

前端:Angular 5,TypeScript,HTML5,Sass,Node.js,npm,Angular CLI。

在项目的最后阶段,我们完成了客户端系统和关键合作伙伴的服务的集成,从而为公司打开了与庞大的音乐人群体的联系,这将确保用户数量的增加。

该项目存在一些困难。 客户希望在服务运行期间保存用户数据和注册,同时略微更改模型。 与体系结构的更改同时,我们转移了注册并更改了其原理-从用户名更改为电子邮件登录名,由于使用相同电子邮件地址的用户数量受到限制,这使我们度过了许多不眠之夜。 系统中的权利模型已更改。 以前,该服务是根据两级模型运行的,但是我们实现了无限制的权利模型(包括发行有限权利的能力)。

同时,功能扩展了。 例如,在一个阶段出现了一个杂货店,在单击指向特定作品短链接的最终访问者的帮助下,您可以设置带有服务列表的页面,这些作品可用于合法购买或收听。

关于GDPR值得一提


我们客户的主要市场是美国,但公司不希望失去的流量中约有10%来自欧洲。 自新法规生效(2018年5月25日)以来,其针对性一直被禁用。 在咨询了律师之后,我们以不违背GDPR的方式构建了该服务,并且从8月16日起,我们再次开始定位。
老实说,我们在整个两周的时间里研究了法规的复杂性。 当前阶段的困难在于,由于措辞普遍模糊,到目前为止,尚无执法实践-实际案例可以表明如何正确做事和错误做事。 但是,现在(经过我们自己的研究和与律师协商之后),我们对解决方案的已实现架构充满信心。

该服务的逻辑意味着添加一个用户,该用户遵循指向特定受众的短链接,以便以后可以向他显示广告。 就GDPR而言,未经用户明确同意,是无法做到的。 我们实施了同意请求-当您单击页面底部的链接时,将出现一个带有问题和两个按钮的标牌。 该请求针对IP属于欧洲的用户打开,并且其响应以cookie的形式存储,因此访问者不必每次都按按钮。
如果未征得用户同意(即Cookie),我们就不会向其显示像素,即 在服务的一般统计数据中,将计算访问的事实,但不会收集和考虑用户数据。

GDPR施加了架构限制-个人数据不仅必须正确收集,而且必须安全存储。 在我们的案例中,这些限制适用于已实现的DMP(尽管事实是它存储带有匿名标识符(仅假设它们允许匿名)的匿名数据)和授权服务数据库。 在我们的体系结构中,这些基础明显地分配在单独的块中。 根据规定,第三方对这些“敏感”模块的访问自然受到限制。

只有相应的服务才能访问授权数据库。 所有其他服务对平台用户的个人数据一无所知-它们仅需要授权服务的验证。

DMP数据库还仅包含同名服务。 同时,仅从数据库返回了受众数据的集合,而不是数据本身。 这些汇总构成了音乐行业服务用户在其个人帐户中获得的分析基础。
我们还具有用于上载和删除用户数据的强制性程序。 关于如何验证用户确实合法地请求其数据存在一个问题。 并且我们将用户存储的cookie用作验证的因素。

该项目是最近完成的,因此现在谈论任何数值结果还为时过早。

文章作者:Nikolay Eremin

PS:我们在Runet的多个站点上发表文章。 订阅我们在VKFBTelegram频道上的页面,以查找有关我们所有出版物和其他Maxilect新闻的信息。

Source: https://habr.com/ru/post/zh-CN432772/


All Articles