Skip to content

Template Scoring

Template scoring runs automated quality checks on your email template and provides actionable feedback across deliverability, accessibility, and design best practices.

How It Works

  1. User clicks the scoring button in the editor toolbar
  2. The AI analyzes the template content and structure
  3. Results appear as a score with categorized findings
  4. Each finding includes a description and an optional auto-fix

Auto-Fix

Some findings can be fixed automatically. The AI rewrites the affected block content to address the issue while preserving the user's intent. Fixes stream in real-time so users can see the change as it happens.

Composable

js
import { useTemplateScoring } from '@templatical/core/cloud';

const {
  // State
  isScoring,          // Ref<boolean>
  scoringResult,      // Ref<ScoringResult | null>
  error,              // Ref<string | null>
  fixingFindingId,    // Ref<string | null> — currently fixing
  fixStreamingText,   // Ref<string> — fix text as it streams
  fixError,           // Ref<string | null>

  // Methods
  score,              // (content, mergeTags) => Promise<ScoringResult | null>
  fixFinding,         // (blockContent, finding, mergeTags) => Promise<string | null>
  removeFinding,      // (category, findingId) => void
  reset,              // () => void
} = useTemplateScoring({
  authManager,
  getTemplateId: () => templateId,
});

Configuration

Template scoring is an AI feature and can be toggled independently:

js
const editor = await initCloud({
  container: '#editor',
  auth: { url: '/api/templatical/token' },
  ai: {
    chat: true,
    scoring: true,        // Enable scoring (default: true)
    designToTemplate: false,
  },
});