361 lines
9.7 KiB
Markdown
361 lines
9.7 KiB
Markdown
---
|
||
name: psychology/testimonials
|
||
title: Social Proof & Testimonials
|
||
description: Trust-building patterns: testimonials, logos, reviews, trust badges.
|
||
tags: [psychology, social-proof, trust, testimonials, conversion, cialdini]
|
||
source: stripe.com, linear.app, raycast.com, resend.com, cialdini.com
|
||
---
|
||
|
||
# Social Proof & Testimonials
|
||
|
||
## Что это
|
||
Шаблоны социального доказательства: отзывы, логотипы клиентов, цифры, trust badges. Основано на законе социального доказательства Роберта Циялдини.
|
||
|
||
## Пирамида Доверия
|
||
|
||
```
|
||
[Trust Badges + Security Certifications] ← Максимальное доверие
|
||
↓
|
||
[Logos of Known Clients] ← Доверие к бренду
|
||
↓
|
||
[Statistics / Numbers] ← Доверие к цифрам
|
||
↓
|
||
[Testimonials] ← Доверие к людям
|
||
↓
|
||
[Case Studies] ← Глубокое доверие
|
||
```
|
||
|
||
## Pattern 1: Logo Cloud (Monochrome)
|
||
|
||
```html
|
||
<section class="logo-cloud">
|
||
<p class="logo-cloud-label">Нам доверяют более 500 компаний</p>
|
||
<div class="logo-grid">
|
||
<img src="/clients/airbnb.svg" alt="Airbnb" loading="lazy">
|
||
<img src="/clients/linear.svg" alt="Linear" loading="lazy">
|
||
<img src="/clients/stripe.svg" alt="Stripe" loading="lazy">
|
||
<img src="/clients/vercel.svg" alt="Vercel" loading="lazy">
|
||
<img src="/clients/raycast.svg" alt="Raycast" loading="lazy">
|
||
<img src="/clients/resend.svg" alt="Resend" loading="lazy">
|
||
</div>
|
||
</section>
|
||
```
|
||
|
||
```css
|
||
.logo-cloud {
|
||
text-align: center;
|
||
padding: 80px 0;
|
||
border-bottom: 1px solid var(--color-border);
|
||
}
|
||
|
||
.logo-cloud-label {
|
||
font-size: 14px;
|
||
color: var(--color-text-muted);
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.1em;
|
||
font-weight: 600;
|
||
margin-bottom: 32px;
|
||
}
|
||
|
||
.logo-grid {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
justify-content: center;
|
||
align-items: center;
|
||
gap: 48px;
|
||
max-width: 800px;
|
||
margin: 0 auto;
|
||
}
|
||
|
||
.logo-grid img {
|
||
height: 32px;
|
||
width: auto;
|
||
opacity: 0.4;
|
||
filter: brightness(0) invert(1);
|
||
transition: opacity 0.3s ease;
|
||
}
|
||
|
||
.logo-grid img:hover {
|
||
opacity: 0.7;
|
||
}
|
||
|
||
/* Responsive */
|
||
@media (max-width: 768px) {
|
||
.logo-grid {
|
||
gap: 24px;
|
||
}
|
||
.logo-grid img {
|
||
height: 24px;
|
||
}
|
||
}
|
||
```
|
||
|
||
## Pattern 2: Testimonial Cards
|
||
|
||
```html
|
||
<section class="testimonials">
|
||
<h2>Что говорят наши клиенты</h2>
|
||
<div class="testimonial-grid">
|
||
<article class="testimonial-card">
|
||
<div class="testimonial-stars">
|
||
<span>★</span><span>★</span><span>★</span><span>★</span><span>★</span>
|
||
</div>
|
||
<blockquote>"calls24 помог нам увеличить конверсию из звонков на 40%. Мы знали о проблемах, но не видели их." — Мария К., Руководитель отдела продаж</blockquote>
|
||
<footer class="testimonial-author">
|
||
<img src="/avatars/maria.jpg" alt="Мария К." loading="lazy">
|
||
<div>
|
||
<strong>Мария К.</strong>
|
||
<span>Руководитель отдела продаж, Agency X</span>
|
||
</div>
|
||
</footer>
|
||
</article>
|
||
|
||
<article class="testimonial-card featured">
|
||
<div class="testimonial-stars">
|
||
<span>★</span><span>★</span><span>★</span><span>★</span><span>★</span>
|
||
</div>
|
||
<blockquote>"Мы протестировали 3 инструмента аналитики. calls24 — единственный, который дал реальные инсайты, а не просто цифры." — Алексей П., CEO</blockquote>
|
||
<footer class="testimonial-author">
|
||
<img src="/avatars/alexey.jpg" alt="Алексей П." loading="lazy">
|
||
<div>
|
||
<strong>Алексей П.</strong>
|
||
<span>CEO, RealEstate Pro</span>
|
||
</div>
|
||
</footer>
|
||
</article>
|
||
|
||
<article class="testimonial-card">
|
||
<div class="testimonial-stars">
|
||
<span>★</span><span>★</span><span>★</span><span>★</span><span>★</span>
|
||
</div>
|
||
<blockquote>"Теперь каждый менеджер знает, где ошибается. Еженедельный отчёт — наш инструмент развития." — Дмитрий В., Директор"
|
||
<footer class="testimonial-author">
|
||
<img src="/avatars/dmitry.jpg" alt="Дмитрий В." loading="lazy">
|
||
<div>
|
||
<strong>Дмитрий В.</strong>
|
||
<span>Директор, Broker Plus</span>
|
||
</div>
|
||
</footer>
|
||
</article>
|
||
</div>
|
||
</section>
|
||
```
|
||
|
||
```css
|
||
.testimonial-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
|
||
gap: 24px;
|
||
margin-top: 48px;
|
||
}
|
||
|
||
.testimonial-card {
|
||
background: var(--color-surface);
|
||
border: 1px solid var(--color-border);
|
||
border-radius: 20px;
|
||
padding: 32px;
|
||
transition: all 0.3s ease;
|
||
}
|
||
|
||
.testimonial-card:hover {
|
||
border-color: var(--color-border-hover);
|
||
transform: translateY(-4px);
|
||
}
|
||
|
||
.testimonial-card.featured {
|
||
border-color: var(--color-accent);
|
||
grid-column: span 1;
|
||
}
|
||
|
||
.testimonial-stars {
|
||
display: flex;
|
||
gap: 4px;
|
||
color: #fbbf24;
|
||
font-size: 20px;
|
||
margin-bottom: 16px;
|
||
}
|
||
|
||
.testimonial-card blockquote {
|
||
font-size: 1rem;
|
||
line-height: 1.7;
|
||
color: var(--color-text-secondary);
|
||
margin-bottom: 24px;
|
||
font-style: italic;
|
||
}
|
||
|
||
.testimonial-author {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 12px;
|
||
padding-top: 20px;
|
||
border-top: 1px solid var(--color-border);
|
||
}
|
||
|
||
.testimonial-author img {
|
||
width: 44px;
|
||
height: 44px;
|
||
border-radius: 50%;
|
||
object-fit: cover;
|
||
border: 2px solid var(--color-border);
|
||
}
|
||
|
||
.testimonial-author strong {
|
||
display: block;
|
||
font-size: 0.95rem;
|
||
}
|
||
|
||
.testimonial-author span {
|
||
font-size: 0.85rem;
|
||
color: var(--color-text-muted);
|
||
}
|
||
```
|
||
|
||
## Pattern 3: Numbers/Stats Bar
|
||
|
||
```html
|
||
<section class="stats">
|
||
<div class="stats-grid">
|
||
<div class="stat-item">
|
||
<span class="stat-number">99</span>
|
||
<span class="stat-label">звонков проанализировано</span>
|
||
</div>
|
||
<div class="stat-item">
|
||
<span class="stat-number gradient-text">85%</span>
|
||
<span class="stat-label">не соответствуют скрипту</span>
|
||
</div>
|
||
<div class="stat-item">
|
||
<span class="stat-number">40%</span>
|
||
<span class="stat-label">рост конверсии с calls24</span>
|
||
</div>
|
||
<div class="stat-item">
|
||
<span class="stat-number">500+</span>
|
||
<span class="stat-label">агентств используют</span>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
```
|
||
|
||
```css
|
||
.stats {
|
||
padding: 80px 0;
|
||
border-bottom: 1px solid var(--color-border);
|
||
}
|
||
|
||
.stats-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(4, 1fr);
|
||
gap: 24px;
|
||
text-align: center;
|
||
}
|
||
|
||
.stat-number {
|
||
display: block;
|
||
font-size: 3rem;
|
||
font-weight: 900;
|
||
color: var(--color-accent);
|
||
margin-bottom: 8px;
|
||
}
|
||
|
||
.stat-label {
|
||
font-size: 0.875rem;
|
||
color: var(--color-text-muted);
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.1em;
|
||
font-weight: 600;
|
||
}
|
||
|
||
@media (max-width: 768px) {
|
||
.stats-grid {
|
||
grid-template-columns: repeat(2, 1fr);
|
||
}
|
||
}
|
||
```
|
||
|
||
## Pattern 4: Trust Badges
|
||
|
||
```html
|
||
<div class="trust-badges">
|
||
<div class="trust-badge">
|
||
<svg width="24" height="24">🔒</svg>
|
||
<span>SSL encrypted</span>
|
||
</div>
|
||
<div class="trust-badge">
|
||
<svg width="24" height="24">🛡️</svg>
|
||
<span>GDPR compliant</span>
|
||
</div>
|
||
<div class="trust-badge">
|
||
<svg width="24" height="24">✓</svg>
|
||
<span>30-day free trial</span>
|
||
</div>
|
||
<div class="trust-badge">
|
||
<svg width="24" height="24">⭐</svg>
|
||
<span>4.9/5 on Trustpilot</span>
|
||
</div>
|
||
</div>
|
||
```
|
||
|
||
```css
|
||
.trust-badges {
|
||
display: flex;
|
||
gap: 24px;
|
||
flex-wrap: wrap;
|
||
justify-content: center;
|
||
}
|
||
|
||
.trust-badge {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 8px;
|
||
padding: 8px 16px;
|
||
background: var(--color-surface);
|
||
border: 1px solid var(--color-border);
|
||
border-radius: 8px;
|
||
font-size: 0.875rem;
|
||
color: var(--color-text-secondary);
|
||
}
|
||
```
|
||
|
||
## Cialdini's Principles Applied
|
||
|
||
### 1. Social Proof (Люди делают как другие)
|
||
- Логотипы клиентов
|
||
- Количество пользователей
|
||
- Отзывы с фото
|
||
|
||
### 2. Authority (Доверие к экспертам)
|
||
- Сертификаты
|
||
- Отзывы от известных лиц
|
||
- Медиа-упоминания
|
||
|
||
### 3. Consistency (Последовательность)
|
||
- "Вы уже сделали первый шаг..."
|
||
- Продолжение бесплатного аудита
|
||
|
||
## Anti-patterns
|
||
|
||
| ❌ Плохо | ✅ Хорошо |
|
||
|----------|-----------|
|
||
| Fake testimonials | Реальные отзывы с фото |
|
||
| 1000+ клиентов (без доказательств) | "500+ агентств" + логотипы |
|
||
| Без context | С именем, должностью, компанией |
|
||
| Только текст | Текст + фото + цитата + звезды |
|
||
| Без trust badges | SSL, GDPR, сертификаты |
|
||
|
||
## CV Service Validation
|
||
|
||
```bash
|
||
# Проверить social proof
|
||
curl -s -X POST http://localhost:8001/design/analyze-dom \
|
||
-H "Content-Type: application/json" \
|
||
-d '{"html": "..."}' | python3 -c "
|
||
import sys, json
|
||
d = json.load(sys.stdin)
|
||
social = d['analyzers'].get('social_proof', {})
|
||
print(f\"Social Proof: {social.get('score', 'N/A')}/10\")
|
||
print(f\" Testimonials: {social.get('testimonials', 'N/A')}\")
|
||
print(f\" Logos: {social.get('client_logos', 'N/A')}\")
|
||
"
|
||
```
|
||
|
||
Ожидается: `social_proof` > 5 (должны быть отзывы/логотипы/цифры).
|