高效设计企业营销系统的3种方案复盘

嗨, 大家好, 我是徐小夕, 之前分享了很多可视化低代码相关的技术实践和开源项目, 今天继续和大家分享一下如何通过可视化搭建技术设计高效的企业营销配置系统.

背景

随着技术的飞速发展和行业高内聚的竞争内卷, 企业数字化转型更加迫在眉睫. 很多传统企业为了提高盈利能力, 在流量,转化和口碑上投入了巨大的成本, 比如:

  • 招募(或扩大)优质销售团队

  • 广告投放(为了更多的流量和转化)

  • 系统搭建(更高效的管理企业进销存)

  • 策略运营分析(更精准的投流获客和产品品牌力打造)

  • 其他企业策略目标

219d31097dd61c484f7e39658a7697cb.png

为了让不同能力团队共享信息, 我们需要利用信息化技术来设计一套“粘合剂”, 让“企业发动机”高效运转. 这个“粘合剂” 就是我们说的数字(智)化营销系统. 它不会侵入到企业的具体业务中, 而是通过连接企业数字资产, 实现对外品宣,获客和需求反馈. 更多充当的是门户和反馈系统的作用.

8e9490b3c0e55a7614bb51e2e9e0e8c2.png

设计实现方案

为了实现营销数字化系统, 我们一般会采用三种方案:

  • 传统业务开发型

  • 配置化营销中心

  • 可视化营销搭建平台

1. 传统业务开发型

早期我们更多的企业营销宣传页面大多采用这种模式, 面向营销活动或者业务活动设计针对性的页面. 但是随着企业规模的壮大和活动需求规模化之后, 普通页面开发意味着人力成本的线性增加, 我们需要通过“堆人”来实现业务需求.

从前端技术侧, 为了进一步提高研发效率, 前端程序员不得不去思考如何复用的问题. 但是实际情况却不容乐观. 从我个人研发经验的角度, 对定制型营销场景开发我们可以采用如下措施提高研发效率:

1.1 搭建营销组件库 / 业务sdk抽象

a4a34d00c9f6e639ebce49228ef0fc13.png

我们可以在开发之初就定好一个可扩展的技术方案, 针对活动/营销页面 以组件化的方式开发, 然后将业务功能沉淀为可复用的技术资产. 我们可以用vue / react等技术框架来搭建组件库工程, 这块我之前写过一篇 从零搭建前端组件库系统 的工程, 大家感兴趣可以参考一下.

更近一步的, 任何页面都离不开通用能力和埋点监控, 如下:

7a107b1ff1a008677ee9e2929b30dde5.png

这些 工具函数业务sdk 未来会在不用需求页面中反复使用, 所以我们也可以更进一步的封装和抽象.

1.2 搭建通用脚手架, 实现基础工程和业务方案的复用(配置化)

0d5297f56e3a2d7ecc5f68b8bb28510a.png

通用脚手架可以让前端团队更高效的复用技术资产, 比如不同技术同事开发不同的需求时, 我们能使用前人积累的技术实践, 省去了前期的调研和试错成本. 一个成熟的前端脚手架包括:

  • 基础的项目工程配置

  • 路由配置(baseUrl, public, outPut等)

  • 分包策略

  • 模块加载器Loader(比如对svg, png, pdf, excel, css等处理)

  • 代码插件(代码压缩, 分割, 按需打包, hot reload等)

  • 服务proxy支持

  • 微前端配置等

当然我们还可以参考市面上比较成熟的前端工程解决方案, 比如 umi, vite等.

1.3 建立可配置的模版库

6cc8ca96e3dbf5caa1e97b0ec809ac33.png

虽然我们用定制代码的方案无法很轻易的实现类似配置平台或者搭建平台的高可配性, 但是我们仍然可以设计一种伪配置化方案. 类似下面的配置:

{
  "title": "第3期企业数字化宣讲",
  "layout": {
    "header": [],
    "main": [],
    "footer": []
  },
  "share_icon": "微信分享icon",
  "share_desc": "Dooring,  让页面制作更简单",
  "track": true // 是否启用埋点
  "api_path": "https://xxxx.com"
}

然后在页面中设计一套模版引擎, 来动态读取json配置, 需要自定义的部分即可自定义开发. 我们通过这种方式, 就可以用一套基础模式, 快速生成自定义的页面模版, 从而提高页面搭建效率.

