Appearance
Broadcast Messages
Broadcast Messages provide a powerful way to communicate with learners, collect feedback, conduct polls, and engage your audience directly within your courses—all without needing to republish or re-upload your content to your Learning Management System (LMS).
What are Broadcast Messages?
Broadcast Messages are interactive modals that appear to learners when they access your course. You can use them for:
- Alerts: Share important announcements and updates
- Polls: Gather opinions with multiple-choice questions
- Feedback: Collect ratings and comments from learners
- Forms: Capture structured data like contact information
- Call-to-Actions: Drive learners to external resources or registrations
Benefits of Broadcast Messages
- No Republishing Required: Create and update messages anytime without editing your course files
- Immediate Delivery: Changes appear instantly to all learners
- Interactive Engagement: Go beyond simple text to collect responses and feedback
- Smart Frequency Control: Set display limits to avoid overwhelming learners
- Response Analytics: Track engagement and analyze learner feedback
- Flexible Triggers: Control when and how messages appear
Types of Broadcast Messages
1. Alert Messages
Simple announcements that display important information.
Best For:
- Course updates or corrections
- Deadline reminders
- Important notices
Fields:
- Message text (up to 500 characters)
- Custom button text (optional)
Example: "The regulations for code of conduct mentioned in this course have been updated. Please review the new guidelines in Module 3."
2. Poll Messages
Multiple-choice questions to gather learner opinions or preferences.
Best For:
- Gathering course feedback
- Understanding learner preferences
- Quick surveys
Fields:
- Question text (up to 200 characters)
- 2-6 answer options (up to 100 characters each)
Example: "Which topic would you like us to cover in more depth?"
- Data visualization
- Statistical analysis
- Machine learning basics
- Advanced Excel formulas
3. Feedback Messages
Collect ratings and comments from learners.
Best For:
- Course evaluations
- Content quality assessment
- Learner satisfaction surveys
Fields:
- Question/prompt (up to 300 characters)
- Rating type: Stars (1-5), Numbers (1-10), or Emoji (😞 to 😄)
- Optional comments field
Example: "How would you rate the clarity of today's lesson?" ⭐⭐⭐⭐⭐ (1-5 stars) Optional comments: [text area]
4. Form Messages
Collect structured data with custom fields.
Best For:
- Contact information collection
- Registration data
- Detailed learner information
Fields:
- Form title (up to 100 characters)
- 1-10 custom fields with types: text, email, number, or long text
Example: "Help us personalize your learning experience"
- Full Name: [text field]
- Email: [email field]
- Department: [text field]
- Years of Experience: [number field]
5. Call-to-Action (CTA) Messages
Drive learners to take specific actions with clickable buttons.
Best For:
- Event registrations
- External resource links
- Additional learning opportunities
Fields:
- Message text (up to 500 characters)
- Primary button text and URL
- Optional secondary button text and URL
Example: "Join our live webinar on advanced learning techniques!" [Sign Up Now] [Learn More]
Creating a Broadcast Message
Step 1: Access Broadcast Manager
- Navigate to the Courses section in your dashboard
- Find your course in the list
- Click the Broadcast button (megaphone icon) for that course
- This opens the Broadcast Manager for that specific course
Step 2: Create New Broadcast
- Click the + Add Broadcast button
- Fill in the required information:
- Title: Internal name for your broadcast (up to 80 characters)
- Type: Select from Alert, Poll, Feedback, Form, or CTA
- Content: Configure type-specific fields (see examples above)
Step 3: Configure Display Trigger
Choose when the message should appear:
- Immediately on load: Shows as soon as learner opens the course
- After X seconds: Displays after a delay (useful for mid-course messages)
- On specific slide: Appears when learner reaches a particular slide number
Step 4: Set Frequency Limits
Control how often learners see the message:
- Max per day: Maximum displays per 24-hour period (1-100)
- Max per session: Maximum displays per browser session (1-10)
- Cooldown: Minimum minutes between displays (0-1440)
Example: Set max per day to 3, max per session to 1, and cooldown to 60 minutes to ensure learners see your message without being overwhelmed.
Step 5: Save and Activate
- Click Create to save your broadcast
- Toggle the Active switch to enable it
- The broadcast will now display according to your trigger and frequency settings
Managing Broadcasts
Viewing All Broadcasts
The Broadcast Manager shows all broadcasts for a course in a table with:
- Title: Your internal reference name
- Type: Visual badge showing the broadcast type
- Status: Active/inactive toggle switch
- Triggers: Summary of when it displays
- Actions: Edit, view responses, or delete
Editing a Broadcast
- Click Edit next to any broadcast
- Modify any settings (title, content, triggers, frequency)
- Click Update to save changes
- Changes take effect immediately for all learners
Activating/Deactivating
Use the toggle switch in the Status column to:
- Turn on: Enable the broadcast (switch shows green)
- Turn off: Disable without deleting (switch shows gray)
This is useful for seasonal messages or time-sensitive announcements.
Viewing Responses
For interactive broadcast types (Poll, Feedback, Form):
- Click Responses next to the broadcast
- View comprehensive analytics:
- Total Displays: How many times it was shown
- Total Responses: How many learners responded
- Response Rate: Percentage who engaged
- See detailed response data:
- Date and time of each response
- Learner identifier
- Full response content
Poll Responses: Shows which option each learner selected Feedback Responses: Displays ratings and comments Form Responses: Shows all submitted field data
Deleting a Broadcast
- Click Delete next to the broadcast
- Confirm deletion in the dialog
- The broadcast and all response data will be permanently removed
Note: This action cannot be undone. Consider deactivating instead if you might need the data later.
Best Practices
Message Design
- Keep it Concise: Learners are more likely to read and engage with brief, clear messages
- Use Clear Language: Avoid jargon and write in plain, accessible language
- Make it Actionable: Provide clear next steps or calls to action
- Test First: Create a test broadcast and view it before launching to all learners
Frequency Management
- Avoid Fatigue: Don't show too many broadcasts at once
- Respect Learner Time: Use frequency limits to prevent spam
- Strategic Timing: Use trigger delays to show messages at optimal moments
- Monitor Engagement: Check response rates and adjust frequency if learners are ignoring messages
Content Strategy
- One Message, One Purpose: Don't try to communicate multiple things in a single broadcast
- Timely and Relevant: Ensure messages are appropriate for where learners are in the course
- Update Regularly: Remove outdated broadcasts to keep content fresh
- Segment When Possible: Create different broadcasts for different learner groups (future enhancement)
Analytics Usage
- Track Response Rates: Low engagement may indicate poor timing or messaging
- Analyze Feedback: Use poll and feedback data to improve your course
- Iterate: Test different message types and timings to find what works best
- Export Data: Download response data for detailed analysis in external tools
Trigger Configuration Examples
Example 1: Welcome Alert (Immediate)
- Type: Alert
- Trigger: Immediately on load
- Frequency: Max 1 per session
- Use Case: Greet learners and set expectations
Example 2: Mid-Course Check-in (Time-Based)
- Type: Feedback
- Trigger: After 300 seconds (5 minutes)
- Frequency: Max 1 per day
- Use Case: Gauge understanding after initial content
Example 3: Quiz Preparation (Slide-Based)
- Type: Alert
- Trigger: On slide 15 (just before quiz)
- Frequency: Max 1 per day
- Use Case: Remind learners to review key concepts
Example 4: Course Completion Poll (Slide-Based)
- Type: Poll
- Trigger: On final slide
- Frequency: Max 1 per day
- Use Case: Collect feedback on overall experience
Frequency Limit Examples
Gentle Reminder
- Max per day: 1
- Max per session: 1
- Cooldown: 0 minutes
- Effect: Learner sees it once, even if they reload the page
Persistent Alert
- Max per day: 5
- Max per session: 2
- Cooldown: 30 minutes
- Effect: Important message that can reappear if learner returns later
One-Time Message
- Max per day: 1
- Max per session: 1
- Cooldown: 1440 minutes (24 hours)
- Effect: Learner sees it maximum once per day, won't see again that day even in new session
Accessibility Considerations
- Use clear, high-contrast colors for readability
- Keep messages concise for screen reader users
- Provide clear close/dismiss options
- Test with keyboard navigation
- Ensure forms have proper labels for assistive technology
Privacy and Data
- Response data is tied to learner IDs from your course tracking
- Data is stored securely and only accessible to organization administrators
- Responses can be exported for compliance with data requests
- Learners cannot edit responses after submission
- Consider privacy implications when asking for personal information in forms
Troubleshooting
Broadcast Not Showing
- Check that the broadcast is toggled to Active
- Verify the trigger conditions are being met
- Check frequency limits—learner may have hit display cap
- Ensure course tracking is properly configured
Low Response Rates
- Try different trigger timings
- Simplify the message or question
- Reduce frequency to avoid fatigue
- Make the ask more relevant to course content
Responses Not Recording
- Verify learner IDs are being captured in course tracking
- Check browser console for JavaScript errors
- Ensure internet connection is stable
- Contact support if issue persists
Technical Implementation
For developers and technical administrators:
Database Structure
- Broadcasts stored in
broadcast_modalstable - Responses stored in
broadcast_responsestable - Display events tracked in
broadcast_displaystable - Frequency limits enforced at client and server level
API Endpoints
GET /api/courses/:courseId/broadcast-modals- List all broadcastsPOST /api/courses/:courseId/broadcast-modals- Create new broadcastPUT /api/courses/:courseId/broadcast-modals/:id- Update broadcastDELETE /api/courses/:courseId/broadcast-modals/:id- Delete broadcastGET /api/courses/:courseId/broadcast-modals/:id/responses- Get responsesGET /api/courses/:courseId/broadcast-modals/:id/displays- Get display stats
Client Integration
- Broadcasts delivered via course tracking API
- Modal rendering handled by client-side JavaScript
- Frequency tracking uses browser localStorage + server validation
- Response submission includes learner ID and timestamp
Future Enhancements
Planned features for broadcast messages:
- Conditional Display: Show different messages based on learner performance
- A/B Testing: Test different message variations to optimize engagement
- Scheduling: Set specific date/time ranges for broadcast display
- Learner Segmentation: Target specific learner groups
- Rich Media: Support for images, videos, and embedded content
- Multi-language: Display messages in learner's preferred language