---
title: Course group mapping and enrollment
description: "MooWoodle now extends course sync beyond basic enrollment by supporting **Moodle groups and cohorts**. This allows you to sell the same course with different group-based access directly from WooCommerce. ### What this feature does When a Moodle course contains **groups**,…"
url: "https://dualcube.com/docs/course-group-mapping-and-enrollment/"
updated: "2026-05-05"
category: "MooWoodle Free & Pro"
---

# Course group mapping and enrollment

MooWoodle now extends course sync beyond basic enrollment by supporting **Moodle groups and cohorts**. This allows you to sell the same course with different group-based access directly from WooCommerce.

### What this feature does

When a Moodle course contains **groups**, MooWoodle:

- Fetches those groups during course sync
- Automatically creates a **variable product** in WooCommerce
- Adds each group as a **product variation**

Each variation represents a specific group inside that course.

### How to enable

Go to: **Course information mapping → Course group**

Enable: **Course group**
*Moodle course groups are fetched and linked with products*

![](https://dualcube.com/wp-content/uploads/2026/05/Screenshot-2026-05-05-194051-1024x453.png)

### How it works (flow)

1. Enable **Course group mapping**
2. Sync courses from Moodle to WordPress
3. MooWoodle checks if the course has groups
4. If groups exist:
   - A **variable product** is created
   - Each group becomes a **variation**

### Purchase and enrollment behavior

- A user selects a **specific variation (group)** while purchasing
- After successful purchase:
  - The user is enrolled in the **course**
  - AND assigned to the **selected group** in Moodle

### Why this is useful

- Sell the same course for different batches, sessions, or teams
- Manage group-based learning (e.g., classrooms, corporate teams)
- Give users clear control over which group they join

### Important notes

- This works only if **groups are already created in Moodle**
- Each variation is directly tied to a **Moodle group**
- If no groups exist, the product will behave as a **simple course product**