在接下来分享的方案中我会介绍具体的实现思路.

2. 配置化营销中心

180df1dc87bbb90039e505256544c0ee.png

相信大部分互联网企业都做过类似配置化平台的项目, 营销板块也不例外. 当然要做配置化平台, 需要产品, 运营和技术的通力协作, 也就意味着要脱离技术多方决策. 这要求产品和运营需要对整体业务做一个通用性的抽象, 并通过技术人员转化为可实现并被需求方低成本理解的配置平台.

11fdeb9f2a5fa9b5c8a9267d88cf04a5.png

对于配置系统方案, 我之前写过一篇文章《基于react/vue搭建一个通用的表单管理配置平台》, 大家感兴趣可以参考一下, 本质上也是将抽象业务做统一封装, 从而在技术层面实现按需渲染(配置式渲染):

f26d821e7a5494811bb879aa9237d438.png

具体展现形式如下:

12ab70ff2ad0bc27df0a0e27b4155704.png

关于动态配置表单的渲染模式, 我之前也提供了一种实现方案, 这也是目前大部分动态表单实现的一种模式(标准化SDL输出):

// 基础模版数据
const tpl = [
  {
    label: '文本框',
    placeholder: '请输入内容',
    type: 'text',
    value: '',
    index: uuid(5)
  },
  {
    label: '单选框',
    type: 'radio',
    option: [{label: '男', value: 0}, {label: '女', value: 1}],
    index: uuid(5)
  },
  {
    label: '复选框',
    type: 'checkbox',
    option: [{label: '男', value: 0}, {label: '女', value: 1}],
    index: uuid(5)
  },
  {
    label: '多行文本',
    placeholder: '请输入内容',
    type: 'textarea',
    index: uuid(5)
  },
  {
    label: '选择框',
    placeholder: '请选择',
    type: 'select',
    option: [{label: '中国', value: 0}, {label: '俄罗斯', value: 1}],
    index: uuid(5)
  },
  {
    label: '文件上传',
    type: 'upload',
    index: uuid(5)
  }
]

// 模版渲染组件
const tplMap = {
  text: {
    component: (props) => {
      const { placeholder, label } = props
      return <div className={styles.fieldOption}><span className={styles.fieldLabel}>{label}:</span><Input placeholder={placeholder} /></div>
    }
  },
  textarea: {
    component: (props) => {
      const { placeholder, label } = props
      return <div className={styles.fieldOption}><span className={styles.fieldLabel}>{label}:</span><TextArea placeholder={placeholder} /></div>
    }
  },
  radio: {
    component: (props) => {
      const { option, label } = props
      return <div className={styles.fieldOption}>
              <span className={styles.fieldLabel}>{label}:</span>
              <Radio.Group>
                {
                  option && option.map((item, i) => {
                    return <Radio style={radioStyle} value={item.value} key={item.label}>
                      { item.label }
                    </Radio>
                  })
                }
            </Radio.Group>
        </div>
    }
  },
  checkbox: {
    component: (props) => {
      const { option, label } = props
      return <div className={styles.fieldOption}>
              <span className={styles.fieldLabel}>{label}:</span>
              <Checkbox.Group>
                <Row>
                  {
                    option && option.map(item => {
                      return <Col span={16} key={item.label}>
                              <Checkbox value={item.value} style={{ lineHeight: '32px' }}>
                                { item.label }
                              </Checkbox>
                            </Col>
                    })
                  }
                </Row>
            </Checkbox.Group>
        </div>
    }
  },
  select: {
    component: (props) => {
      const { placeholder, option, label } = props
      return <div className={styles.fieldOption}>
              <span className={styles.fieldLabel}>{label}:</span>
              <Select placeholder={placeholder} style={{width: '100%'}}>
                {
                  option && option.map(item => {
                    return <Option value={item.value} key={item.label}>{item.label}</Option>
                  })
                }
            </Select>
        </div>
    }
  },
  upload: {
    component: (props) => {
      return <div className={styles.fieldOption}>
              <span className={styles.fieldLabel}>{props.label}:</span>
              <Upload
              listType="picture-card"
              className="avatar-uploader"
              showUploadList={false}
              action="https://www.mocky.io/v2/5cc8019d300000980a055e76"
            >
              <div>+</div>
            </Upload>
        </div>
    }
  }
}

