CAT组件

概览

  Call-to-Action(CTA)“呼吁行动”,旨在引导用户执行特定的操作,例如了解更多、联系客服、申请试用、下载文件等。CTA通过吸引用户的注意力和提供明确的指导,帮助企业实现其营销目标,如获取更多潜客线索、增加销售额、提高转化率等。营销通中可以设置用户信息验证、引导及信息收集组件,可以挂载在营销通生成内容上,也通过SDK方式对接到第三方系统的内容中,用户在进入页面、或者点击某按钮后,弹出引导内容,也可以配置需要进行留咨或授权身份后才能进行下一步动作,比如点击下载按钮后,需要客户提交表单后才能下载。同时支持组合型验证,如需要先关注公众号,并且再提交表单后才能下载文件。一个CTA组件,可以被多个内容应用  。

1 新建CTA组件

2 CTA组件详情

3 CTA组件应用

3.1 微页面全局应用

3.2 微页面文件下载列表应用

3.3 微页面按钮及图片点击后动作

3.4 文章中应用

3.5 产品中应用

3.6 名片中应用

3.7 SDK应用

使用场景:
主要用于官网中收集客户信息
1、在客户需要下载文件、看视频、看文章等场景下,需要留咨后才能继续完成动作
//ctaSDK使用依赖官网sdk,请先完成官网sdk引入 window.addEventListener('load',function () { var cta = FsYxt.CtaSDK({ // 需要更换营销通中配置的ctaId ctaId: "bf8567cc59b34692ace3456c2a993d2114", autoExecuteOnReady: false, hideEntryBtn: true, }) //cta 初始化成功回调 cta.onReady(function () { console.log('cta onReady'); //需要更换自己的触发按钮动作 var button = document.getElementById('button'); if (button) { console.log('cta onReady button'); button.addEventListener('click', function () { cta.start(); }); } }) //执行完成所有行为回调 cta.onActionComplete(function () { console.log('cta action complete'); //需要执行自己的后动作,比如下载文件 window.location.href = '文件下载地址'; }); //执行失败回调 cta.onError(function () { console.log('cta error'); }); })
2、官网全局的申请试用,咨询按钮等,点击后出现留咨表单,引导客户留咨
//ctaSDK使用依赖官网sdk,请先完成官网sdk引入 window.addEventListener('load',function () { var cta = FsYxt.CtaSDK({ // 需要更换营销通中配置的ctaId ctaId: "bf8567cc59b34692ace3456c2a9913d2114", autoExecuteOnReady: false, hideEntryBtn: true, }) })

附录:CTA SDK 技术文档

简介

CTA (Call To Action) SDK 是一个用于在网页中嵌入引导组件的 JavaScript SDK。

安装

  1. 在 HTML 文件中引入 SDK:
//ctaSDK使用依赖官网sdk,请先完成官网sdk引入
(function () {
  var s = document.createElement("script");
  s.type = "text/javascript";
  s.charset = "utf-8";
  s.src = "https://www.fxiaoke.com/ec/h5-landing/release/ctaSDK-1.0.0.js?id=" + Math.random();
  document.getElementsByTagName("head")[0].appendChild(s);
})();
  1. 确保全局变量 FsYxt 可用,SDK 会挂载在该对象下。

快速开始

基本使用示例:

const cta = FsYxt.CtaSDK({
    ctaId: "your-cta-id"
});

// 监听准备就绪事件
cta.onReady(() => {
    console.log('CTA 组件已准备就绪');
});

// 监听错误事件
cta.onError((error) => {
    console.log('发生错误:', error);
});

API 参考

构造函数选项

FsYxt.CtaSDK(options)

参数 类型 必填 默认值 说明
ctaId string - CTA 组件的唯一标识
hideEntryBtn boolean false 是否隐藏默认引导按钮
autoExecuteOnReady boolean true 是否在准备就绪后自动执行
marketingEventId string - 市场活动 ID
buttonId string - 自定义触发按钮的 ID
actionStyle object - 样式配置对象

样式配置选项

actionStyle 对象包含以下配置项:

参数 类型 必填 默认值 说明
position string 'center' 组件弹出位置,可选值:'center'(居中)、'bottom-right'(右下角)
maskOpacity number 0.6 遮罩层透明度,取值范围 0-1
width string '280px' 表单弹窗宽度,支持 px、%、vw 等单位
borderRadius string '6px' 弹层圆角,支持 px、% 等单位

实例方法

onReady(callback)

监听组件准备就绪事件

cta.onReady(() => {
    console.log('组件已就绪');
});

onError(callback)

监听错误事件

cta.onError((error) => {
    console.log('发生错误:', error);
});

start()

手动触发 CTA 引导组件

cta.start();

onActionComplete(callback)

监听引导完成事件

cta.onActionComplete(() => {
    console.log('引导完成');
});

onActionStep(callback)

监听引导步骤事件

cta.onActionStep((step) => {
    console.log('当前步骤:', step);
});

destroy()

销毁 CTA 实例

cta.destroy();

使用示例

1. 基础用法

const cta = FsYxt.CtaSDK({
    ctaId: "your-cta-id"
});

2. 自定义按钮触发和样式

const cta = FsYxt.CtaSDK({
    ctaId: "your-cta-id",
    autoExecuteOnReady: false,
    hideEntryBtn: true,
    actionStyle: {
        position: 'bottom-right',
        maskOpacity: 0.8,
        width: '500px',
        borderRadius: '16px'
    }
});

cta.onReady(() => {
    const button = document.getElementById('custom-button');
    button.addEventListener('click', () => {
        cta.start();
    });
});

3. 完整的生命周期管理

const cta = FsYxt.CtaSDK({
    ctaId: "your-cta-id",
    marketingEventId: "your-marketing-event-id"
});

cta.onReady(() => {
    console.log('CTA 已就绪');
});

cta.onActionStep((step) => {
    console.log('当前步骤:', step);
});

cta.onActionComplete(() => {
    console.log('引导完成');
    // 执行后续操作
});

cta.onError((error) => {
    console.log('发生错误:', error);
});

// 不再需要时销毁实例
// cta.destroy();

4. 多实例使用

// 第一个实例
const cta1 = FsYxt.CtaSDK({
    ctaId: "first-cta-id"
});

// 第二个实例
const cta2 = FsYxt.CtaSDK({
    ctaId: "second-cta-id",
    autoExecuteOnReady: false
});

常见问题

Q1: 如何在页面加载完成后初始化多个 CTA?

使用 window.addEventListener('load', ...) 而不是 window.onload

window.addEventListener('load', () => {
    FsYxt.CtaSDK({
        ctaId: "first-cta-id"
    });
});

window.addEventListener('load', () => {
    FsYxt.CtaSDK({
        ctaId: "second-cta-id"
    });
});

Q2: 如何确保 CTA 组件在特定条件下才执行?

使用 autoExecuteOnReady: false 并手动控制启动时机:

const cta = FsYxt.CtaSDK({
    ctaId: "your-cta-id",
    autoExecuteOnReady: false
});

cta.onReady(() => {
    // 检查条件
    if (yourCondition) {
        cta.start();
    }
});

Q3: 如何处理错误情况?

始终添加错误处理回调:

cta.onError((error) => {
    console.error('CTA 错误:', error);
    // 实现错误恢复逻辑
});

Q4: 如何在单页面应用(SPA)中使用?

在路由变化时记得销毁不需要的实例:

// 组件卸载时
componentWillUnmount() {
    if (this.cta) {
        this.cta.destroy();
    }
}
2025-06-05
0 0