• Purpose

    • Collect customer feedback to improve product, site and service; route urgent issues to support; capture testimonials and NPS-style input.
  • Primary goals

    • Make it effortless to submit feedback.
    • Let users choose feedback type (bug, product, delivery, compliment).
    • Offer optional contact info for follow-up.
    • Show gratitude and next steps after submission.
  • Page layout & sections

    • Header: Title + short intro
    • Feedback form (visible immediately)
    • Quick rating (1–5 stars) and category selector
    • Optional screenshot/file upload
    • Privacy and expected response time note
    • Secondary: Past feedback summary or FAQ link (optional)
    • Footer CTA to contact support (phone/chat)
  • Exact microcopy

    • Title: Give Us Feedback
    • Intro: We’d love to hear from you — your feedback helps us improve our products and service.
    • Form labels & placeholders:
      • Feedback type (dropdown): “Choose a topic — e.g., Product, Delivery, Site, Returns, Other”
      • Rating (label): “How would you rate your experience?”
      • Feedback (textarea placeholder): “Tell us what happened or how we can improve…”
      • Order number (optional): “Order # (optional)”
      • Email (optional): “Email (optional) — so we can follow up”
      • Upload (optional): “Attach image or screenshot (jpg, png, pdf) — max 5 MB”
    • Buttons:
      • Primary: Submit Feedback
      • Secondary (optional): Send via Live Chat
    • Success message:
      • Thank you! We’ve received your feedback. If you provided contact info, we’ll reply within 48 hours.
    • Error messages:
      • “Please select a feedback topic.”
      • “Please enter feedback (at least 10 characters).”
      • “Invalid file type or file too large (max 5 MB).”
  • Form fields & validation

    • feedback_type: required (enum)
    • rating: optional (1–5)
    • message: required, min 10 chars, max 2000 chars
    • order_number: optional, regex /^[A-Za-z0-9-]{3,20}$/ (if provided)
    • email: optional, validate email format
    • attachment: optional, accepted types [jpg,png,pdf], max 5 MB
  • UX & accessibility

    • Focus the cursor in the message field on page load.
    • Use aria-labels and associate labels with inputs.
    • Provide keyboard-accessible star rating and file upload.
    • Provide live character count for message.
    • Ensure contrast for all labels and buttons.
  • Mobile behavior

    • Collapsible help/FAQ at bottom.
    • Big touch targets for rating and Submit.
    • Preview thumbnail for uploaded file.
  • Backend / implementation notes

    • Endpoint: POST /api/feedback
    • Payload: { type, rating, message, order_number?, email?, attachmentUrl? }
    • Response: 200 { ticketId, receivedAt }
    • Auto-create support ticket if type = “urgent” or message contains keywords (refund, broken, missing).
    • Send confirmation email if email provided.
  • Analytics events

    • feedback_form_opened
    • feedback_submitted { feedback_type, rating_present, order_number_present }
    • feedback_attachment_uploaded