手把手教你如何做一套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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM