Set up your org structure β
Every church organizes itself differently. A single-site church might just have Ministries. A multi-site network might have Region β Branch β Center β Cell. GCM lets you name and nest your structure to match β there is no fixed three-level model.
This is called the N-level dynamic hierarchy. It powers leader scopes, attendance breakdowns, giving reports, and the map view.
1. Open Organization Structure β
In the sidebar, go to Organization Structure. The page has two panels:
- Hierarchy levels on the left β the names of your tiers (e.g. Branch, Center, Cell).
- Units on the right β the actual instances at each level (e.g. Downtown Branch, North Center).

2. Name your levels β
Click Add level on the left. Each level needs:
- Singular label β e.g. "Branch".
- Plural label β e.g. "Branches".
- Order β 1 is the highest level, 2 is its children, and so on.
Common patterns:
| Church type | Levels |
|---|---|
| Single site, small | Just Ministries (no other levels) |
| Single site, large | Department β Ministry |
| Two-site | Branch β Ministry |
| Cell-based | Branch β Center β Cell |
| Denominational | Region β District β Local Church |
TIP
Use the same vocabulary your church already uses out loud. If your members talk about "campuses" call it Campus, not Branch.
You can add or rename levels later, but reordering them after you've created units is messy β plan two levels deeper than you need today so you have room to grow.
3. Add units β
On the right panel, click Add unit. You'll choose:
- Level β which tier this belongs to.
- Name β e.g. Downtown Branch.
- Parent β required for any level below the top. Pick the unit this nests under.
- Address + map location (optional) β populates the map module and gives the unit a pin in reports.
Repeat until your top tier(s) are filled out. You can save partial structures and come back.

4. Assign members to units β
Once your units exist, every member can be linked to one. Open a member profile and pick a unit in the Org unit assignment section. You can also do this in bulk via bulk import.
Members can belong to one unit at each level (e.g. one Branch and one Cell, never two Branches at once).
5. Scope your leaders β
Pair this with your team invitations. When you invite a shepherd, pick the unit they oversee. Their view of members, attendance, and reports is automatically narrowed to that unit plus every descendant β without you writing a single permission rule.
INFO
The scope is enforced in the database via Row-Level Security and the current_org_id() function. Even if a shepherd were to inspect their browser's network requests and try to query directly, the database would refuse rows outside their scope.
Archiving units β
Units can't be hard-deleted once members or attendance are attached. Use Archive instead. Archived units:
- Stop appearing in pickers and lists.
- Keep their historical attendance and giving data intact.
- Can be restored from the Archived tab at any time.
This matters when you close a campus or merge cells β the past stays accurate.
Common questions β
Can a member belong to multiple branches? No. The model is one-unit-per-level. If someone genuinely attends two branches equally, pick the primary and use a custom field to note the secondary.
Can I rename a level after I've added units? Yes. The label is purely display β units stay attached to the level by ID. Rename anytime.
Do I need any of this if I'm a single-site house church? No. Skip levels entirely or add just one ("Group"). Most modules work fine without an org structure.
Next steps β
- Invite your team and assign them to units.
- Choose a plan β multi-site networks need Growth or higher.
- Add members and start linking them to units.