export {
  tpl,
  tplMap
}

当然市场上也有比较成熟的开源方案, 比如 family, XRender等.

3. 可视化营销搭建平台

以上我们可以看到, 从定制化代码到配置化方案, 技术架构有了渐进式升级, 接下来继续分享一种更低成本的方案: 可视化搭建平台.

cc3f2bafd94a9e575634ba3a114500cf.png

可视化搭建平台是一种建立在底层通用规则之上的通过拖拽+配置化来实现页面生产能力的一种高效率解决方案. 它主要解决的问题如下:

  • 企业数据孤岛(应用间数据共享,互通困难)

  • 企业定制化需求日益增加(不同行业赋能不同的应用场景, 千“客”千面)

  • IT人才供不应求

  • 沟通成本,研发成本, 研发周期吃紧

  • 产品迭代和响应性迟缓

e40e74c676e42cb341cc8093b9cacfc6.png

所以我们迫切需要诸如低代码/零代码这样的方案, 来解决上述问题. 目前国内有上千家企业在接触或者落地低代码/零代码方案, 我之前也开源了一个解决方案H5-Dooring, 用来解决页面生产效能的问题:

0b86660c1d1c2f499970d6049b0015ae.png

当然设计可视化搭建系统需要考虑更多系统化问题, 比如:

  • 如何满足更多的定制需求

  • 如何对接企业数据源

  • 如何跨场景, 跨多端

  • 如何出高质量可维护的代码

  • 如何保证线上页面运行稳定和页面监控/阈值预警

当然并不是每家企业都有极高的要求, 所以我们需要针对企业实际需求和未来需求, 制定更合理的可视化解决方案. 关于可视化平台的实现方案我之前也写了很多文章和开源方案, 这里就不一一介绍了, 感兴趣的朋友可以参考一下.

  • H5-Dooring

  • H5-Stream

  • V6.Dooring

如何利用DooringSaas快速落地营销配置方案

上面介绍了3种技术设计方案, 接下来我就以一个具体的案例, 来分享一下高效营销落地方案.

eb2a4bd10dcd83ef901c0e60286cdab8.png

转盘抽奖营销页面是我们比较熟悉的一种运营手段, 传统开发中我们需要针对每一场活动开发独立的业务代码, 如果我们将营销活动的规则抽象出来, 并封装业务常用的抽奖组件, 并提供一定的配置灵活性, 这样我们就能满足大部分的营销活动场景, 如下, 我们可以配置抽奖信息, 中奖比例, 中奖后的一系列交互配置:

c209ca9867cd32b5859722ee165135aa.png

对于企业的品宣场景, 我们也可以从可视化搭建平台中找到解决方案, 我们只需要对接企业资源库, 业务统配数据接口, 安全规范和数据上报模式, 我们就可以用可视化平台从技术侧转化为业务侧直接搭建, 近一步缩短沟通周期.

有关拖拽搭建方案, 这里笔者也分享几个成熟方案:

  • moveable

  • react-draggable

  • Vue Easy DnD

  • Vue smooth dnd

  • V-drag

  • react-dnd

等等, 有关数据源设计相关方案, 也可以参考我之前写的文章《Dooring可视化搭建平台数据源设计剖析》.

总结 & 展望

后续我也会继续分享低代码和可视化相关的技术方案和设计模式, 如果大家感兴趣也可以随时和我交流. 比如:

  • 如何实现跨多端的出码方案

  • 业务层零代码如何快速落地企业最佳实践

  • 桌面端可视化平台的价值最大化

  • AI和可视化的一些价值主张

  • 通过可视化生态建设, 如果让每一家企业都拥有一套可视化搭建平台


更多 低代码 / 可视化 相关的技术分享和实现, 欢迎 微信 搜索 趣谈前端 学习探索.

❤️ 看完三件事

如果你觉得这篇内容对你挺有启发,我想邀请你帮我三个小忙:

  • 点个【在看】,或者分享转发,让更多的人也能看到这篇内容

  • 关注公众号【趣谈前端】,不定期分享 前端工程化 可视化 / 低代码 等技术文章。

5880808b82c3f22d28e1bebf574842d6.gif

10款2021年国外顶尖的lowcode开发平台

