Quick Social Media Poll

Engagement is king in social media. This quick poll template is designed for maximum response rates with minimal friction. Featuring emoji reactions, single-tap choices, and optional follow-up questions, it captures audience sentiment in seconds. The mobile-first design ensures great UX across all devices, while the compact format is perfect for embedding in stories, posts, and comments.

Market Research

Try the Form

Tap your reaction below!
What do you think?
Stay Connected
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
export function socialMediaPoll(form: FormTs) {
// Quick Social Media Poll
// Demonstrates: EmojiRating, RadioButton, Slider, SuggestionChips, ThumbRating, compact layout
 
// State for tracking engagement level
const engagementLevel = form.state<'quick' | 'engaged' | null>(null);
 
// ============================================
// HEADER - Compact for social media
// ============================================
form.addRow(row => {
row.addTextPanel('header', {
label: 'Quick Poll',
computedValue: () => 'Tap your reaction below!',
customStyles: {
background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',
color: 'white',
padding: '16px 20px',
borderRadius: '12px',
textAlign: 'center',
fontSize: '14px'
}
});
});
 
// ============================================
// SECTION 1: Quick Reaction (Core poll question)
// ============================================
const reactionSection = form.addSubform('reactionSection', {
title: 'What do you think?',
customStyles: { padding: '12px', borderRadius: '8px' }
});
 
reactionSection.addRow(row => {
row.addEmojiRating('quickReaction', {
label: 'React to this content:',
preset: 'mood',
size: 'lg',
showLabels: true,
alignment: 'center',
onValueChange: () => {
engagementLevel.set('quick');
}
});
});
 
// ============================================
// SECTION 2: Topic Preference
// ============================================
const topicSection = form.addSubform('topicSection', {
title: 'Content Preference',
isVisible: () => reactionSection.emojiRating('quickReaction')?.value() !== null && reactionSection.emojiRating('quickReaction')?.value() !== undefined,
customStyles: () => {
const reaction = reactionSection.emojiRating('quickReaction')?.value();
if (reaction === 'excited' || reaction === 'happy') {
return { backgroundColor: '#ecfdf5', padding: '16px', borderRadius: '10px' };
}
return { backgroundColor: '#f8fafc', padding: '16px', borderRadius: '10px' };
}
});
 
topicSection.addRow(row => {
row.addRadioButton('contentType', {
label: () => {
const reaction = reactionSection.emojiRating('quickReaction')?.value();
if (reaction === 'excited' || reaction === 'happy') {
return 'What type of content would you love more of?';
}
return 'What content would you prefer instead?';
},
options: [
{ id: 'tutorials', name: 'Tutorials & How-tos' },
{ id: 'tips', name: 'Quick Tips' },
{ id: 'behind-scenes', name: 'Behind the Scenes' },
{ id: 'trends', name: 'Trending Topics' },
{ id: 'entertainment', name: 'Entertainment & Fun' }
],
orientation: 'vertical'
});
});
 
// ============================================
// SECTION 3: Engagement Level
// ============================================
const engagementSection = form.addSubform('engagementSection', {
title: 'Your Engagement',
isVisible: () => topicSection.radioButton('contentType')?.value() !== null && topicSection.radioButton('contentType')?.value() !== undefined,
customStyles: { backgroundColor: '#faf5ff', padding: '16px', borderRadius: '10px' }
});
 
engagementSection.addRow(row => {
row.addSlider('engagementScore', {
label: 'How often do you engage with our content?',
min: 0,
max: 10,
step: 1,
showValue: true,
unit: '',
defaultValue: 5,
onValueChange: (val) => {
if (val !== null && val !== undefined && val >= 7) {
engagementLevel.set('engaged');
}
}
});
});
 
engagementSection.addRow(row => {
row.addStarRating('contentQuality', {
label: 'Rate overall content quality',
maxStars: 5,
size: 'md',
alignment: 'center',
showCounter: true
});
});
 
// ============================================
// SECTION 4: Interest Tags (for engaged users)
// ============================================
const tagsSection = form.addSubform('tagsSection', {
title: 'What interests you?',
isVisible: () => engagementLevel() === 'engaged',
customStyles: { backgroundColor: '#fef3c7', padding: '16px', borderRadius: '10px' }
});
 
tagsSection.addRow(row => {
row.addSuggestionChips('interestTags', {
label: 'Select topics you want to see more (pick up to 3):',
suggestions: [
{ id: 'tech', name: 'Technology' },
{ id: 'lifestyle', name: 'Lifestyle' },
{ id: 'business', name: 'Business' },
{ id: 'creative', name: 'Creative' },
{ id: 'news', name: 'News' },
{ id: 'reviews', name: 'Reviews' },
{ id: 'interviews', name: 'Interviews' },
{ id: 'community', name: 'Community' }
],
max: 3,
alignment: 'center'
});
});
 
// ============================================
// SECTION 5: Follow & Subscribe
// ============================================
const followSection = form.addSubform('followSection', {
title: 'Stay Connected',
isVisible: () => engagementSection.starRating('contentQuality')?.value() !== null && engagementSection.starRating('contentQuality')?.value() !== undefined,
customStyles: { backgroundColor: '#f0f9ff', padding: '16px', borderRadius: '10px' }
});
 
followSection.addRow(row => {
row.addThumbRating('wouldFollow', {
label: 'Would you follow us for more content?',
showLabels: true,
upLabel: 'Yes, follow!',
downLabel: 'Maybe later',
size: 'lg',
alignment: 'center'
});
});
 
followSection.addRow(row => {
row.addTextbox('socialHandle', {
label: 'Drop your social handle (optional):',
placeholder: '@yourusername',
isVisible: () => followSection.thumbRating('wouldFollow')?.value() === 'up',
maxLength: 50
});
});
 
// ============================================
// SECTION 6: Quick Summary
// ============================================
const summarySection = form.addSubform('summarySection', {
title: 'Your Poll Response',
isVisible: () => followSection.thumbRating('wouldFollow')?.value() !== null && followSection.thumbRating('wouldFollow')?.value() !== undefined
});
 
summarySection.addRow(row => {
row.addTextPanel('summaryContent', {
computedValue: () => {
const reaction = reactionSection.emojiRating('quickReaction')?.value();
const contentType = topicSection.radioButton('contentType')?.value();
const quality = engagementSection.starRating('contentQuality')?.value();
const wouldFollow = followSection.thumbRating('wouldFollow')?.value();
 
if (!reaction) return '';
 
const reactionEmojis: Record<string, string> = {
'sad': '😢',
'down': '😔',
'neutral': '😐',
'happy': '😊',
'excited': '🤩'
};
 
const contentLabels: Record<string, string> = {
'tutorials': 'Tutorials & How-tos',
'tips': 'Quick Tips',
'behind-scenes': 'Behind the Scenes',
'trends': 'Trending Topics',
'entertainment': 'Entertainment & Fun'
};
 
let summary = `${reactionEmojis[reaction] || '📊'} Your Response\n`;
summary += `${'─'.repeat(20)}\n\n`;
summary += `Reaction: ${reactionEmojis[reaction] || reaction}\n`;
if (contentType) summary += `Preference: ${contentLabels[contentType] || contentType}\n`;
if (quality) summary += `Quality Rating: ${'⭐'.repeat(quality)}\n`;
summary += `Follow: ${wouldFollow === 'up' ? 'Yes! 🎉' : 'Maybe later'}`;
 
return summary;
},
customStyles: () => {
const wouldFollow = followSection.thumbRating('wouldFollow')?.value();
return {
padding: '16px',
borderRadius: '10px',
whiteSpace: 'pre-wrap',
fontFamily: 'system-ui, -apple-system, sans-serif',
fontSize: '14px',
backgroundColor: wouldFollow === 'up' ? '#d1fae5' : '#f1f5f9',
borderLeft: wouldFollow === 'up' ? '4px solid #10b981' : '4px solid #94a3b8',
textAlign: 'center'
};
}
});
});
 
// ============================================
// FORM CONFIGURATION
// ============================================
form.configureSubmitButton({
label: () => {
const wouldFollow = followSection.thumbRating('wouldFollow')?.value();
return wouldFollow === 'up' ? 'Submit & Follow!' : 'Submit Poll';
},
isVisible: () => followSection.thumbRating('wouldFollow')?.value() !== null && followSection.thumbRating('wouldFollow')?.value() !== undefined
});
 
form.configureCompletionScreen({
type: 'text',
title: 'Thanks for voting!',
message: 'Your opinion shapes our content. Stay tuned for more awesome posts!'
});
}
 

Frequently Asked Questions

How do I embed this poll on social media?

After customizing your poll, use the share link to direct followers. For websites, use the embed code. Many platforms also support link previews that show a poll thumbnail to increase click-through rates.

What's the ideal poll length for social media?

Keep it to 1-3 questions maximum. This template is optimized for quick, 10-second interactions. The optional follow-up appears only for engaged users who want to share more.

Can I see results in real-time?

Yes, FormTs provides real-time analytics. You can see response distributions, engagement rates, and trending sentiments as your audience responds. Great for live events or time-sensitive content.

How do I increase poll engagement?

Use compelling questions that spark curiosity or debate. Emoji reactions lower the barrier to participate. Ask about trending topics, preferences, or opinions. Time your polls when your audience is most active.

Is this mobile-friendly?

Absolutely! The poll is designed mobile-first with large tap targets, responsive layouts, and fast loading. It works beautifully on phones, tablets, and desktop browsers.