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


    设计背景

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

    设计概览

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

    详细设计

    UTM参数

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

    UTM常用的参数有5个,分别如下:

    b87e3fc797d13123adc81b9c2dc61f74.png

    用户生命周期

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

    收录的用户关键行为的格式为:行为、行为对象、设备、浏览器、时间戳。比如用户下单了某个课程A,收录的格式为:下单、课程A、手机、APP、时间戳。

    临时ID

    用户以游客身份访问网站时(PC、M站、APP),如果是以游客身份,需要给用户分配一个唯一的临时ID,并且需要以该临时ID在后台创建一个用户生命周期记录。后续该用户注册或者登录后,需要将该临时ID上发生的用户关键行为合并到学号上去。但该临时ID不要删除,以便继续统计用户万一退出登录后在平台上的行为。更多知识讲解,微信搜索:码农编程进阶笔记

    创建临时ID时,需要同时将第一次浏览的信息写上,如果是通过活动链接,则将该次行为记为“参与活动”,否则的话就记为第一次浏览。比如用户通过百度搜索,进入主页,记录的格式为:第一次浏览、具体链接、PC、Chrome、时间戳。

    数据统计

    用户通过活动链接创建的账户,需要对用户的后续关键行为做持续统计,比如注册、购买等,以方便根据这些数据做精细化的运营,提升广告或者活动效率。

    一个用户参与了多次活动,比如活动A、B、C,后续该用户如果注册或者购买了课程(任何平台课程都可以),则注册或者购买数据,需要统计到活动A上,因为是活动A最早触达该用户,使其了解到公司的产品。

    技术实现思路

    1. 当存在这几个参数的时候去匹配是否有设置投放utm

      有:则将唯一标识存入到cookie

       没有:则不是广告投放来源

    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='广告投放'

    4e3deb8d8c274e0d2581d6330199ad66.png

  • 相关阅读:
    【链表】Bzoj1098[POI2007]办公楼biu
    【构造】Bzoj1432[ZJOI2009]Function
    【Dp】Bzoj1296 [SCOI2009] 粉刷匠
    【二分贪心】Bzoj3969 [WF2013] Low Power
    【递推】Bzoj3612[Heoi2014]平衡
    HDU-3718 Similarity
    HDU-3435 A new Graph Game
    HDU-3488 Tour
    HDU-1853 Cyclic Tour
    HDU-1533 Going Home
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15847750.html
Copyright © 2020-2023  润新知