Control what a client sees
Set the portal kind and section toggles, grant services per website, manage access, roles and seats, retire a portal, and preview the result as the client.
Everything a client can see is decided on their portal. This page covers the four places that decide it — Sections, Access, Client visibility and the portal lifecycle — and how to check the result without logging in as them.
Before you start
The Access and Sections tabs and every lifecycle action are owner-only. Team members with Client Portals (edit) see only the Overview and Billing tabs. Changing services under Client visibility needs Billing (edit); without it the page reads "You don't have billing permission to change services."
Portal kind
Full portal, Leads, SEO, Backlinks or Ads — presets every toggle
Section toggles
The eleven portal areas, ticked one at a time
Add-on entitlements
Purchased or granted services, per website
Notification preferences
Which emails reach this client at all
What this client actually sees
Portal kind
Open the client, pick the portal under Project scope if there is more than one, then go to SettingsSections.
Kind is a row of pills: Full portal, Leads, SEO, Backlinks or Ads. Minimal kinds land the client on their product surface and hide the agency-workflow navigation around it.
Pick the kind first, then hand-adjust
Picking a different kind rewrites every section checkbox from that kind's preset and discards your hand edits. Re-picking the same kind does nothing. Choose the kind, then adjust the checkboxes, then Save changes.
Under the Leads, SEO, Backlinks and Ads kinds, Account & Billing and Services always stay on regardless of what you tick.
Section toggles
| Setting | What it changes | Default |
|---|---|---|
| Messages | Shows or hides the portal Messages area. | On |
| Files | Shows or hides the Files tab and the two-way file lane. | On |
| Analytics | Shows or hides the Analytics page. | On |
| Advertising | Shows or hides the Advertising page. | On |
| Meetings | Shows or hides Meetings and client booking. | On |
| Training | Shows or hides the Training hub. | On |
| Account & Billing | Shows or hides Plan & Billing and invoice detail. | On |
| Leads (Visitor ID) | Shows or hides the visitor-lead surfaces. | On |
| Authority (SEO add-ons) | Shows or hides the authority and backlink panels. | On |
| Services (add-on catalog page) | Shows or hides the page where a client buys more services. | On |
| Announcements | Shows or hides Announcements. | On |
| Active SEO program | Shows the SEO program — strategy focus, shipped work, results — in this client's portal. Saves immediately rather than waiting for Save changes. | Off |
Unchecked sections stay hidden. An omitted value is treated as enabled, so a brand new portal shows everything until you narrow it.
Hiding a section hides the surface, not the producers
The records behind a hidden section are still created. Files still arrive, notification emails still send. If you want a category to go quiet, turn the matching notification toggle off under Access as well.
Active SEO program stays greyed out until the website is enrolled in the SEO Command Center. Enrol it first, then come back — see SEO Command Center setup.
Access, roles and seats
Open SettingsAccess. It holds the portal's status, its role, the onboarding resend, the client's notification preferences and extra seats.
| Setting | What it changes | Default |
|---|---|---|
| Status | active, pending, archived, revoked or legacy. Anything other than active stops the login working. | The portal's current status |
| Portal role | client or admin. | client |
| Resend onboarding email | Sends the invite again. Use it when the client never set a password. | — |
| Email notifications enabled | The master switch for this client's notification emails. With it off, the individual categories below do nothing. | — |
| Messages & tasks | Emails when an approval or task needs the client. | — |
| Files & deliverables | Emails about new files and deliverables. | — |
| Meeting updates | Emails about meeting changes. | — |
| Content Center updates | Emails about the content calendar. | — |
| SEO reports | Emails when an SEO report is shared. | — |
| Stripe billing updates | Emails about subscriptions and invoices. | — |
| Request status + comments | Emails when you change a request's status or comment on it. | — |
| New leads (ad campaigns) | Emails when an ad campaign produces a lead. | — |
Seats
A seat is an extra client login on the same portal. Add them under Seats and press the invite action on each one.
- Capped at five members beside the primary login.
- A seat's chip reads Not invited → Invite sent → Active. It only reaches Active once that person sets a password. Disabled turns the seat off.
- You cannot add the portal's own primary login email as a seat.
- Payment methods, personal notifications and account settings stay per-login. Billing and meetings are visible to everyone on the portal.
Services, per website
Client visibility is the one screen that answers "what does this client actually see", service by service and website by website.
Open the client and click Client visibility
Work the add-on queue at the top
Pending add-on requests offer Activate or Decline.
Read the matrix
Columns are Service, Websites it's on, Status and Actions.
Use the row actions
Grant a service, cancel it, hide the upsell offer for one website, or resume a paused service.
Set the SEO switches per website
Active SEO program and Live SEO dashboard, both off by default.
A service shows for the websites it is on. A website that has no portal of its own shares the services of the client's first portal, and the portal opens the first website that has the service.
A website with no portal cannot hold its own services
Use Create portal for that website from Client visibility first. Creating a portal can email the client — it never happens automatically, so decide deliberately.
Removing access is not cancelling the charge
Taking a Stripe-billed add-on away from a portal does not cancel the Stripe subscription. Cancel the recurring charge through the client's billing door first, then remove the access.
Add-on changes are not realtime on the client's side. Their portal refreshes entitlements on focus, or within roughly 15 seconds of navigating, so a recent change can take a moment to appear.
Preview a client's portal
Use Client visibilityPreview as client for a read-only snapshot: projects, open requests, tasks, approvals, message threads, files, reports, meetings, notifications, billing and onboarding. Every read runs under the client's own permissions, and each preview writes one portal event.
Use Open live portal when you need the real, interactive thing. The preview is a snapshot, not a login.
Portal lifecycle
At the bottom of SettingsPortal lifecycle sit the owner-only actions that retire a portal.
| Action | What it does |
|---|---|
| Cancel invitation | Only on invited portals. Permanently deletes the portal — this is not a soft undo |
| Deactivate | Revokes access. Status becomes revoked and the auth user is disabled. The data stays |
| Delete | Wipes the portal and its data. Requires you to type the portal's access email |
| Mark discovery complete / Reopen discovery | Flips the discovery status, and resets progress on reopen. A tracking flag only |
What Delete destroys
Messages and thread history, requests with their comments, tasks, uploaded files, discovery answers, portal notifications and the client's login. Preserved: the client record, and the project itself — it is reassigned to you with its checkpoints, notes, deliverables and campaigns intact.
If you only want to stop the client getting in, use Deactivate.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Section toggles reset after you edited them | You clicked a different Kind pill, which rewrites every toggle | Pick the kind first, then hand-adjust, then Save changes |
| A section is off but the client still gets emails | Section flags hide the surface, not the producers behind it | Turn the matching category off under Access as well |
| Active SEO program is greyed out | The website is not enrolled in the SEO Command Center, or the portal has no project | Enrol the website, then return. Use Retry if the check errored |
| A service shows on one website but not another | Entitlements live on a portal; a website with no portal inherits the first portal's services | Create a portal for that website from Client visibility |
| The Access and Sections tabs are missing | They are owner-only | Ask a workspace owner to make the change |
| Cancelling an add-on did not stop the Stripe charge | Access and subscription are separate | Cancel the subscription in billing, then remove access |
| A change has not appeared in the client's portal | Entitlement reads are not realtime | Wait about 15 seconds, or have them reload the page |
| Deleting a portal lost history you wanted | Delete wipes messages, requests, tasks, files and discovery answers | Use Deactivate next time — it revokes access and keeps the data |