Skip to main content

Overview

The Feedback Collection feature enables systematic gathering of user opinions and experiences after completing dilemmas. This admin-only analytics tool captures both quantitative ratings (1-5 stars) and qualitative comments, providing crucial insights into content quality, user experience, and areas for improvement.
Admin-Only Access: This feedback dashboard is restricted to administrators. Regular users and clients cannot access the aggregated feedback data.

Strategic Purpose

Feedback collection serves multiple strategic goals:

Quality Assurance

Identify poorly rated dilemmas and prioritize content improvements

User Experience Insights

Understand participant frustrations, confusion points, and satisfaction drivers

Content Validation

Validate that dilemmas are engaging, clear, and pedagogically effective

Continuous Improvement

Create a feedback loop for iterative content enhancement

How Users Submit Feedback

Participants submit feedback through a dedicated, standalone form: Submission URL:
submit_feedback.php?user_id={user_id}&game_id={game_id}
This page is typically linked from:
  • Post-completion emails
  • End-of-dilemma screens
  • Thank you pages
  • Mobile app completion flows

Feedback Form Components

1

Star Rating (Required)

Users select 1-5 stars to rate their overall experience (default: 5 stars)
2

Comment Box (Required)

Free-text area for detailed feedback, suggestions, or concerns
3

Submit

Clicking “Enviar Valoración” saves the feedback and shows a thank you message
Form Features:
  • Modern, card-based UI with smooth animations
  • Personalized greeting with user name and dilemma title
  • Anonymous submission assurance message
  • Beautiful success state after submission
  • Auto-close button to dismiss the window
<!-- Star Rating UI (submit_feedback.php:106-116) -->
<div class="flex gap-4">
    <label class="cursor-pointer group">
        <input type="radio" name="rating" value="5" checked>
        <div class="w-14 h-14 rounded-2xl peer-checked:bg-amber-50 peer-checked:border-amber-400">
            <i data-lucide="star" class="w-7 h-7"></i>
        </div>
    </label>
</div>

Admin Feedback Dashboard

Top-Level KPIs

The dashboard displays three key performance indicators:

Average Rating

Mean rating across all feedback (displayed with visual stars)Calculation: Sum of all ratings ÷ Total feedback count

Total Comments

Total number of feedback submissionsDisplayed as: Raw count with “REGISTROS” label

Satisfaction Index

Percentage-based satisfaction scoreCalculation: (Average rating ÷ 5) × 100%Visual: Progress bar with percentage
Example KPI Display:
Valoración Promedio: 4.2 ⭐⭐⭐⭐⭐
Total de Comentarios: 127 REGISTROS
Índice de Satisfacción: 84% [████████▌─]

Advanced Filtering System

Filter feedback data across five dimensions:

Date Range Filter

?start_date=2024-01-01&end_date=2024-03-31
Analyze feedback from specific time periods (e.g., post-launch, quarterly reviews).

Client Filter

?client_id=42
View feedback from specific client organizations (uses TomSelect dropdown for easy search).

Dilemma Filter

?game_id=15
Drill down into feedback for individual dilemmas.

Rating Filter

?rating=1  # Show only 1-star feedback
Focus on specific rating tiers:
  • rating=1 or rating=2: Critical feedback (low satisfaction)
  • rating=3: Neutral feedback (needs improvement)
  • rating=4 or rating=5: Positive feedback (success validation)
Pro Tip: Start with rating=1&rating=2 to prioritize critical issues that need immediate attention.

Combined Filter Example

?client_id=10&game_id=25&rating=5&start_date=2024-01-01&end_date=2024-12-31
Show all 5-star feedback from Client #10 for Dilemma #25 in 2024.

Feedback Feed Display

Feedback is displayed in a chronologically ordered feed (most recent first):

Feedback Card Components

┌─────────────────────────────────────────────────────────────┐
│  👤 Juan Pérez                    📅 15 Mar, 2024            │
│  ⭐⭐⭐⭐⭐ • DILEMA: Ethics Challenge                        │
│  ┃ "Excellent content and engaging scenarios. The          │
│  ┃  dilemma really made me think about my decision-        │
│  ┃  making process in complex situations."                 │
│                                           🏢 Acme Corp      │
└─────────────────────────────────────────────────────────────┘
Card Elements:
  • User Avatar: Circle with user initial
  • User Name: Display name or “Colaborador” fallback
  • Date: Formatted as “15 Mar, 2024”
  • Star Rating: Visual 5-star display (filled/unfilled)
  • Dilemma Name: Badge with game title
  • Comment: Quoted text in italic style
  • Client Badge: Organization name in bottom-right

