Salesforce · · 42 min read

Experience Cloud in Salesforce

Everything you need to know about Salesforce Experience Cloud — creating sites, Aura vs LWR templates, user management, builder navigation, themes, authentication, security, CMS, gamification, and deployment.

Part 22: Experience Cloud in Salesforce

Experience Cloud (formerly known as Community Cloud) is one of the most powerful features in the Salesforce platform. It allows organizations to build branded digital experiences — portals, help centers, partner communities, and self-service sites — that connect customers, partners, and employees with the data, processes, and experts they need. In this part of our Salesforce series, we will cover Experience Cloud from the ground up: creating sites, choosing templates, managing users, customizing the builder, configuring authentication, handling security, working with CMS and gamification, and finally deploying your site to production.


What is Experience Cloud

Experience Cloud is a Salesforce product that enables you to build connected digital experiences for your external and internal stakeholders. These experiences can take many forms:

  • Customer portals — where customers log in to view their cases, orders, or account information
  • Partner portals — where channel partners manage leads, opportunities, and deal registration
  • Help centers — public-facing knowledge bases and FAQ sites
  • Self-service communities — where users can ask questions, find articles, and collaborate
  • Employee intranets — internal hubs for company news, HR resources, and collaboration
  • Microsites — lightweight branded sites for campaigns, events, or product launches

Experience Cloud sits on top of the Salesforce platform, which means your sites have direct access to your CRM data, automation (flows, triggers, process builders), and security model. External users interact with Salesforce objects through community licenses, and their access is governed by profiles, permission sets, and sharing rules — just like internal users, but with additional layers of external security.

Key Terminology

TermMeaning
Experience SiteA branded website or portal built with Experience Cloud
Experience BuilderThe drag-and-drop tool used to design and configure your site
TemplateThe starting point for your site — determines the framework (Aura or LWR) and default layout
Community UserAn external user who accesses your Experience site via a community license
Guest UserAn unauthenticated visitor who can view public pages without logging in
Experience WorkspaceThe admin area where you manage members, settings, moderation, and more

Licensing

Experience Cloud requires specific license types for external users:

  • Customer Community — high-volume, limited access (ideal for B2C portals)
  • Customer Community Plus — adds sharing rules, reports, and delegated admin
  • Partner Community — full partner portal capabilities including lead and opportunity management
  • External Apps — lighter-weight license for API-based or app-centric experiences
  • Channel Order — specialized for partners placing channel orders

Internal users (with standard Salesforce licenses) can also access Experience sites and typically have broader permissions.


How to Create an Experience Cloud Site

Creating your first Experience Cloud site involves several steps. Let us walk through the process.

Step 1: Enable Digital Experiences

  1. Go to Setup
  2. In the Quick Find box, search for Digital Experiences and select Settings
  3. Check the box for Enable Digital Experiences
  4. Choose a domain name — this will be your site’s base URL (e.g., yourcompany.my.site.com)
  5. Click Save

Important: Once you set the domain name, it cannot be changed. Choose it carefully.

Step 2: Create a New Site

  1. Go to Setup > Digital Experiences > All Sites
  2. Click New
  3. You will see a gallery of available templates — browse through them and select one that fits your use case
  4. Give your site a Name (this also generates a URL suffix)
  5. Optionally provide a custom URL path
  6. Click Create

Salesforce will provision the site and drop you into the Experience Workspace, which is the central hub for configuring your site.

Step 3: Open Experience Builder

From the Experience Workspace, click the Builder tile (or the paintbrush icon) to open the Experience Builder. This is the visual, drag-and-drop design environment where you will build pages, apply themes, add components, and configure navigation.

Step 4: Configure, Build, and Publish

The general workflow from here is:

  1. Configure site settings (authentication, user profiles, branding)
  2. Build pages and add components in the Builder
  3. Preview your site across devices
  4. Publish (make the site live for users)

We will cover each of these areas in detail throughout this post.


Major Differences Between Aura and LWR Sites

When you create a new Experience site, the template you choose determines the underlying framework. There are two frameworks available:

Aura-Based Templates

Aura is the original Lightning component framework. Aura-based templates have been around longer and include templates such as:

  • Customer Service — designed for self-service portals with cases and knowledge
  • Partner Central — built for partner relationship management
  • Customer Account Portal — account and order management
  • Tabs + Sub Tabs — a flexible, tab-based layout
  • Help Center — public-facing knowledge and support

LWR-Based Templates (Lightning Web Runtime)

LWR is the newer, modern framework built on Lightning Web Components (LWC). LWR-based templates include:

  • Build Your Own (LWR) — a blank canvas using the LWR framework
  • Microsites — lightweight branded sites
  • Various industry-specific templates

Comparison Table