2小时, 从学到做, 我用Dooring制作了3个电商H5

canvas图像识取技术以及智能化设计的思考

在移动互联网时代,各式各样的新业务和新产品不断出现,通信市场的用户总体规模增长速度变缓,使运营商之间的竞争愈加激烈,新产品营销的时效性和准确度问题亟需解决。实时营销作为新的营销方式,具有较高的实时性,通过运用大数据分析技术分析用户上网行为特征,并在合适的时间、合适的地点向用户推荐合适的内容,从而提升用户感知、增加用户粘性。如何运用大数据技术实现实时营销是本文的重要内容。本文深入调研分析了大数据实时流式处理技术,并结合其在满足非功能性需求方面的独特优势,设计了一个可以同时满足大数据存储、大数据实时性分析的实时营销系统。该系统采用了实时数据处理与离线数据处理相结合的架构。其中离线数据处理系统通过采用Hadoop集群将用户数据进行标签。实时数据处理系统首先将实时数据以日志的形式存储在Flume中,然后再通过Strom和Spark Streaming工具对实时数据进行实时处理与分析,并对数据进行标签。将生成的标签存储在Redis数据库中。实时营销系统的核心是通过分析电信用户DPI(Deep Packet Inspection,深度包检测)数据、挖掘用户上网特征、添加用户标签、发现目标用户,并采用个性化插件包对用户提供个性化的营销服务。本文的主要研究内容为:(1)实时营销系统的需求分析。结合电信运营商的营销系统的时效性差并且效率低下的现状,通过运用大数据的技术手段和方案,在基于上海电信海量的DPI数据的基础上,为用户进行实时性的推荐。在明确系统目标的前提下,完成对整个系统的需求分析,包括功能性需求(如营销商品管理、营销任务管理、营销规则管理、发送规则管理、营销效果评估)和非功能性需求(如流式框架每秒处理10万条DPI数据,时延少于500毫秒,可处理TB级以上的数据)。然后采用用例图对功能性需求进行建模。(2)实时性营销系统的总体架构设计。基于实时营销系统需求分析的基础上,提出了离线数据处理与实时数据处理相结合的总体架构。首先选择出流式处理平台的相应组件,然后采用流式处理组件串联结构,同时以CORE为核心调用相关模块进行实时营销的策略模式,对系统进行了全面的部署。通过对离线数据和实时数据分别进行标签处理,利用标签对用户进行多维度的画像,全面反应用户特征,使得营销过程更加精准化。(3)实时性营销系统的具体设计与实现。根据系统的总体架构设计,本文主要从三个方面完成了基于流式计算的电信实时营销系统设计与实现。解决实时数据的传输问题:流式计算数据处理系统需要进行对实时信息进行及时、不间断地处理。Flume从节点上实时采集数据并将数据以日志的形式存储。Kafka负责低时延的收发日志数据。Storm系统读取Kafka中的数据,并及时的处理,保证处理的稳定性和时效性。Spark Streaming完成对数据的实时分析,保证在复杂度高的分析时具有较高的实时性。Storm系统与Spark Streaming系统共同部署在YARN上,完成了平台的整合与数据资源共享,节省了网络开销。解决精准性营销的问题:通过对电信的DPI数据进行分析,建立用户标签库,对用户进行画像。通过数据挖掘算法发现目标用户群以及用户的触点事件,建立相应的营销规则,当事件发生时触发实时营销动作。这是一个需要不断更新和完善的过程,通过建立正确的营销反馈体系和良好的反馈机制,使实时营销更加精准。利用个性化插件包解决个性化业务的需求问题:利用Mysql数据库和自定义应用程序接口,针对不同的业务场景开发不同的插件包,使实时营销具有可拓展性。(4)实时性营销系统的测试及结果分析。从系统的可行性和性能方面进行了验证和分析。在可行性方面,系统能够实现预期的功能,同时输出相对应的结果,并以明星机推送的场景实例对系统进行验证;在性能方面,分别对Storm和Spark Streaming的性能进行测试,并给出了结果分析。本文提出的实时营销系统能够清晰全面的掌握用户特征与习惯信息,为用户提供个性化定制的营销服务。在竞争激烈的移动增值业务市场中,率先满足用户的需要,得到用户的青睐,同时减少用户的流失。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值