APP投放的归因框架设计
一、归因相关概念回顾
在广告归因简介中我们介绍常见的归因模型和归因方法,我们先来回顾一下:
1. 背景

2. 设备标识

3. 归因模型
归因模型的多样性意味着每种模型都有其独特的优势和局限。关键在于选择一个与您的业务场景相匹配的模型,并且确保该模型对所有营销渠道都一视同仁。毕竟,每个参与用户转化过程的渠道都对用户的决策产生了一定的影响。通过选择合理应用归因模型,可以更准确地评估各个渠道的贡献,从而优化营销策略,提升整体的营销效果。

4. 归因方法
不同的归因方法,其核心在于如何有效地将“原因”与“结果”通过一个独特的标识符联系起来。这个标识符可以是设备信息、渠道包信息,或者是特定广告投放的唯一标识。关键在于能够在用户与广告互动以及转化发生时迅速捕获这一标识。捕获到的唯一标识可以被存储在本地设备上,或者上传至底层数据仓库中,以便于后续的分析和处理。

二、归因窗口周期
归因模型之外,归因窗口周期同样对转化结果的归属有着决定性的影响。归因窗口周期定义了在用户实现转化时,我们应回溯多长时间来识别促成这一转化的“原因”。这个“多长时间”便是归因窗口的时长。
归因窗口的设置是一个策略性决策,它决定了在转化过程中,哪些先前的接触点将被考虑在内。显然,不同的转化结果需要不同长度的时间回溯来确定其原因。归因窗口的长短会直接影响到哪些广告投放被视为对转化有贡献。
那么,如何确定归因窗口的理想长度呢?通常,归因窗口的周期应根据推广活动的具体目标来设定。不同的推广活动可能需要不同的归因周期来准确反映其效果。即使是同一推广活动,在不同平台上的推广也可能需要不同的归因窗口周期,例如在PC端与App端的推广活动。
为了更精确地设定归因窗口,各企业可以根据自身的平均转化流程来定制。这意味着考虑用户从首次接触到最终转化的平均时间跨度,以及不同渠道和设备上用户行为的特点。通过这种方式,可以确保归因窗口既公平又有效地反映了各个广告投放对用户转化的实际影响。
三、归因框架设计
在回顾了广告归因的背景、模型及方法之后,接下来将深入探讨归因框架的整体设计。详细解析构建一个完整的归因体系所需的关键模块。

上图为我们呈现了一个广告互动至用户转化归因的完整流程图景。我们从架构设计的角度来看,进一步细化成如下流程:

它详细描绘了从广告接触点到最终转化归因的每一个关键步骤,其中标注了1-6点,我们继续来拆解下这6点对应的模块。
1. 监测模块
在上图中标注为1的监测系统,主要负责通过链接收集用户与广告的互动数据。这些链接能够捕获包括设备号、时间戳、IP地址、用户代理(UA)以及广告投放相关参数在内的信息。收集到的数据会被存储在底层数据仓库中,以便在用户发生转化时,能够快速匹配并分析其之前的互动行为,从而实现精准的转化归因。
2. Scheme链接
Scheme链接模块,对应上图中的2,是广告归因系统中的关键组成部分。它的主要作用有两个:
1)唤醒App至指定页面:通过Scheme链接,用户可以被直接引导至App内的特定页面,从而提升用户体验和转化率。
2)记录唤醒业绩参数:当App被唤醒时,相关的渠道参数会被存储在本地。这些参数在用户完成转化后,会被读取并发送到下游的转化归因服务,以实现准确的Scheme归因。
为了确保数据的准确性和归因的有效性,系统在存储渠道参数前会进行严格的参数校验,剔除不合法的参数。此外,根据归因逻辑,如首次互动模型,系统只会存储一次参数,避免重复归因,确保归因的准确性和系统性能。
3. 安卓打包模块
安卓打包模块对应上图中的3,该模块的作用在安卓渠道包的打包和管理,输出渠道包的APK文件。
针对安卓APK打不同渠道包的需求,以下是一些推荐的打包工具:
1)ApkChannelPackage:这是一款快速多渠道打包工具,支持基于V1和V2签名进行渠道打包。它能够自动检测Apk使用的签名方法,并选择合适的多渠道打包方式,对使用者来说完全透明。
2)Walle:美团开发的新一代渠道包打包神器,支持Android Signature V2 Scheme签名下的多渠道打包,可以快速生成渠道包,并且支持动态渠道信息注入。
3)VasDolly:腾讯开发的Android V1 and V2 Signature Channel Package Plugin,适用于需要生成多个渠道包的场景。
4)AndroidMultiChannelBuild:这是一个支持生成多渠道APK的Kit,可以方便地进行渠道打包。
5)EdgeOne边缘APK动态打包:腾讯云提供的方案,结合EdgeOne、COS和SCF产品,在边缘实现Android APK多渠道的动态打包。
选择合适的工具时,需要考虑项目的具体需求、团队的技术栈以及对打包效率的要求。这些工具各有特点,可以根据自己的实际情况进行选择。
4. JS-SDK模块
JS-SDK模块,对应于上图中的5和6,扮演着至关重要的角色。当用户浏览H5页面时,JS-SDK便开始工作,它不仅记录页面内容,还将关键信息如IP地址、用户代理(UA)、URL链接以及唯一广告ID等写入剪贴板和cookie中。
这些记录的信息对于广告归因至关重要,因为它们为后续的用户行为提供了重要的上下文。当用户随后打开App,无论是通过激活还是唤醒的方式,JS-SDK都能够读取剪贴板中的内容。
5. 站内承接配置模块
当用户启动App时初始体验至关重要。通过关联监测链接和剪贴板内容,我们能够实现场景还原和个性化互动定制,从而显著提升用户的转化率。策略的核心在于,用户进入App的第一个页面将直接影响其对App的初步印象和后续行为。为了优化这一环节,我们可以采取以下措施:
1)个性化内容展示:根据用户的广告互动历史,展示他们最感兴趣的产品或服务,实现“所见即所得”的体验。
2)新用户专区:为新用户定制专区内容,通过特别优惠或精选推荐,激发他们的购买欲望,从而提高首单转化率。
3)场景还原:利用监测链接和剪贴板内容,重建用户的广告互动场景,确保App的初始页面与用户的广告体验无缝对接。
4)动态互动定制:根据用户的偏好和行为模式,动态调整App的初始页面内容,提供更加个性化的用户体验。
5)A/B测试:通过A/B测试不同的初始页面设计和内容策略,找出最有效的转化路径。
6. 归因模块
归因模块在广告归因框架中占据核心地位,它不仅是归因策略的管理中心,也是展示归因成果的关键平台。该模块的设计原则在于提供灵活性和深度洞察,以满足多样化的业务需求:
1)策略管理:归因模块允许广告主根据不同的业务场景和目标,定制和优化归因策略。确保归因能够精准地反映各个广告渠道的真实贡献。
2)结果展示:归因分析的结果通过直观的数据报表形式呈现,使得广告主能够清晰地看到每个广告渠道的转化效果。报表数据是评估广告效果和优化广告预算的重要依据。
相关文章:
APP投放的归因框架设计
一、归因相关概念回顾 在广告归因简介中我们介绍常见的归因模型和归因方法,我们先来回顾一下: 1. 背景 2. 设备标识 3. 归因模型 归因模型的多样性意味着每种模型都有其独特的优势和局限。关键在于选择一个与您的业务场景相匹配的模型,并且…...
职业生涯记录-1
机缘 普通人改命,要学会向上社交,能自然融入的圈子,多数是往下社交,没有多少价值,想要获取更多资源,但是有钱人只跟有钱人交朋友,不会带我们普通人玩,又错了,有钱人身边最不缺的就是有钱人,他们缺的是对他们有利用价值的朋友,往上社交的关键,你必须是个对他有利用价…...
江苏捷科云:可视化平台助力制造企业智能化管理
公司简介 江苏捷科云信息科技有限公司(以下简称“捷科”)是一家专注于云平台、云储存、云管理等产品领域的创新型企业,集研发、生产和销售于一体,致力于在网络技术领域打造尖端品牌。在推动制造业企业数字化转型的进程中…...
【ES6复习笔记】Promise对象详解(12)
1. 什么是 Promise? Promise 是 JavaScript 中处理异步操作的一种机制,它可以让异步操作更加容易管理和控制。Promise 对象代表一个异步操作的最终完成或失败,并提供了一种方式来处理操作的结果。 2. Promise 的基本语法 Promise 对象有三…...
01 Oracle 基本操作
Oracle 基本操作 初使用步骤 1.创建表空间 2.创建用户、设置密码、指定表空间 3.给用户授权 4.切换用户登录 5.创建表 注意点:oracle中管理表的基本单位是用户 文章目录 了解Oracle体系结构 1.创建表空间**2.删除表空间**3.创建用户4.给用户授权5.切换用户登录6.表操…...
C语言基础:指针(数组指针与指针数组)
数组指针与指针数组 数组指针 概念:数组指针是指向数组的指针,本质上还是指针 特点: 先有数组,后有指针 它指向的是一个完整的数组 一维数组指针: 语法: 数据类型 (*指针变量名)[行容量][列容量]; 案…...
本地部署 LLaMA-Factory
本地部署 LLaMA-Factory 1. 本地部署 LLaMA-Factory2. 下载模型3. 微调模型3-1. 下载数据集3-2. 配置参数3-3. 启动微调3-4. 模型评估3-5. 模型对话 1. 本地部署 LLaMA-Factory 下载代码, git clone https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Facto…...
Web前端基础知识(三)
表单的应用非常丰富,可以说,每个网站都会用到表单。下面首先介绍表单中的form标签。 --------------------------------------------------------------------------------------------------------------------------------- <form></form&g…...
数据库设计问题记录
唯一性约束和逻辑删除的冲突 问题描述 如果一张表中,存在唯一性约束,比如一些数据中的code,且数据表使用逻辑删除。当删除某行数据的时候,以后再次插入相同code的数据,数据库会报错。 问题分析 在逻辑删除中&#…...
mac_录屏
参考: mac m1上系统内录方法BlackHole代替soundflower录音(附安装包) https://blog.csdn.net/boildoctor/article/details/122765119录屏后没声音?这应该是 Mac(苹果电脑) 内录声音最优雅的解决方案了 https://www.bilibili.com/…...
【Java-tesseract】OCR图片文本识别
文章目录 一、需求二、概述三、部署安装四、技术细节五、总结 一、需求 场景需求:是对识别常见的PNG,JPEG,TIFF,GIF图片识别,环境为离线内网。组件要求开源免费,并且可以集成Java生成接口服务。 二、概述 我不做选型对比了,我筛选测试了下Tesseract(v…...
redis cluster集群
华子目录 什么是redis集群redis cluster的体系架构什么是数据sharding?什么是hash tag集群中删除或新增节点,数据如何迁移?redis集群如何使用gossip通信?定义meet信息ping消息pong消息fail消息(不是用gossip协议实现的࿰…...
解锁高效密码:适当休息,让学习状态满格
一、“肝帝” 的困境 在当今竞争激烈的职场中,“肝帝” 现象屡见不鲜。超长工时仿佛成为了许多行业的 “标配”,从互联网企业的 “996”“007”,到传统制造业的轮班倒、无休无止的加班,员工们的工作时间被不断拉长。清晨ÿ…...
代码随想录算法训练营第十一天-150.逆波兰表达式求值
队列栈 #include <iostream> #include <vector> #include <stack>class Solution { public:int evalRPN(std::vector<std::string>& tokens) {std::stack<long long> stack_number;for (auto it tokens.begin(); it ! tokens.end(); it) {…...
C++ 泛编程 —— 嵌套使用模板类
嵌套使用模板类 嵌套使用模板类最常见的场景数组容器中有栈容器栈容器中有数组容器递归使用模板类 嵌套使用模板类最常见的场景 容器中有容器 数组的元素可以是栈,栈中的元素可以是数组。先来看一下Stack和Vector的基本代码,定长数组Array的代码也给出来…...
【WebGIS】Cesium:GLTF数据加载
在3D Web GIS开发中,使用GLTF格式的模型可以提高应用的加载速度并提升用户体验。Cesium.js是一个强大的3D地理空间引擎,支持GLTF格式的3D模型,并且提供丰富的API来处理和优化模型的加载和渲染。本文将系统地介绍如何加载GLTF模型,…...
【面经】25届 双非本科 字节跳动 北京 四年的总结
点击“硬核王同学”,选择“关注” 福利干货第一时间送达 大家好,我是硬核王同学,最近在做免费的嵌入式知识分享,帮助对嵌入式感兴趣的同学学习嵌入式、做项目、找工作! 给大家分享一个25届本科大佬的面经,…...
抖去推碰一碰系统技术源码/open SDK转发技术开发
抖去推碰一碰系统技术源码/open SDK转发技术开发 碰一碰智能系统#碰碰卡系统#碰一碰系统#碰一碰系统技术源头开发 碰碰卡智能营销系统开发是一种集成了人工智能和NFC技术的工具,碰碰卡智能营销系统通过整合数据分析、客户关系管理、自动化营销活动、多渠道整合和个…...
goview——vue3+vite——数据大屏配置系统
低代码数据大屏配置系统: 数据来源是可以动态api配置的: 配置上面的api接口后,在数据过滤中进行数据格式的转化。 以上内容,来源于https://gitee.com/dromara/go-view/tree/master-fetch/ 后端代码如下,需要更改…...
中间件xxl-job安装
拉取镜像 docker pull xuxueli/xxl-job-admin:2.4.2 创建xxl-job-admin容器 docker create --name xxl-job-admin -p 9099:8080 -e PARAMS"--spring.datasource.urljdbc:mysql://192.168.96.57:3306/xxl_job2Unicodetrue&characterEncodingUTF-8 --spring.dataso…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