FeatureAuraLWR
FrameworkAura Component FrameworkLightning Web Runtime (LWC-based)
PerformanceGoodBetter — lighter runtime, faster page loads
SEOLimited server-side renderingEnhanced SEO with server-side rendering
Component ModelAura components + some LWCLWC-native components
CustomizationExtensive — many pre-built componentsGrowing library, more modern patterns
CSS CustomizationTheme panel + CSS overridesDesign tokens + CSS custom properties
URL StructureHash-based (#) by defaultClean, path-based URLs
AccessibilityGoodEnhanced WCAG compliance
Progressive RenderingNoYes
Head MarkupSupportedSupported with more control
Template MaturityMature — wide template selectionNewer — templates expanding each release
MigrationN/ACannot migrate Aura to LWR directly

Which Should You Choose?

  • Choose Aura if you need a feature-rich template out of the box (like Partner Central or Customer Service) and your requirements align with one of the established templates
  • Choose LWR if performance, SEO, and modern web standards are priorities, or if you are starting fresh and want to invest in the newer framework
  • For new projects with no legacy constraints, Salesforce recommends LWR as the forward-looking choice

Creating Users for Experience Cloud

External users in Experience Cloud are always associated with a Contact record (for customer communities) or a Contact linked to a Partner Account (for partner communities). Here is how you create community users.

Step-by-Step: Creating a Customer Community User

  1. Create an Account (the company or individual the user belongs to)
  2. Create a Contact under that account
  3. On the Contact record, click the Enable Customer User button (found under the dropdown on the contact page or via a quick action)
  4. Fill in the user details:
    • License — select Customer Community or Customer Community Plus
    • Profile — choose the appropriate community profile
    • Username — must be unique across all Salesforce orgs (email format)
    • Email — the contact’s email
    • Role — assigned via the account hierarchy (more below)
  5. Click Save
  6. The user receives a welcome email with login instructions

Step-by-Step: Creating a Partner Community User

  1. Create an Account and mark it as a Partner Account (click “Enable as Partner” on the account)
  2. Create a Contact under that partner account
  3. Click Enable Partner User on the Contact
  4. Assign the Partner Community license and appropriate profile
  5. Save — the partner user is created

User Roles and Account Role Optimization

When you enable an external user, Salesforce automatically creates a role hierarchy based on the account. Each account gets up to three portal roles:

  • Executive — highest level in the account’s portal hierarchy
  • Manager — mid-level
  • User — lowest level

This role hierarchy determines data visibility within the account. Users at a higher role can see records owned by users at lower roles in the same account.

Account Role Optimization

Large organizations with many accounts can hit role hierarchy limits. Account Role Optimization reduces the number of portal roles created:

  1. Go to Setup > Digital Experiences > Settings
  2. Enable Account Role Optimization
  3. With this enabled, Salesforce creates only one role per account instead of three
  4. This significantly reduces the total number of roles and improves performance for orgs with thousands of partner/customer accounts

Best Practice: Enable Account Role Optimization early if you anticipate a large number of external accounts. Changing this later requires careful planning.


Super Users, Delegated Account Management, and External Managed Accounts

Super Users

Super Users are portal users who have elevated visibility within their account. When a user is flagged as a Super User:

  • They can see all records owned by other portal users under the same account, regardless of role hierarchy
  • This includes cases, opportunities, custom objects, and other shared records
  • Super User access works in conjunction with sharing rules

To enable a Super User:

  1. Navigate to the external user’s record
  2. Check the Super User checkbox (available for Customer Community Plus and Partner Community licenses)
  3. Save

Delegated Account Management

Delegated External User Administration lets external users manage other external users within their own account:

  • They can create, edit, and deactivate other external users under the same account
  • They can reset passwords for users they manage
  • They can assign permission sets from a pre-approved list

To set up Delegated Account Management:

  1. Go to the external user’s profile or permission set
  2. Enable the Delegated External User Administrator permission
  3. Define which profiles the delegated admin can assign
  4. Define which permission sets they can grant

This is especially useful for partner portals where partner account managers need to onboard their own team members without contacting your internal admin.

External Managed Accounts

External Managed Accounts allow partner users to manage customer accounts and their users. This creates a tiered model:

  • Partner users manage customer accounts assigned to them
  • Partners can create and manage customer community users for those accounts
  • Useful in scenarios where partners serve as the front-line support for end customers

To enable:

  1. Enable Partner Superuser Access on the partner user
  2. Assign the partner as the account owner (or via account sharing) of the customer account
  3. The partner user can then create and manage customer users for that account

Builder Navigation, Available Components, and Admin Panel

Experience Builder Layout

When you open Experience Builder, you will see several key areas:

AreaDescription
Top ToolbarContains the page selector, device preview toggle, publish button, and settings gear
Left Sidebar — Components PanelLists all available drag-and-drop components
Left Sidebar — Pages PanelLists all pages in your site with their URLs
Left Sidebar — Theme PanelControls global styling — colors, fonts, spacing
Center CanvasThe live preview of your page where you drop components
Right Sidebar — Properties PanelShows configuration options for the selected component
  • Pages dropdown (top bar) — quickly switch between pages
  • Component tree — view the hierarchical structure of components on the current page
  • Device toggles — preview on desktop, tablet, and mobile viewports
  • Preview button — open a full preview in a new browser tab (as a specific user or as guest)

Available Components

Experience Builder provides a rich library of pre-built components. Here are some of the most commonly used ones:

Content and Layout:

  • Rich Text Editor
  • HTML Editor
  • Tile Menu
  • Accordion
  • Tabs
  • Two Column / Three Column layouts
  • Flex Layout

Navigation:

  • Navigation Menu
  • Breadcrumb
  • Search Bar
  • Language Selector

CRM Data:

  • Record List
  • Record Detail
  • Record Banner
  • Related Record List
  • Related List — Single

Cases and Knowledge:

  • Case Deflection
  • Case List
  • Case Detail
  • Knowledge Article List
  • Knowledge Article Detail
  • Topic Catalog

Feed and Collaboration:

  • Feed (Chatter)
  • Feed Publisher
  • Group List
  • Member List
  • Question Detail

CMS Content:

  • CMS Collection
  • CMS Single Item
  • Content Slots
  • Featured Topics

Forms and Actions:

  • Flow
  • Quick Action
  • Form components

Branding and Media:

  • Hero Banner
  • Image
  • Video
  • CMS Banner

LWR-Specific Components:

  • Data Table
  • Form (LWR)
  • Dynamic interaction components
  • Enhanced List View

Admin Panel (Experience Workspace)

The Experience Workspace (accessible via the admin/gear icon in Builder, or from Setup > All Sites > Workspaces) provides management areas:

  • Administration — general settings, pages, login and registration, emails
  • Members — manage which profiles and permission sets have access
  • Tabs — choose which Salesforce tabs are available in the community
  • Moderation — set up content moderation rules and criteria
  • Reputation — configure gamification points and levels
  • Topics — manage navigational and featured topics
  • CMS — connect CMS workspaces and content
  • Dashboards — view community analytics and engagement metrics

Site Settings

Key settings found in the Experience Workspace under Administration > Settings:

SettingDescription
Site NameThe display name for your community
Site URLThe path appended to your domain
StatusActive or Inactive
Welcome EmailTemplate sent when new members are added
DescriptionInternal description of the site’s purpose
Site TemplateThe template used (read-only after creation)

Additional settings under specific menus:

  • Administration > Pages — set default pages for different object types, login, error pages
  • Administration > Preferences — enable features like Chatter, Knowledgebase, case management, direct messages
  • Administration > Developer — access to site endpoints, Visualforce pages

Theme and Branding

The Theme panel in Experience Builder controls the overall visual identity:

Global Colors:

  • Primary color
  • Text color
  • Detail text color
  • Action color
  • Link color
  • Overlay text color
  • Border color
  • Background color (page body)

Fonts:

  • Primary font family
  • Header font family
  • Font sizes for various heading levels and body text

Images:

  • Company logo (header)
  • Login page background
  • Favicon
  • Default social share image

CSS Overrides: For Aura sites, you can upload a CSS file or add inline CSS in the Advanced section of the Theme panel. For LWR sites, you can use Design Tokens and CSS custom properties for deeper customization.

The header and navigation bar are typically configured as global components that appear on every page:

  1. Click on the header region in Builder
  2. Configure the navigation menu by selecting or creating a Navigation Menu:
    • Go to Administration > Navigation (or the Pages panel)
    • Add menu items — these can link to pages, external URLs, Salesforce objects, or topics
    • Arrange the hierarchy (top-level items and sub-items)
  3. Header options:
    • Show/hide logo
    • Show/hide search bar
    • Show/hide user profile menu
    • Background color and transparency

Navigation Menu Item Types:

TypeDescription
Salesforce ObjectLinks to a list view of a standard or custom object
Site PageLinks to a page within your Experience site
External URLLinks to any external website
TopicLinks to a community topic page
Global ActionTriggers a global quick action
Menu LabelA parent label for grouped sub-items (no link)

The search bar in Experience Cloud provides a unified search across:

  • Knowledge articles
  • Chatter posts and feeds
  • Community discussions
  • CRM records (based on user permissions)
  • CMS content (if connected)

Configuration options for search:

  • Enable autocomplete — shows suggestions as the user types
  • Result types — choose which object types appear in search results
  • Search scope — limit search to specific objects or content types
  • Placeholder text — customize the hint text in the search bar
  • Featured results — pin specific results for common queries

Creating Pages and Audiences

Creating Pages

Experience Builder lets you create multiple types of pages:

  1. Standard Pages — custom pages you design from scratch (e.g., a homepage, about page, contact page)
  2. Object Pages — detail, list, and related-list pages for Salesforce objects
  3. Login Pages — the login experience (login form, registration, password reset)
  4. Error Pages — custom 404 and access-denied pages

To create a new page:

  1. In the Builder, open the Pages panel (left sidebar)
  2. Click New Page
  3. Choose a page layout (blank, one column, two column, etc.)
  4. Give the page a Name and URL
  5. Click Create
  6. Drag components onto the canvas and configure them
  7. Set page-level properties (title tag, description for SEO)

Object Pages:

When you add a Salesforce object to your site (via Tabs in the workspace), Experience Cloud automatically generates:

  • A List page — showing records of that object
  • A Detail page — showing a single record
  • A Related List page — showing related records

You can customize these pages just like any other page in the Builder.

Audiences

Audiences let you show different content to different groups of users based on criteria. This is a powerful personalization feature.

How Audiences Work:

  1. Define an Audience based on criteria:

    • Profile-based — target users with specific profiles
    • Location-based — target by geography or IP
    • Record field-based — target based on user or contact field values
    • Permission-based — target based on permissions assigned
    • Formula-based — use custom formulas for complex logic
  2. Assign the audience to a Page Variation or Component Visibility:

    • Page Variations — create alternative versions of a page, each targeted at a different audience
    • Component Visibility — show or hide specific components on a page based on the audience

To create a Page Variation:

  1. Navigate to the page in Builder
  2. Click on the page name in the top toolbar
  3. Select New Page Variation
  4. Name the variation and assign an audience
  5. Customize the variation with different components or content
  6. The system will automatically serve the correct variation based on the visiting user’s audience match

Audience Priority:

When a user matches multiple audiences, the priority order determines which variation they see. You can reorder the priority in the page settings.


Guest User Setup and Public Pages

Guest users are unauthenticated visitors — people who visit your site without logging in. Setting up guest access properly is critical for public-facing sites like help centers and knowledge bases.

Enabling Guest Access

  1. In the Experience Workspace, go to Administration > Preferences
  2. Enable Allow guest users to access public APIs (if needed)
  3. Go to Administration > Pages and set which pages should be accessible to guests

Guest User Profile

Every Experience site has an automatically created Guest User Profile. This profile controls what guest users can see and do:

  1. Go to Setup > Profiles and find the profile named [SiteName] Profile
  2. Configure object permissions — grant Read access to objects guests need to see (e.g., Knowledge articles, FAQs)
  3. Configure field-level security — ensure only appropriate fields are visible
  4. Set record-type access if needed

Public Pages

To make a page accessible to guest users:

  1. In the Builder, click on the page settings
  2. Toggle Public Access to ON for that page
  3. Ensure the Guest User profile has access to any data displayed on that page

Guest User Sharing Rules

Salesforce provides a special Guest User Sharing Rule type. Unlike standard sharing rules, guest user sharing rules are more restrictive:

  • They must use specific criteria (not “All internal users” or “Based on ownership”)
  • They only grant Read access (never Read/Write)
  • You must explicitly define which records guests can see

To create a guest user sharing rule:

  1. Go to Setup > Sharing Settings
  2. Find the relevant object
  3. Under Guest User Sharing Rules, click New
  4. Define criteria (e.g., Status = “Published”)
  5. Grant Read access

Guest User Security Policies

Salesforce has implemented several security measures for guest users:

PolicyDescription
Secure guest user record accessEnforced — guests can only access records explicitly shared with them
Let guest users see other membersOff by default — prevents guest users from seeing community member lists
Guest user CORS allowlistDefine which external domains can make cross-origin requests
Content Security PolicyRestrict which external resources can be loaded

Security Warning: Always follow the principle of least privilege with guest users. Only expose the minimum data necessary and regularly audit guest user access.


Self-Registration, Login Pages, Login Discovery Handlers, Login Options, and Social Sign-On

Self-Registration

Self-registration allows new users to create their own community accounts without admin intervention.

To enable self-registration:

  1. In Experience Workspace, go to Administration > Login & Registration
  2. Under Registration, check Allow external users to self-register
  3. Configure the registration settings:
SettingDescription
ProfileThe profile assigned to self-registered users
AccountThe default account new users are associated with (or use a registration handler to set this dynamically)
Registration PageThe page where the registration form appears
Registration HandlerAn Apex class that customizes the registration process

Custom Registration Handler (Apex):

A registration handler is an Apex class that implements the Site.RegistrationHandler interface. It lets you:

  • Assign users to different accounts based on their domain or input
  • Set custom fields on the user or contact record
  • Run validation logic (e.g., check against an allowlist)
  • Send custom welcome emails

Login Pages

You can fully customize the login experience in Experience Builder:

  1. Navigate to the Login page in the Pages panel
  2. Customize the layout and components:
    • Login form (username/password fields)
    • “Forgot Password” link
    • Self-registration link
    • Social login buttons
    • Custom branding and messaging
  3. You can also create a completely custom login page using Visualforce or a custom LWC

Login Discovery Handlers

Login Discovery (also called Identifier-First Login) presents a two-step login flow:

  1. Step 1: User enters their identifier (email or username)
  2. Step 2: The system determines the best authentication method for that user and redirects accordingly

Benefits:

  • Users do not need to remember which login method they used
  • The system can route users to SSO, social login, or password-based login automatically
  • Reduces login friction

To configure:

  1. Create an Apex class implementing the Auth.LoginDiscoveryHandler interface
  2. In the handler, define logic for routing users:
    • Check if the user’s email domain matches an SSO configuration
    • Check if the user has a social login linked
    • Default to username/password if no special routing applies
  3. Assign the handler in Administration > Login & Registration > Login Discovery

Login Options

Experience Cloud supports multiple login methods:

MethodDescription
Username and PasswordStandard Salesforce credentials
SAML SSOEnterprise single sign-on via SAML 2.0
OpenID Connect SSOSSO via OpenID Connect providers
Social Sign-OnLogin with external identity providers (Google, Facebook, etc.)
Certificate-Based AuthX.509 certificate authentication
Delegated AuthenticationCustom authentication via a web service callout
Passwordless LoginEmail-based verification link or code

Social Sign-On

Social Sign-On lets users log in with their existing social media or identity provider accounts.

Setting up Social Sign-On:

  1. Create an Auth. Provider:

    • Go to Setup > Auth. Providers
    • Click New
    • Choose the provider type (Google, Facebook, LinkedIn, Apple, Twitter, OpenID Connect, etc.)
    • Enter the Consumer Key and Consumer Secret from the provider’s developer console
    • Configure callback URLs and scopes
  2. Create a Registration Handler:

    • Write an Apex class implementing Auth.RegistrationHandler
    • This handler manages what happens when a new user logs in via social (create user, link to existing contact, etc.)
    • Assign this handler to the Auth. Provider
  3. Add to Your Experience Site:

    • In Experience Workspace, go to Administration > Login & Registration
    • Under Login Page Configuration, add the Auth. Provider
    • The social login buttons will appear on your login page
  4. Map Fields:

    • The registration handler maps social provider fields (name, email, profile picture) to Salesforce user and contact fields

Security and Privacy, Sharing and Security for Users

Sharing Model for External Users

Experience Cloud uses the Salesforce sharing model with additional considerations for external users:

Organization-Wide Defaults (OWD) for External:

  • Salesforce has separate External OWD settings for each object
  • External default access can be set to Private, Public Read Only, or Public Read/Write
  • External access is always equal to or more restrictive than internal access

Sharing Rules for External Users:

  • Criteria-based sharing rules — share records matching specific criteria with external user groups
  • Owner-based sharing rules — share records owned by specific groups with external user groups
  • Guest user sharing rules — specific rules for unauthenticated visitors (criteria-based only)
  • Sharing sets — share records where a lookup field on the record matches the community user’s account or contact

Sharing Sets

Sharing sets are unique to Experience Cloud. They provide access to records that have a lookup relationship to the user’s account or contact:

  1. Go to Setup > Digital Experiences > Settings > Sharing Sets
  2. Click New
  3. Select the profiles this sharing set applies to
  4. For each object, define the access mapping:
    • Account lookup — share records where an account lookup matches the user’s account
    • Contact lookup — share records where a contact lookup matches the user’s contact
  5. Set the access level (Read Only or Read/Write)

Example: To give customer users access to their own cases, create a sharing set where the Case object’s AccountId field matches the user’s account, with Read/Write access.

Security Settings

SettingWhere to FindDescription
Clickjack ProtectionSession SettingsPrevents your site from being embedded in iframes on external domains
Content Security Policy (CSP)CSP Trusted SitesDefines which external resources can be loaded
CORSCORS AllowlistControls cross-origin requests to your site
IP Range RestrictionsProfile or Login IP RangesRestrict login to specific IP ranges
Login HoursProfile settingsRestrict when users can log in
Session TimeoutSession SettingsSet inactivity timeout for external users
Force ReloginSession SettingsRequire re-authentication after session timeout
HTTPSEnforced by defaultAll Experience sites use HTTPS
TLSEnforced by defaultMinimum TLS 1.2

Privacy Settings

  • Administration > Preferences contains options for:

    • Allow members to see other members’ profiles
    • Allow members to flag content
    • Enable direct messages between members
    • Show member nicknames vs. full names
    • Enable content moderation
  • Data visibility: Always review which fields are exposed on record detail pages to external users. Use field-level security on the community profile to hide sensitive internal fields.


Translations, Head Markup for SEO, and Google Analytics

Translations

Experience Cloud supports multilingual sites. Here is how to set up translations:

  1. Enable Translation Workbench:

    • Go to Setup > Translation Workbench > Translation Settings
    • Enable translations and add the languages you need
  2. Translate Site Labels:

    • In Experience Builder, go to the Settings gear icon
    • Click Languages
    • Add supported languages
    • Set the default language
  3. Export and Import Translations:

    • Use the Translation Workbench to export translatable strings
    • Send the file to translators
    • Import the completed translations
  4. Language Picker Component:

    • Add the Language Selector component to your header or navigation
    • Users can switch between available languages
  5. CMS Content Translations:

    • CMS content can be translated per language variant
    • Each content item can have versions in multiple languages

Head Markup for SEO

Proper SEO configuration helps your public Experience site rank in search engines:

  1. Page-Level Meta Tags:

    • In Builder, select a page and open its Properties panel
    • Set the Title Tag — the text that appears in browser tabs and search results
    • Set the Description — the meta description shown in search results
  2. Head Markup (Global):

    • Go to Settings > Advanced > Edit Head Markup
    • Add custom HTML to the <head> section of every page:
      • Meta robots tags (index/noindex)
      • Canonical URLs
      • Open Graph tags for social sharing
      • Structured data (JSON-LD)
      • Custom script tags (with CSP considerations)
  3. Robots.txt:

    • Salesforce generates a default robots.txt for your site
    • You can customize it under Administration > Settings
  4. Sitemap:

    • Experience Cloud can auto-generate a sitemap.xml
    • Configure which pages to include
    • Submit to search engines via Google Search Console
  5. LWR SEO Advantages:

    • LWR sites have better server-side rendering, which means search engines can index content more effectively
    • Clean URL paths (no hash fragments) are more SEO-friendly
    • Progressive rendering improves Core Web Vitals

Google Analytics

To add Google Analytics tracking to your Experience site:

Method 1: Head Markup

  1. Go to Settings > Advanced > Edit Head Markup
  2. Paste the Google Analytics (GA4) tracking script
  3. This loads on every page of the site

Method 2: Google Tag Manager

  1. Add the GTM container script via Head Markup
  2. Configure tags, triggers, and variables in GTM
  3. This gives you more flexibility for event tracking

Method 3: Salesforce-Native Analytics

  • Experience Cloud includes built-in dashboards:
    • Page views and unique visitors
    • Login activity
    • Most active members
    • Top content and discussions
    • Search analytics

Salesforce CMS

Salesforce CMS (Content Management System) lets you create, manage, and deliver content across your Experience sites.

CMS Workspace

  1. Go to Setup and search for Digital Experiences or navigate through the App Launcher to Salesforce CMS
  2. Create a CMS Workspace:
    • Give it a name
    • Add Contributors (users who can create and manage content)
    • Connect it to one or more Experience sites (channels)

Content Types

Salesforce CMS supports several content types out of the box:

Content TypeDescription
NewsArticle-style content with title, body, banner image
ImageImage assets for use across the site
DocumentDownloadable files (PDFs, documents)
Custom Content TypeCreate your own structure with custom fields

Creating Content

  1. Open the CMS Workspace
  2. Click Add Content
  3. Select the content type
  4. Fill in the fields:
    • Title
    • Body (rich text)
    • Banner image
    • URL slug
    • Custom fields (if using a custom content type)
  5. Save as Draft or Publish

Content Lifecycle

CMS content follows a lifecycle:

  • Draft — work in progress, not visible on the site
  • Published — live and visible to users
  • Unpublished — removed from the site but retained in the workspace

Displaying CMS Content

In Experience Builder, use CMS components to display content:

  • CMS Collection — displays a list of CMS items (like a blog feed or news listing)
  • CMS Single Item — displays one content item (like an article detail page)
  • CMS Banner — displays a banner using CMS-managed images and text

Gamification and Moderation

Gamification (Reputation)

Gamification encourages engagement by rewarding users with points and recognition levels.

Setting Up Reputation:

  1. In Experience Workspace, go to Reputation
  2. Enable Reputation
  3. Define Point Values:
ActivityDefault PointsCustomizable?
Post a question1Yes
Answer a question5Yes
Receive a best answer10Yes
Post a comment1Yes
Receive a like5Yes
Share a post1Yes
Mention someone1Yes
Write a knowledge article15Yes
  1. Create Reputation Levels:

    • Define level names (e.g., Newcomer, Contributor, Expert, Champion)
    • Set point thresholds for each level
    • Upload level badge images
    • These badges appear on user profiles and posts
  2. Recognition Badges:

    • Create custom badges that can be manually awarded
    • Admins or moderators can recognize outstanding contributions

Moderation

Moderation ensures the quality and safety of community content.

Moderation Rules:

Rule TypeDescription
Content RulesAutomatically flag, review, or block content containing specific keywords
Rate RulesLimit how frequently users can post, comment, or flag content
Member RulesAutomatically flag or freeze accounts based on criteria
Replace RulesAutomatically replace offensive words with asterisks or alternatives

Setting Up a Content Moderation Rule:

  1. Go to Moderation > Rules
  2. Click New
  3. Set the rule type (Content)
  4. Define the Criteria — select a keyword list or create one
  5. Define the Action — Flag, Review, Block, Replace, or Freeze
  6. Choose which content types the rule applies to (posts, comments, files)
  7. Activate the rule

Keyword Lists:

  • Create lists of prohibited or flagged words
  • These lists are reusable across multiple rules
  • Support wildcards and partial matching

Moderation Queue:

  • Flagged content appears in the moderation queue
  • Moderators can approve, reject, or edit flagged content
  • Accessible from the Experience Workspace

Moderator Roles:

  • Assign moderation permissions via permission sets
  • Community moderators can:
    • Review flagged content
    • Delete inappropriate posts
    • Freeze or ban problematic users
    • Pin important posts
    • Mark best answers

Custom Domain, Deploying Bundles, Activate and Publish

Custom Domain

By default, your Experience site URL looks like: yourcompany.my.site.com/sitename

You can configure a custom domain for a branded URL (e.g., community.yourcompany.com):

  1. Register your domain with a domain registrar (if not already owned)
  2. Add the domain in Salesforce:
    • Go to Setup > Domains (or Custom URLs in the Experience Workspace)
    • Add your custom domain
    • Salesforce provides a CNAME record that you must add to your DNS configuration
  3. Update DNS:
    • In your domain registrar or DNS provider, add the CNAME record pointing your subdomain to the Salesforce-provided target
    • Wait for DNS propagation (can take up to 48 hours)
  4. Provision HTTPS Certificate:
    • Salesforce can auto-provision an SSL certificate for your custom domain
    • Alternatively, upload your own certificate via Setup > Certificate and Key Management
  5. Assign the Domain to Your Site:
    • In Experience Workspace or Setup, assign the custom domain to your specific site

Deploying Bundles (Change Sets and Metadata)

Experience Cloud sites can be deployed between environments (sandbox to production) using several methods:

Method 1: Change Sets

  1. In the source org (sandbox), go to Setup > Outbound Change Sets
  2. Create a new change set
  3. Add the Experience Bundle component (this includes the site configuration, pages, components, and themes)
  4. Add related metadata:
    • Profiles and permission sets for community users
    • Custom objects and fields exposed in the site
    • Apex classes (registration handlers, controllers)
    • Auth. Providers and Named Credentials
    • Sharing rules and sharing sets
    • Custom metadata types
    • Flows used in the site
  5. Upload the change set to the target org
  6. In the target org, deploy the inbound change set

Method 2: Metadata API / SFDX

  1. Use sf project retrieve to pull the site metadata from the source org
  2. The Experience Cloud metadata lives in the experiences or networkBranding directories
  3. Use sf project deploy to push to the target org
  4. This method is preferred for CI/CD pipelines

Method 3: Sandboxes

  • Full and partial sandboxes include Experience site configurations
  • After sandbox refresh, you have a copy of the production site to modify
  • Use change sets or metadata API to promote changes back to production

Activating and Publishing

Activation and Publishing are two distinct steps:

StepWhat It Does
ActivateMakes the site accessible via its URL. Users can reach it if they have the link. Done from Setup > All Sites.
PublishPushes your latest Builder changes live. Changes made in Builder are NOT visible until you publish. Done from within Experience Builder.

To Activate:

  1. Go to Setup > Digital Experiences > All Sites
  2. Click Activate next to your site
  3. The site is now reachable at its URL

To Publish:

  1. Open Experience Builder
  2. Click the Publish button in the top-right corner
  3. Review the summary of changes
  4. Click Publish to confirm
  5. Changes are live immediately (or within a few minutes)

Publishing Best Practices:

  • Always preview changes before publishing
  • Use the preview-as-user feature to test with different user profiles
  • Publish during low-traffic periods when possible
  • Keep a publishing log of what changed and when
  • Test on mobile devices before publishing responsive changes

Section Notes

Here are important points to keep in mind when working with Experience Cloud:

  1. Template Lock-In: Once you choose a template (Aura or LWR), you cannot switch frameworks for that site. You would need to create a new site if you want to change frameworks.

  2. License Planning: Plan your license needs carefully. Customer Community licenses are cheaper but more limited. Customer Community Plus and Partner Community licenses offer more features but at higher cost.

  3. Performance: LWR sites generally perform better than Aura sites. For public-facing sites where SEO and page load speed matter, LWR is the recommended choice.

  4. Guest User Security: Salesforce has significantly tightened guest user security in recent releases. Always test guest user access thoroughly and follow Salesforce’s security best practices.

  5. Sharing Complexity: The sharing model for external users adds layers of complexity. Use sharing sets for simple “show me my records” scenarios. Use criteria-based sharing rules for broader access patterns. Always test as a community user to verify access.

  6. SEO for Aura Sites: Aura sites use hash-based URLs by default, which are less SEO-friendly. If SEO is critical, consider LWR or use Salesforce’s SEO-friendly URL option for Aura (available in some templates).

  7. Deployment Order: When deploying Experience Cloud metadata, deploy foundation elements first (objects, fields, profiles, permission sets), then the Experience Bundle, and finally activate and publish in the target org.

  8. Custom Components: You can build custom Lightning Web Components (LWC) and expose them in Experience Builder. This is the recommended approach for complex custom functionality.

  9. Mobile Responsiveness: Experience Cloud templates are responsive by default, but always test your customizations on mobile devices. The preview tool in Builder helps, but real-device testing is essential.

  10. Analytics: Enable Google Analytics or Salesforce’s built-in analytics early. Understanding user behavior helps you iterate on the site experience.

  11. Content Management: If your site needs a blog, news section, or any managed content, invest time in setting up Salesforce CMS properly. Define content types and workflows before content authors start creating.

  12. Moderation Strategy: For community-style sites with user-generated content, set up moderation rules before launching. It is much easier to start with moderation in place than to add it after inappropriate content has been posted.


PROJECT: Setup an Experience Cloud Site for Help Desk Inquiries

In this hands-on project, you will build a customer-facing help desk portal where customers can log in, submit support cases, track their existing cases, browse knowledge articles, and find answers through a self-service experience.

Project Requirements

  • Customers can self-register and log in
  • Authenticated users can create new cases
  • Users can view and track their submitted cases
  • A public knowledge base is accessible to guest users
  • The site is branded with custom colors and logo
  • Case deflection suggests articles before case submission

Step 1: Prepare Your Org

  1. Ensure you have a Developer Edition or sandbox with Experience Cloud enabled
  2. Create a custom field on the Case object called Priority Level (Picklist: Low, Medium, High, Critical) if you want to allow customers to set priority
  3. Create a few Knowledge articles in different categories (Getting Started, Troubleshooting, FAQ, Account Management)
  4. Enable Knowledge:
    • Go to Setup > Knowledge Settings
    • Enable Salesforce Knowledge if not already enabled
    • Create article types and publish a few sample articles
  5. Create an Account called “Self-Service Customers” — this will be the default account for self-registered users

Step 2: Create the Experience Site

  1. Go to Setup > Digital Experiences > All Sites
  2. Click New
  3. Select the Customer Service template (Aura-based) — this template comes with pre-built components for cases and knowledge
  4. Name your site: Help Desk Portal
  5. URL: helpdesk
  6. Click Create

Step 3: Configure Members and Profiles

  1. In the Experience Workspace, go to Administration > Members
  2. Add the following profiles:
    • Customer Community User (for authenticated customer users)
  3. Add relevant permission sets if needed
  4. Go to Setup > Profiles and edit the Customer Community User profile:
    • Grant Read/Create/Edit access to Cases
    • Grant Read access to Knowledge articles
    • Grant Read access to relevant custom objects
    • Configure field-level security to hide internal-only fields (Internal Comments, Escalation Notes, etc.)

Step 4: Configure Self-Registration

  1. In Experience Workspace, go to Administration > Login & Registration
  2. Enable Allow external users to self-register
  3. Set the Profile to Customer Community User
  4. Set the Account to “Self-Service Customers”
  5. Optionally create a custom Registration Handler class:
global class HelpDeskRegistrationHandler implements Auth.RegistrationHandler {
    global User createUser(Id portalId, Auth.UserData data) {
        // Find or create the default account
        Account defaultAccount = [SELECT Id FROM Account WHERE Name = 'Self-Service Customers' LIMIT 1];

        // Create the contact
        Contact c = new Contact();
        c.AccountId = defaultAccount.Id;
        c.FirstName = data.firstName;
        c.LastName = data.lastName;
        c.Email = data.email;
        insert c;

        // Create the user
        User u = new User();
        u.ContactId = c.Id;
        u.Username = data.email + '.helpdesk';
        u.Email = data.email;
        u.FirstName = data.firstName;
        u.LastName = data.lastName;
        u.Alias = data.firstName != null ? data.firstName.left(8) : data.email.left(8);
        u.ProfileId = [SELECT Id FROM Profile WHERE Name = 'Customer Community User' LIMIT 1].Id;
        u.EmailEncodingKey = 'UTF-8';
        u.LanguageLocaleKey = 'en_US';
        u.LocaleSidKey = 'en_US';
        u.TimeZoneSidKey = 'America/Los_Angeles';

        return u;
    }

    global void updateUser(Id userId, Id portalId, Auth.UserData data) {
        User u = [SELECT Id FROM User WHERE Id = :userId];
        u.FirstName = data.firstName;
        u.LastName = data.lastName;
        u.Email = data.email;
        update u;
    }
}

Step 5: Set Up Sharing

  1. Go to Setup > Sharing Settings

  2. Set the Case external OWD to Private

  3. Create a Sharing Set:

    • Go to Setup > Digital Experiences > Settings > Sharing Sets
    • Name: “Customer Case Access”
    • Profiles: Customer Community User
    • Object: Case
    • Access Mapping: Grant access when Case.AccountId matches the user’s account
    • Access Level: Read/Write
  4. For Knowledge Articles (guest user access):

    • Create a Guest User Sharing Rule on the Knowledge Article object
    • Criteria: IsPublished = TRUE
    • Grant Read access to the Guest User group

Step 6: Design the Site in Experience Builder

  1. Open Experience Builder from the Workspace

  2. Configure the Theme:

    • Open the Theme panel
    • Set your brand colors:
      • Primary: Your brand’s main color (e.g., #1B5E9E)
      • Action: A contrasting action color (e.g., #FF6B35)
    • Upload your company logo
    • Set font families
  3. Configure the Home Page:

    • Add a Hero Banner with a welcoming message: “Welcome to the Help Desk Portal”
    • Add a Search Bar prominently at the top
    • Add a Case Deflection component — this shows related knowledge articles as users type their issue
    • Add a Topic Catalog showing featured knowledge categories
    • Add a Tile Menu with quick links:
      • Submit a Case
      • My Cases
      • Knowledge Base
      • Contact Us
  4. Configure the Case Pages:

    • Navigate to the Case List page
    • Ensure the case list shows relevant columns (Case Number, Subject, Status, Priority, Created Date)
    • On the Case Detail page, configure which fields are visible
    • Add a Feed component so customers can post comments on their cases
    • Create a New Case page with a Flow:
      • Build a Screen Flow for case creation
      • Include fields: Subject, Description, Priority Level, Category
      • Add the Case Deflection component before the submission step
      • On submission, create the case and redirect to the case detail page
  5. Configure the Knowledge Pages:

    • Ensure the Knowledge Article List page is accessible
    • Configure categories and filters
    • On the Article Detail page, add a feedback component (“Was this article helpful?”)
  6. Configure the Navigation Menu:

    • Home
    • My Cases (links to Case list page)
    • Knowledge Base (links to Knowledge article list)
    • Submit a Case (links to case creation page or Flow)

Step 7: Configure Guest User Access (Public Knowledge Base)

  1. Go to the Guest User Profile for your site
  2. Grant Read access to Knowledge articles
  3. In the Builder, mark the following pages as Public:
    • Home page
    • Knowledge Article List page
    • Knowledge Article Detail page
  4. Ensure the Case creation and Case list pages are NOT public (require login)
  5. Add a prominent Login button on public pages

Step 8: Set Up Email Notifications

  1. In Experience Workspace, go to Administration > Emails
  2. Configure the following email templates:
    • Welcome Email — sent when a new user registers
    • Case Created — confirmation when a case is submitted
    • Case Updated — notification when case status changes
  3. Set the From Email Address to a branded address (e.g., support@yourcompany.com)
  4. Create a Flow or Process Builder automation:
    • When a Case status changes, send an email notification to the case contact

Step 9: Preview and Test

  1. In Builder, use the Preview button
  2. Preview as different user types:
    • Guest User — verify public knowledge access, login prompt for case pages
    • Customer Community User — verify case creation, case list, article access
  3. Test on mobile devices using the device preview toggles
  4. Walk through the full user journey:
    • Visit site as guest, browse knowledge articles
    • Click “Submit a Case” and be prompted to log in
    • Self-register as a new user
    • Log in and submit a new case
    • View the case in “My Cases”
    • Log out and verify case data is not visible as guest

Step 10: Publish and Activate

  1. Review all pages one final time
  2. Click Publish in Experience Builder
  3. Go to Setup > All Sites and click Activate
  4. Share the URL with test users for UAT (User Acceptance Testing)
  5. Monitor the built-in analytics dashboard for engagement metrics

Expected Outcome

After completing this project, you will have a fully functional help desk portal with:

  • A branded, responsive customer portal
  • Self-registration and login capabilities
  • Case creation with deflection (suggesting articles before submission)
  • A case tracking dashboard for authenticated users
  • A public knowledge base accessible to anyone
  • Email notifications for case updates
  • Proper security with sharing sets ensuring users only see their own cases

This was an extensive walkthrough of Experience Cloud in Salesforce. We covered everything from creating sites and understanding the Aura vs LWR template decision, to managing external users, building pages with the Experience Builder, configuring authentication and security, implementing content management and gamification, and finally deploying your site to production. Experience Cloud is one of those features that touches almost every part of the Salesforce platform, so mastering it gives you a deep understanding of how Salesforce extends beyond internal CRM.

In the next part of our Salesforce series, Part 23: Emailing in Salesforce, we will explore how Salesforce handles email — from email templates and email alerts to Email-to-Case, mass email, email deliverability settings, and integrations with external email services. Stay tuned!