手把手教你如何做一套utm广告投放

设计背景

目前平台上缺乏对用户来源和生命周期的管理,导致外部投放活动和平台的运营活动无法精确掌握投放效果。这次增加的功能,可以让我们掌握不同的投放、活动所带来的用户质量,从而优化投放及活动手段。

设计概览

通过在链接后面添加UTM(跟踪模块)参数的方式,跟踪用户来源。并且通过为游客模式的用户分配临时ID的方式,可以从游客时期就开始跟踪用户行为,从而更充分的掌握投放效果和用户质量。

详细设计

UTM参数

UTM(urchin tracking module)是一套标准的渠道跟踪工具,除了用来跟踪不同渠道的流量效果外,还可以用来作为精细化运营工具,不断优化投放、活动效果。
UTM常用的参数有5个,分别如下:

参数名称示例
utm_source渠道来源utm_source=zhihu
utm_medium投放媒介utm_medium=kecheng
utm_campaign广告名称utm_campaign=zhihu0728
utm_content广告内容utm_content=153
utm_term广告关键词utm_content=cv
用户生命周期

用户的生命周期是由一系列具体的用户行为构成的,在本次设计中,定义的可以收录入用户生命周期的用户行为有:第一次浏览(第一次使用该产品)、登录、注册、访问课程、下单、购买成功和参与活动(活动特指访问带有UTM参数的页面,可能是对外投放的广告,也可能是官网的一次活动)。下文中将需要收录入用户生命周期的用户行为命名为用户关键行为。
收录的用户关键行为的格式为:行为、行为对象、设备、浏览器、时间戳。比如用户下单了某个课程A,收录的格式为:下单、课程A、手机、APP、时间戳。

临时ID

用户以游客身份访问网站时(PC、M站、APP),如果是以游客身份,需要给用户分配一个唯一的临时ID,并且需要以该临时ID在后台创建一个用户生命周期记录。后续该用户注册或者登录后,需要将该临时ID上发生的用户关键行为合并到学号上去。但该临时ID不要删除,以便继续统计用户万一退出登录后在平台上的行为。
创建临时ID时,需要同时将第一次浏览的信息写上,如果是通过活动链接,则将该次行为记为“参与活动”,否则的话就记为第一次浏览。比如用户通过百度搜索,进入主页,记录的格式为:第一次浏览、具体链接、PC、Chrome、时间戳。

数据统计

用户通过活动链接创建的账户,需要对用户的后续关键行为做持续统计,比如注册、购买等,以方便根据这些数据做精细化的运营,提升广告或者活动效率。
一个用户参与了多次活动,比如活动A、B、C,后续该用户如果注册或者购买了课程(任何平台课程都可以),则注册或者购买数据,需要统计到活动A上,因为是活动A最早触达该用户,使其了解到公司的产品。

技术实现思路

  1. 当存在这几个参数的时候去匹配是否有设置投放utm
    1. 有:则将唯一标识存入到cookie
    2. 没有:则不是广告投放来源
  2. 虚拟id:暂时用php中session_id作为虚拟id的(如果朋友们有更好的建议,可以推荐一下,互相学习)
  3. 当发现用户已注册或登录后,将要把虚拟id生成的所有记录绑定到uid上,这样才能不丢失未注册人的生命周期。如果未注册或登录,那就没办法了。

数据库设计

用户生命周期记录表

CREATE TABLE `utm` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `vid` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '登陆前的虚拟id',
  `uid` int(11) NOT NULL DEFAULT '0' COMMENT '用户id',
  `utm_url_id` int(11) NOT NULL DEFAULT '0' COMMENT '关联投放id',
  `url` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '记录链接',
  `device` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '设备',
  `browser` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '浏览器',
  `course_id` int(11) NOT NULL DEFAULT '0' COMMENT '课程',
  `pay_amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '消费金额',
  `add_time` int(11) NOT NULL DEFAULT '0' COMMENT '添加时间',
  `action` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '行为',
  PRIMARY KEY (`id`),
  KEY `rds_idx_0` (`uid`,`vid`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='用户生命周期记录'

广告投放表

CREATE TABLE `utm2` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '链接名称',
  `url` text COLLATE utf8_unicode_ci NOT NULL COMMENT 'url完整地址',
  `utm_campaign` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '缩略名',
  `utm_source` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '来源',
  `utm_medium` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '媒介',
  `utm_term` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '关键词',
  `utm_content` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '内容',
  `add_time` int(11) NOT NULL DEFAULT '0' COMMENT '添加时间',
  `url_index` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT 'url唯一索引',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='广告投放'

实战链接

https://wxiangqian.blog.csdn.net/article/details/105764287?utm_source=csdn

结束语

如果功能设计有什么漏洞,欢迎大家提供更好的建议,希望本文可以帮助你们实现"utm"功能👍
在这里插入图片描述

Vbs脚本编程简明程之一 —为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制、粘贴、改名、删除,也许你每天启动计算机第一件事情就是打开WORD,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可能你经常需要对文本中的某些数据进行整理,把各式各样的数据按照某种规则排列起来……。这些事情重复、琐碎,使人容易疲劳。 第三方软件也许可以强化计算机的某些功能,但是解决这些重复劳动往往事倍功半,我也尝试过使用计算机语言编写程序来解决这些问题,但是随之而来的命令、语法、算法、系统框架和类库常常让我觉得这样是否有必要,难道就是因为猪毛比较难拔,所以我就要去学习机械,为自己设计一个拔猪毛机(?)吗? Vbs是一种Windows脚本,它的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版),VBS是Visual Basic的的一个抽象子集,是系统内置的,用它编写的脚本代码不能编译成二进制文件,直接由Windows系统执行(实际是一个叫做宿主host的解释源代码并执行),高效、易学,但是大部分高级语言能干的事情,它基本上都具备,它可以使各种各样的任务自动化,可以使你从重复琐碎的工作中解脱出来,极大的提高工作效率。 我个人认为Vbs脚本其实就是一种计算机编程语言,但是由于缺少计算机程序设计语言中的部分要素,对于事件的描述能力较弱,所以称为脚本,它最方便的地方就是提供了对COM对象的简便支持。那么什么是COM对象呢? 我这样理解,COM对象就是一些具有特定函数功能项程序模块,他们一般以ocx或者dll作为扩展名,你只要找到包含有你需要的功能的模块文件,并在脚本中规范的引用,就可以实现特定的功能,也就是说Vbs脚本就是调用现成的“控件”作为对象,用对象的属性和方法实现目的,完全免去了编写代码、设计算法等等麻烦。说白了,我不是觉得拔猪毛麻烦么?我发觉xx机(比如真空离心器)有一个功能可以实现脱毛,ok,我把它拿来给猪脱毛。什么?大材小用?太浪费资源了?天哪,那是计算机芯片的事情,死道友不死贫道,反正我的事情是方便快速的解决了,这就行了。 最方便的是它甚至不需要专门的开发环境,在你的计算机中,只要有notepad,就可以编写Vbs脚本了,并且可以直接执行。 Vbs脚本编程简明程之二
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值