Enrollments
New

Manually enroll students into one or more courses without checkout — paste emails, pick existing students, or import a CSV, with bulk seat and order controls.

What is the Enrollments Screen?

Enrollments is a built-in, free screen for enrolling students into your courses without sending them through checkout. Use it when you're migrating students from another platform, honoring an offline payment, running a workshop, or granting access as a courtesy.

  • Enroll into one or many courses at once
  • Add students by pasting emails, picking existing students, or uploading a CSV
  • Preview exactly who will be enrolled, reactivated, or skipped before anything happens
  • Optionally create an order (free or at course price) for paid courses
  • Manage, filter, and revoke existing enrollments from one list

This replaces the old Manual Enrollment add-on's popup flow. See Manual Enrollment for the previous Pro-only version.

Prerequisites

Where to Find It

Go to Masteriyo → Enrollments in your WordPress admin sidebar, between Orders and Users.

Adding a New Enrollment

Click Add Enrollment from the Enrollments list to open the enrollment form.

Enrollments list with the Add Enrollment button

Step 1: Choose Courses

Search and select one or more courses from the Courses field. You can select multiple courses to enroll the same batch of students into all of them at once.

Course selector open, showing a disabled subscription course

Courses with a recurring/subscription access mode can't be selected here — subscription courses always go through checkout so billing stays consistent.

Step 2: Add Students

Use any combination of three input methods — they merge into a single, de-duplicated email list:

Paste emails — type or paste addresses separated by a comma, space, or new line.

Existing students — click Pick students… to search and select from your site's registered users.

Upload CSV — upload a .csv file with email, course_id, first_name, last_name columns (only email is required; course_id is currently unused by the importer). Download the sample CSV from the panel to see the expected format. Rows without a valid email in the first column are skipped and reported.

The three-tab compose step — Paste emails / Existing students / Upload CSV

Batches are capped at 100 emails per request and processed in chunks automatically — you don't need to split large lists yourself, but very large batches take a little longer as they're submitted in multiple requests.

Compose step with a course and emails filled in

Once you have courses and at least one email, click Continue to preview the batch.

Step 3: Review the Preview

Before anything is written, Masteriyo previews the batch per course and groups every email into a bucket:

BucketMeaning
Existing studentsAlready has an account, will be enrolled
Will be reactivatedPreviously enrolled but currently inactive — enrollment will be reactivated
Already enrolled (no change)Already actively enrolled — nothing happens
New accountsNo matching account — one will be created and the student emailed sign-in details
Account created earlier in this batchShares an email with an earlier course in this same batch — reuses that new account instead of creating a duplicate
Course is fullCourse has a seat limit and no seats remain
InvalidBlank or malformed email address

Expand any bucket to see the individual email addresses in it.

Preview/confirm step showing order options and new-account summary

If a course has no seats left, you'll see a warning with a checkbox to enroll anyway, exceeding the seat limit — leave it unchecked to skip those rows.

If a course is paid, enrolling here always grants free access. You can optionally choose to also create an order for every student in the batch:

  • Do not create an order (default)
  • Create an order at zero amount
  • Create an order at the course price

If the course has prerequisites not included in this same batch, you'll see a note — students can still enroll now, but must complete the prerequisite before starting the course.

If the course grants time-limited access, a note shows how many days students will have before access expires.

Step 4: Confirm

Click Confirm Enrollment to run the batch. A progress bar shows chunk-by-chunk progress for large batches.

Step 5: Review Results

Each course shows a results summary — enrolled, reactivated, already enrolled, course full, invalid, failed, unknown, and recovered counts — followed by the full per-email list with each outcome and, where relevant, the order number created.

A batch that hits a network error mid-request doesn't assume the worst — Masteriyo re-checks those specific emails against live enrollment records and marks them Active now (recovered) if they actually went through, so you don't accidentally re-enroll someone who was already added.

Managing Existing Enrollments

The main Enrollments screen lists every enrollment across your courses, with filters for:

  • Course
  • Status — All / Active / Inactive
  • Date range (enrolled after / before)
  • Search by student name or email

Revoking Access

Click Revoke access on a row to deactivate a student's enrollment. This is reversible — re-enroll them any time from Add Enrollment. Select multiple rows and use Revoke selected to revoke access in bulk; only currently active rows can be selected.

Deleting an Enrollment

Click Delete enrollment permanently to remove the enrollment record entirely. Unlike Revoke, this cannot be undone — the row itself is removed rather than just deactivated.

Bulk delete is not offered — only bulk revoke. Permanent deletion is reserved for one enrollment at a time.

Frequently Asked Questions

Does this send checkout/payment emails?

No. Enrolling here bypasses checkout entirely. If you choose to create an order (for paid courses), it's created directly at zero or the full course price — no payment is collected through this flow.

Will students be notified?

Yes, by default. New accounts receive their sign-in details, and enrolled students receive the standard enrollment notification. This can be turned off per batch with the notification toggle on the compose step.

What happens if I enroll someone already enrolled?

They're grouped under Already enrolled (no change) in the preview and nothing changes for them in that course.

Can I enroll the same list of students into multiple courses at once?

Yes — select multiple courses in Step 1. Masteriyo previews and creates enrollments per course, and only creates one new account per email even if that email is new across several selected courses.

What if my CSV upload fails to parse?

Rows without a valid email in the first column are skipped and reported as skipped lines; if the file itself can't be read (locked, removed, or a cloud-storage placeholder), you'll see an error message asking you to check the file and try again.


Was this article helpful to you?
Give us Rating

Last edited on September 04, 2026.
Edit this page