Empty State

If no feedback exists:
┌─────────────────────────────────┐
│       💬 (large icon)           │
│   Sin feedback aún              │
│                                 │
│   Cuando los participantes      │
│   dejen sus comentarios         │
│   aparecerán en esta sección.  │
└─────────────────────────────────┘

Database Schema

Feedback is stored in the de_app_feedback table:
CREATE TABLE `de_app_feedback` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `userId` BIGINT NOT NULL,
  `gameId` BIGINT NOT NULL,
  `rating` INT NOT NULL,
  `comment` TEXT,
  `createdAt` DATETIME DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
Table auto-creation is built into feedback.php (lines 13-23), ensuring the feature works even in fresh installations.
The table is created automatically if it doesn’t exist when the page is first accessed. This ensures backward compatibility and easy deployment.

Use Cases

Content Quality Audit

Review all 1-2 star feedback to identify problematic dilemmas

Client Satisfaction Reports

Filter by client and date range to prepare quarterly satisfaction reports

New Dilemma Validation

Monitor feedback for newly launched dilemmas in first 30 days

UX Improvement Prioritization

Sort by rating to prioritize which dilemmas need UX redesign

Success Story Collection

Export 5-star feedback with positive comments for marketing materials

Trend Analysis

Compare average ratings over time to track content quality trends

Feedback Analysis Workflow

1

Weekly Critical Review

Every Monday, filter rating=1&rating=2 to identify urgent content issues
2

Flag Problem Dilemmas

Note dilemmas with average ratings <3.0 or multiple critical comments
3

Root Cause Analysis

Read comments to understand why users are dissatisfied:
  • Confusing scenarios?
  • Technical bugs?
  • Too difficult/easy?
  • Unclear instructions?
4

Content Updates

Update flagged dilemmas based on feedback insights
5

Monitor Improvements

Compare ratings before/after updates to validate changes

Client Integration

The feedback system integrates with client-level reporting:
// Client association query (feedback.php:42-43)
(SELECT pm.meta_value FROM de_postmeta pm 
 WHERE pm.post_id = g.ID AND pm.meta_key = '_cliente_asociado' LIMIT 1) as client_id
This allows:
  • Client-specific feedback filtering
  • Cross-client satisfaction benchmarking
  • Client-scoped reporting and exports

Access Control

Dashboard Access: Admin-only
// Access restriction (feedback.php:7-10)
if (!check_is_admin()) {
    header('Location: ' . SITE_URL . '/');
    exit;
}
Submission Access: All users (via direct link with user_id and game_id) The submission form (submit_feedback.php) is accessible to any user with a valid link, typically sent post-completion.

Best Practices

For Administrators:Do:
  • Review critical feedback (1-2 stars) weekly
  • Respond to user concerns by updating content
  • Track average rating trends over time
  • Use feedback comments to inform new content creation
  • Share positive feedback with content creators for motivation
Don’t:
  • Ignore low-rated dilemmas hoping they’ll improve
  • Dismiss negative feedback as “user error” without investigation
  • Let feedback accumulate without regular review
  • Filter only for positive feedback (confirmation bias)
Privacy Consideration:While the submission form states “Tu respuesta es 100% anónima y segura,” the feedback is actually linked to user IDs in the database.Ensure your privacy policy accurately reflects that feedback is confidential (admins only) but not truly anonymous.

Integration with Other Features

Winners Module

The Winners module displays feedback status:
// Feedback indicator in winners table (winners.php:213-218)
<?php if ($winner['has_feedback']): ?>
    <div class="bg-green-50 text-green-700">
        <i data-lucide="message-square"></i> Feedback OK
    </div>
    <div class="flex text-yellow-500">
        <!-- Star rating display -->
    </div>
<?php endif; ?>

Questions Management

Cross-reference low question success rates with negative feedback comments to identify confusing content.

Build docs developers (and LLMs) love