抖音开放平台Logo
开发者文档
“/”唤起搜索
控制台
  • 开发教程与代码示例
  • 入门
  • 小程序框架
  • 小程序运行时
  • 自定义组件
  • 基础教程
  • 能力教程
  • 流量入口
  • 通用能力
  • 推广变现
  • 经营能力
  • 接入订阅消息能力
  • 接入 IM 消息收发能力
  • 识别流量来源-标记链接方式指引(视频/直播)
  • 私域经营能力
  • 行业能力
  • AI/AR 算法能力
  • 性能优化
  • 安全
  • 识别流量来源-标记链接方式指引(视频/直播)
    收藏
    我的收藏

    通过接入流量来源识别能力,开发者能够获取用户来源,能够根据具体的需求区分用户进入小程序的具体来源,包括视频作者、主播等标识。平台已开放视频和直播场景的流量来源识别接口tt.getAnalysisInfo,如需更多自定义标签归因需求,可通过以下指引实现。

    视频场景

    支持归因的粒度和条件

    归因粒度
    条件(需同时满足)
    归因到「人」
    员工A <—> 用户B
      1.小程序具备自挂载权限。
      2.小程序和抖音号经平台绑定授权,包括品牌号员工号合作号
      3.视频需通过移动端发布,包括 4 类:
      拍抖音 - 菜单面板
      用户在抖音客户端点击“➕” ,打开视频发布器。
    归因到「视频」
    员工A <—>视频1 <—> 用户B
      1.小程序具备自挂载权限
      2.小程序和抖音号经平台绑定授权,包括 品牌号
      3.视频需通过 小程序「拍抖音」能力发布,包括 3 类
      拍抖音 - 菜单面板
    注意
    暂时不支持 UGC(通用)挂载。

    移动端视频发布路径

    发布视频的路径
    触发开发者的钩子函数
    支持归因粒度
    移动端 - 发布
      1.用户在抖音客户端点击“➕”
      2.用户自主拍摄/上传视频
      3.选择小程序页面作为锚点
    归因到「人」
    拍抖音-小程序菜单
      1.用户进入要挂载的小程序
      2.点击右上角菜单
      3.点击面板内的「拍抖音」按钮
    归因到「视频」
    自定义
      1.开发者在小程序页面内渲染 button
      2.用户
      a.点击 button 后,拉起抖音拍摄器
      b.用户自主拍摄/上传视频
      c.选择小程序页面作为锚点
    归因到「视频」
    自定义
      1.开发者在小程序页面内渲染 button
      2.用户
      a.点击 button 后,带上开发者上传的视频,进入视频发布页
      b.选择小程序页面作为锚点
    归因到「视频」

    接入方案

    归因到「人」

    步骤
    时机
    方案
    1. 发布视频
    开发者自主引导员工,通过移动端发布视频且挂载小程序锚点。
    移动端有 4 种方式。
      直接从抖音客户端的“➕”发布器。
      拍抖音 - 菜单面板。无需前端页面 button,员工可以直接点击 小程序右上角 - 菜单 - 拍抖音。
    2. 带参
    员工 A 通过步骤1 挂载锚点时,会触发钩子函数。其中:
      1.抖音➕、拍抖音 - button 和菜单面板
    —> 触发 onShareAppMessage函数
    —> 触发 onUploadDouyinVideo 函数
    方式一:开发者在 onShareAppMessage 函数内可以自主实现参数拼接逻辑
      1.开发者根据 ShareOption 中的 channel=“video”channel=“anchor” 识别当前的操作场景是「视频挂载」。
      2.获取员工 A 的 openid。
      3.为当前锚点生成独一无二的小程序链接,即将员工 A 的 openid 拼接在页面 path 后。如 index/product?员工=openid_A
    方式二:开发者在 onUploadDouyinVideo 函数内可以自主实现参数生成逻辑
      1.获取员工 A 的 openid。
      2.为当前锚点生成独一无二的小程序链接,即将员工 A 的 openid 拼接在页面 path 后。如 index/product?员工=openid_A
    3. 识参
    普通用户 B 从视频锚点进入小程序时
      1.开发者可以通过 tt.getLaunchOptionsSync() 的 query 获取「员工 A 的 openid」。
      2.开发者可以获取用户 B 的 openid。
      3.最终可以映射员工 A 的 openid <—> 普通用户 B 的 openid。

    归因到「视频」

    步骤
    时机
    方案
    1. 拍抖音
    开发者自主引导员工,通过小程序「拍抖音」或「发布视频到抖音」发布视频。
    小程序「拍抖音」或「发布视频到抖音」有 3 种方式。
      1.发布抖音视频 - button <button open-type="uploadDouyinVideo" ></button>
      2.拍抖音 - button<button open-type="share" data-channel="video"></button>
      3.拍抖音 - 菜单面板 。无需前端页面 button,员工可以直接点击 小程序右上角 - 菜单 - 拍抖音
    2. 带参
    员工A通过 步骤1 中小程序「拍抖音」或「发布视频到抖音」挂载锚点时,会触发钩子函数。其中:
      1.拍抖音 - button 和 菜单面板
    —> 触发 onShareAppMessage函数
    —> 触发 onUploadDouyinVideo 函数
    方式一:开发者在 onShareAppMessage 函数内可以自主实现参数拼接逻辑
      1.开发者根据 ShareOption 中的 channel=“video” 识别当前的操作场景是「视频挂载」。
      2.获取员工 A 的 openid,并为当前的视频生成一个唯一的临时参数 X。
      3.为当前锚点生成独一无二的小程序链接,即将员工 A 的 openid 和视频参数 X 拼接在页面 path,如 index/product?员工=openid_A&视频=参数 X
      4.当员工点击“发布视频”按钮且开发者在 ShareAppMessage 返回参数设置 withVideoId=true,开发者可以通过 onShareAppMessage 的成功回调获取 videoid。
      5.可以映射员工 A 的 openid -> 参数 X -> videoid。
    方式二:开发者在 onUploadDouyinVideo 函数内可以自主实现参数生成逻辑
      1.获取员工 A 的 openid,并为当前的视频生成一个唯一的临时参数 X。
      2.为当前锚点生成独一无二的小程序链接,即将员工 A 的 openid 和视频参数 X 拼接在页面 path,如 index/product?员工=openid_A&视频=参数 X
      3.当员工点击“发布视频”按钮且开发者在 ShareAppMessage 返回参数设置 withVideoId=true,开发者可以通过 onShareAppMessage 的成功回调获得 videoid。
      4.可以映射员工 A 的 openid -> 参数 X -> videoid。
    3. 识参
    普通用户B从视频锚点进入小程序时
      1.开发者可以通过 tt.getLaunchOptionsSync() 的 query 参数获取「员工 A 的 openid」和「参数 X」。
      2.开发者可以获取用户 B 的 openid。
      3.可以映射员工 A 的 openid -> 参数 X -> videoid -> 普通用户 B 的 openid。

    常见问题

    Q1:小程序内如何获取 video_id

    A:
      1.获取条件
        通过小程序「拍抖音」或「发布视频到抖音」能力发布并成功挂载锚点。需同时满足以下两个条件:
      条件 1:由小程序通过「拍抖音」能力发布,包含 3 种方式。
      opentype="uploadDouyinVideo"
      open-type="share" data-channel="video"
      通过小程序菜单面板功能发布
      条件 2:视频挂载了发布视频的小程序(未挂载或挂载其他小程序时,不返回 video_id)。
      2.获取时机
        当用户发布视频并通过抖音审核后,系统会通过 onShareAppMessage 的 success 回调将 video_id 返回给开发者。

    Q2:开发者如何控制在“小程序菜单面板”里展示「拍抖音」按钮?

    A:需要同时满足以下 2 个条件。
      1.前端代码注册 onShareAppMessage 函数。
      2.开发者没有主动隐藏入口。

    直播间场景

    支持归因的粒度和条件

    归因粒度
    条件(需同时满足)
    归因到「人」
    员工A <—> 用户B
      1.小程序具备自挂载权限(暂时不支持通用挂载归因)
      2.小程序和抖音号经平台绑定授权,包括 品牌号员工号合作号
      3.通过抖音移动端开播,并挂载小程序

    移动端开播

    发布视频的路径
    触发开发者的钩子函数
    支持归因粒度
    抖音移动端 - 发布
      1.用户在抖音客户端点击“➕” ,切换至“开直播”
      2.选择小程序页面作为锚点
    归因到「人」

    接入方案:归因到「人」

    步骤
    时机
    方案
    1. 开播
    开发者自主引导员工,通过移动端开播且挂载小程序锚点。
    直接从抖音客户端的“➕”发布器,切换至“开播”。
    2. 带参
    员工A 通过 步骤1 挂载锚点时,会触发钩子函数 onShareAppMessage
    开发者在 onShareAppMessage 函数内可以自主实现。
      1.开发者根据 ShareOption 中的 channel="live_anchor",识别当前的操作场景是「直播挂载」。
      2.开发者可以通过 tt.login 获取员工 A 的 openid。
      3.为当前锚点生成独一无二的小程序链接,即将员工 A 的 openid 拼接在页面 path 后,如 index/product?员工=openid_A
    3. 识参
    普通用户B从直播间进入小程序时。
      1.开发者可以通过 tt.getLaunchOptionsSync() 的 query 参数获取「员工 A 的 openid」。
      2.开发者可以获取用户 B 的 openid。
      3.最终可以建立员工 A 的 openid 与用户 B 的 openid 映射关系。