Skip to content
Custom team roles

Your accountant doesn't need
to see your ad spend.

Custom roles with per-tab access — give your accountant only the Financials tab, your agency only Marketing, your VA only Tasks and AI Listings. Every team change tracked. Unlimited team seats at every tier. Built for the Shopify operator who actually has a team — not the one who pretends to.

The gap

“Admin or Viewer” is no choice at all.

Most ecom analytics tools have two team roles: Admin (full access to everything) and Viewer (read-only, but still everything). That gives you exactly two options for your bookkeeper: hand them every number in the business including ad creative spend, or give them nothing and email them CSVs once a month. Same for your agency, your VA, your contract designer, your fractional COO.

The result: most operators end up doing one of three things. They give everyone full Admin and pray ("trust the team"). They give nobody anything and email exports manually ("I do it all myself"). Or they pay for two separate tools — one for analytics, one with proper roles — and reconcile the data by hand. None of these scale.

The retention multiplier nobody talks about: the single biggest predictor of B2B SaaS retention is seat count. Stores with an accountant + agency + VA on the platform churn 5-10× less than owner-only stores. Per-tab roles are what unlocks that, because they make giving a contractor access feel safe.

How it works

Built like an actual permissions system.

Not a checkbox in settings. A real role layer enforced at the database — every query the user runs is filtered by their role's tab access.

01

Custom roles you name + define

Owners create named roles — Accountant, Agency Partner, VA, Fractional COO, whatever fits — and assign per-tab access. Editor (view + add + edit + delete) or Viewer (read-only) per tab. Absence of a row means no access — the tab doesn't even appear in their sidebar.

  • 11 tabs covered: Dashboard, Stores, Performance, Products, Customers, Financials, Forecast, Tasks, AI Listings, Audit, Settings
  • Roles are reusable — define Accountant once, assign to two different bookkeepers
  • Edit a role's access and it applies to every member with that role on their next sign-in
02

System presets if you don't want to think

If custom roles are overkill for your team, the built-in presets cover the common cases: Owner (full access including billing), Admin (all tabs except billing and account deletion), Member (view + edit), Viewer (read-only).

  • Owner is fixed — only the account creator. No "demote owner" surprise.
  • Admin maps to most of what "Admin" means in other tools — but blocked from billing + delete-account
  • Member + Viewer are the simplest assignments — pick from a dropdown, send invite
03

Pending invitations stay scoped

When you invite someone, you assign their role on the invite — not after they accept. The invitation email includes the role name. They sign in and immediately see only the tabs you intended. No "I'll set permissions after they accept" moment that gets forgotten.

  • Custom roles work for invitations too — assigned at invite time
  • Revoke pending invitations from the Team page — they stop working immediately
  • Invitation emails branded as Ecom Forward
04

Every team change tracked

Every role assignment, role edit, member removal, invite sent, invite revoked is recorded with timestamp, actor, and target. The Activity tab shows you the full history — who changed what, when, from what device. Useful for “who removed Sarah from the team last Tuesday?”

  • Cannot be turned off — it's a structural part of every write
  • Filterable by actor, action type, entity type, and date range
  • Exportable to CSV when your auditor or lawyer asks
In your team

Three real teams this lets you build.

The accountant who only needs Financials

Custom role: "Accountant". Access: Financials (editor), Activity (viewer). They see your P&L, Cash Flow, Balance Sheet, and the activity history of every change. They don't see your ad creative, your customer LTV, or your team chat. You stop emailing CSV exports.

The agency that only needs Marketing

Custom role: "Agency Partner". Access: Marketing (editor), Performance (viewer), Stores (viewer). They can see attribution and tune campaigns, see daily performance, see which store they're working on — but they can't view your COGS, your team, your billing, or your customer list. Onboard them in 30 seconds, off-board them with one click.

The VA who triages signals

Custom role: "Operations VA". Access: Tasks (editor), AI Listings (editor), Performance (viewer). They can clear the task board, generate product copy, and see if revenue is on pace — without seeing ad spend amounts, your supplier costs, or your team. The kind of access you'd never give without per-tab roles.

The wedge

What about other Shopify analytics tools?

BeProfit has Admin / View-only — that’s it. Lifetimely, TrueProfit, Polar are similar. TripleWhale ships role-based access on their enterprise tier ($1,000+/mo), not on their starter plans. So if you want to onboard an accountant or agency on a $99-249/mo analytics tool, you give them everything — including data they shouldn’t see.

Ecom Forward includes custom team roles, unlimited seats, and activity history at every tier including Captain at $99/mo. The agency-and-bookkeeper-friendly setup is the default, not the upgrade.

Ready?

Onboard your accountant
in 30 seconds.

7-day free trial, every feature at every tier including custom team roles. Create the role, send the invite, they're in — with exactly the access you intended.

7-day free trial · cancel anytime · live in 10 min