关于 social-proof-widgets
用于在电商店铺添加社交证明元素的技能,涵盖购买通知、访客数量、评价徽章和库存提示。它为店铺团队提供按平台配置的指引,并说明如何测试组件对转化的影响。
主要功能
- 01按店铺平台选择工具
- 02购买及访客通知
- 03评价徽章与低库存提示
- 04组件定向和显示规则
- 05A/B 测试指引
适用场景
- 01在商品页添加近期购买通知
- 02显示访客数量或评价徽章
- 03根据真实库存显示低库存提示
- 04在全站启用前测试组件效果
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ finsilabs/ awesome-ecommerce-skills --skill social-proof-widgets安装后在 Claude Code 中输入/social-proof-widgets确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
tile.jsonevals/dom-safe-purchase-notification-toast-wid/criteria.jsontask.mdevals/review-badge-with-schema-org-markup-and-/criteria.jsontask.mdevals/social-proof-data-api-with-redis-visitor/criteria.jsontask.md详细介绍
社交证明组件
概述
社交证明组件——近期购买通知、访客数量、评价徽章和低库存提示——可以缓解购买顾虑,并使产品页的转化率提升 10–30%。对于 Shopify 和 WooCommerce,可通过专用应用(Fomo、TrustPulse、ProveSource)安装这些组件,无需编写代码。只有采用无头架构且有特定设计要求的商店才需要构建自定义组件。
何时使用此技能
- 产品页流量不错但转化率较低时
- 推出缺少评价、需要其他信任信号的新产品时
- 测试社交证明元素是否会显著影响 CVR 时(需要进行 A/B 测试)
- 希望添加实时购买通知时
- 根据实际库存数据构建低库存紧迫感提示时
核心说明
步骤 1:选择合适的社交证明工具
| 平台 | 最适用于 | Shopify | WooCommerce | BigCommerce | 价格 |
|---|---|---|---|---|---|
| Fomo | 实时购买通知 | 应用商店 | 插件 | 通过 JS | $19+/mo |
| TrustPulse | 近期购买 + 实时访客数量 | — | 插件 | 通过 JS | $5+/mo |
| ProveSource | 所有平台,高度可定制 | 应用商店 | 通过 JS | 通过 JS | 免费套餐;$20+/mo |
| Judge.me | 评价数量徽章 + 已验证买家徽章 | 应用商店 | 插件 | 应用市场 | 免费套餐;$15/mo |
| 自定义 | 无头架构商店、特定设计需求 | 通过 API | 通过 API | 通过 API | 开发成本 |
建议: Shopify 使用 Fomo(购买通知效果最佳),WooCommerce 使用 TrustPulse。对于评价徽章,使用现有的评价平台(Judge.me、Yotpo)——它们会自动包含星级评分徽章。
步骤 2:设置社交证明组件
使用 Fomo 的 Shopify
- 从 Shopify 应用商店安装 Fomo
- 前往 Fomo → Events → Shopify Orders——Fomo 会自动导入商店的近期订单
- 配置通知模板:
- 显示:名字和城市(例如,“Sarah from Chicago just purchased…”)
- 显示产品名称和图片
- 显示最近 48 小时内的订单
- 前往 Fomo → Design,自定义通知提示框的位置和样式(默认位于左下角)
- 前往 Fomo → Rules 并设置:
- 仅在产品页显示(URL 包含
/products/) - 在购物车和结账页面隐藏
- 显示组件前至少显示 3 条通知(避免仅有 1 条事件时显示组件)
- 仅在产品页显示(URL 包含
- 前往 Fomo → A/B Testing,将组件与对照组进行分流测试——启用全站显示前,务必先衡量提升效果
使用 TrustPulse 的 WooCommerce
- 从 WordPress 插件目录安装 TrustPulse
- 前往 TrustPulse → Create Campaign 并选择 Recent Activity
- 配置:
- 数据来源:WooCommerce 近期订单
- 显示:客户姓名、城市、购买的产品
- 显示:最近 7 天内的订单
- 设置定位规则:仅在产品页和商店页面显示;结账页面除外
- 对于访客数量组件,创建第二个 On Fire 活动:“现在有 X 人正在查看”——设置至少有 5 位访客时才显示
使用 ProveSource 的 BigCommerce
- 注册 ProveSource,并通过 Storefront → Script Manager 将 JavaScript 代码片段添加到商店
- 通过集成设置将 BigCommerce 商店连接到 ProveSource
- 在 ProveSource 控制面板中配置近期购买通知和访客数量组件
自定义 / 无头架构
对于无头架构商店,构建社交证明 API 和客户端组件:
// GET /api/products/:id/social-proof
// Returns real data only — never fabricate counts
export async function getProductSocialProof(req: Request, res: Response) {
const productId = req.params.id;
const [recentOrders, reviewSummary, stockLevel] = await Promise.all([
db.orderLineItems.findAll({
where: { productId, createdAt: { gte: subHours(new Date(), 48) } },
include: ['order.shippingAddress'],
limit: 10,
}),
db.productReviews.aggregate(productId),
db.productVariants.findMinStock(productId),
]);
// Anonymize PII — first name and city only
const recentPurchases = recentOrders.map(item => ({
firstName: item.order.shippingAddress.firstName,
location: `${item.order.shippingAddress.city}, ${item.order.shippingAddress.stateCode}`,
timeAgo: formatTimeAgo(item.createdAt),
productName: item.productName,
}));
return res.json({
recentPurchases,
reviews: { average: reviewSummary.avgRating, total: reviewSummary.total },
stockLevel: {
isLow: stockLevel > 0 && stockLevel <= 5,
quantity: stockLevel,
isSoldOut: stockLevel === 0,
},
});
}
客户端购买通知提示框——使用 DOM 方法防止 XSS:
class SocialProofToast {
private queue: Array<{ firstName: string; location: string; productName: string; timeAgo: string }> = [];
private isShowing = false;
async init(productId: string) {
const response = await fetch(`/api/products/${productId}/social-proof`);
const data = await response.json();
this.queue = data.recentPurchases.slice(0, 5);
this.showNext();
}
private showNext() {
if (this.queue.length === 0 || this.isShowing) return;
const purchase = this.queue.shift()!;
this.isShowing = true;
const toast = document.createElement('div');
toast.className = 'sp-toast';
const strong = document.createElement('strong');
strong.textContent = `${purchase.firstName} from ${purchase.location}`; // textContent prevents XSS
const span = document.createElement('span');
span.textContent = ` purchased ${purchase.productName}`;
const time = document.createElement('time');
time.textContent = purchase.timeAgo;
toast.appendChild(strong);
toast.appendChild(span);
toast.appendChild(time);
document.body.appendChild(toast);
setTimeout(() => {
toast.remove();
this.isShowing = false;
setTimeout(() => this.showNext(), 8000); // 8-second gap between toasts
}, 5000);
}
}
第 3 步:添加低库存紧迫感提示
低库存提示(“仅剩 3 件!”)能有效营造紧迫感,但只应显示真实库存数量。顾客发现虚假提示后,会失去信任。
在 Shopify 中: 从 Shopify App Store 安装 Urgency Bear 或 Hurrify,它们会读取你在 Shopify 中的实际库存,并在商品页面显示“仅剩 X 件”。
在 WooCommerce 中: 启用 WooCommerce 内置的低库存显示功能:
- 前往 WooCommerce → Settings → Products → Inventory
- 启用 Show stock management at product level
- 启用 Enable low stock threshold,并将阈值设为 5
- 当库存低于阈值时,WooCommerce 会自动在商品页面显示“仅剩 3 件库存”
自定义阈值: 使用 CSS 根据数量级别设置低库存提示的样式。
第 4 步:A/B 测试社会认同的影响
在全站部署前务必先测试。Fomo 和 TrustPulse 都内置了 A/B 测试功能。
手动进行 A/B 测试:
- 使用平台的实验工具,让 50% 的访客看到该组件
- 至少测试 2 周,并确保每组有 200+ 次转化
- 比较两组的转化率、AOV 和每位访客带来的收入
- 只有在提升具有统计显著性(p < 0.05)时才保留该组件
最佳实践
- 只显示真实数据 — 伪造的购买量或虚构的访客人数一旦被发现,就会损害信任;显示任何组件前,至少应达到 5 次事件的最低门槛
- 匿名处理购买通知 — 只显示名字和城市;绝不包含订单 ID、全名或电子邮件地址
- 异步加载社会认同内容 — 页面加载后使用
requestIdleCallback获取数据;绝不阻塞关键渲染路径 - 在购物车和结账页面隐藏组件 — 结账时显示购买通知会分散顾客对转化的注意力;请在这些页面禁用
- 限制通知频率 — 每个页面会话最多显示 3 条通知,每条之间至少间隔 8 秒
- 所有源自客户的数据都使用
textContent— 防止 XSS 漏洞;绝不将客户姓名或所在位置与innerHTML一起使用
常见问题
| 问题 | 解决方案 |
|---|---|
| Toast 通知显得像垃圾信息 | 每个会话最多显示 3 条;间隔 8 秒;在购物车和结账页面隐藏 |
| 组件降低了转化率(A/B 测试显示负向提升) | 立即禁用;彻底放弃前,先测试不同的位置、文案或时机 |
| 评论徽章未显示在 Google 搜索结果中 | 确保 AggregateRating schema 由服务器渲染(而不只是客户端 JS);使用 Google Rich Results Test 验证 |
| 低库存提示显示的数量有误 | 订阅库存变更 webhook,而不是轮询;过时的数据会造成虚假的紧迫感 |
| 社会认同组件拖慢页面加载 | 页面可交互后再异步加载所有社会认同组件;使用 requestIdleCallback 或 setTimeout(fn, 0) |
相关技能
- @review-generation-engine
- @conversion-rate-optimization
- @exit-intent-popups
- @ugc-campaign-management
- @ab-testing-ecommerce