---
schema_version: "1"
id: b7a28f97bf12925b9468a1ee16f1a115c1b3371041ab9e0c02f2a1540f2f544f
title: Content Libraries in B2C Commerce
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/cc/264-0-0/b2c_content_libraries.md
canonical_url: https://help.salesforce.com/s/articleView?id=cc.b2c_content_libraries.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 2790c3f194fd366ef43e4f7b5e6d994d4c5ea5e8b6c2e116f357204c2626d475
description: In Salesforce B2C Commerce, use the private library that was created when your site was created. You can also create a library that is shared across multiple sites.
products:
  - Commerce
  - B2C Commerce
release: "264"
---
# Content Libraries in B2C Commerce

In Salesforce B2C Commerce, use the private library that was created when your site was created. You can also create a library that is shared across multiple sites.

A site can use its own private library or it can use a shared library, but not both. Multiple sites can use the same shared library. A site can't use another site's private library. A site always has a library assigned to it. If it's the only library assigned to that site, you can't unassign a library from the site.

A maximum of 200 shared content libraries per instance. This limit doesn't apply to private content libraries.

See Copying Content into a Shared Library, to move your private library content into a shared library. See Site-Specific Content if you want to use shared libraries, but have some content that remains site-specific.

The following table describes the types of libraries:

  
| Library type | Usage | Create and delete access |
| --- | --- | --- |
| Site | The library used by the site - private or shared | NA - this is an assignment |
| Private | Can only be the site library for the owning site | No |
| Shared | Can be the site library for multiple sites | Yes, with permission |

## Shared Library Examples

General Example

An organization has five content libraries and three sites, as follows:

  
| Library | Type | Site Assignments |
| --- | --- | --- |
| Library - Content1 | Private | Content1 |
| Library - Content2 | Private | Content2 |
| Library - Content3 | Private |   |
| Shared Library1 | Shared | Content3 |
| Shared Library2 | Shared |   |

In this example, the Content1 and Content2 sites use private libraries as site libraries, while the Content3 site uses the shared Shared Library1 library. The other libraries aren’t assigned to any sites. The merchant wants the `Content2` site to use the `Shared Library1` shared library as well. To assign the libraries, the administrator edits the `Shared Library1,` clicks **Add**, and then selects **Content2**. The results appear as follows:

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col>
          <col>
          <col>
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d182981e229">Library</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d182981e232">Type</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d182981e235">Site Assignments</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Library" class="slds-cell-wrap" style="vertical-align:top;" headers="d182981e229 ">Library - Content1</td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d182981e232 ">Private</td>

            <td data-label="Site Assignments" class="slds-cell-wrap" style="vertical-align:top;" headers="d182981e235 ">Content1</td>

          </tr>
          <tr class="">
            <td data-label="Library" class="slds-cell-wrap" style="vertical-align:top;" headers="d182981e229 ">Library - Content2</td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d182981e232 ">Private</td>

            <td data-label="Site Assignments" class="slds-cell-wrap" style="vertical-align:top;" headers="d182981e235 ">&nbsp;</td>

          </tr>
          <tr class="">
            <td data-label="Library" class="slds-cell-wrap" style="vertical-align:top;" headers="d182981e229 ">Library - Content3</td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d182981e232 ">Private</td>

            <td data-label="Site Assignments" class="slds-cell-wrap" style="vertical-align:top;" headers="d182981e235 ">&nbsp;</td>

          </tr>
          <tr class="">
            <td data-label="Library" class="slds-cell-wrap" style="vertical-align:top;" headers="d182981e229 ">Shared Library1</td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d182981e232 ">Shared</td>

            <td data-label="Site Assignments" class="slds-cell-wrap" style="vertical-align:top;" headers="d182981e235 ">
              <p>Content3</p>
              <p style="margin-bottom:0;">Content2</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Library" class="slds-cell-wrap" style="vertical-align:top;" headers="d182981e229 ">Shared Library2</td>

            <td data-label="Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d182981e232 ">Shared</td>

            <td data-label="Site Assignments" class="slds-cell-wrap" style="vertical-align:top;" headers="d182981e235 ">&nbsp;</td>

          </tr>
        </tbody>
      </table>

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-cc-b2c_merchandiser_administrator-264-0-0-production-enus/ea76f372-6cfa-42a6-8e7c-05c6df7abed8/images/icon_note.png)

Note Before reassigning libraries, make sure that you're clear on your objectives to avoid inadvertently removing content from your site.

Site reassignment Example

B2C Commerce doesn't let you create a situation where a site has no library. The following example shows two sites (site1 and site2) and two libraries (Shared1 and Private1) as follows:

  
| Library | Type | Site Assignments |
| --- | --- | --- |
| Private1 | Private | Site1 |
| Shared1 | Shared | Site2 |

There’s no Add button on the Library page General tab when you edit the Private1 library. The button is unavailable because you can't assign a private library to another site. However, the Add button appears when you edit the Shared1 library, because you can assign both Site1 and Site2 to the Shared1 library. Assign a currently unassigned site to the library but you can't unassign a site. In this case, only Site1 shows as a selection in the Reassign Sites window.

## Content Library Import and Export

You can import and export content libraries as job steps or through Business Manager, with site-specific scope for private libraries. For information about the library.xsd schema, import and export locations, pipelets, and how private and shared libraries are represented in a site archive, see [Content and Content Library Folder Object Import and Export](https://help.salesforce.com/s/articleView?id=cc.b2c_content_and_content_library_folder_object_import_export.htm&release=264.0.0&type=5 "Use the library.xsd schema to import and export content and content libraries.").

## Permissions

To be able to view, create, and delete content and shared content libraries, you must be assigned to both `Business Manager Module` and `Functional` permissions. Create and delete libraries or change the assignment of libraries only on staging and sandbox instances. This functionality isn’t available on development or production instances. If you change libraries on staging instances, you can transfer the changes to development or production instances using data replication.

- Click App Launcher ![App Launcher](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-cc-b2c_merchandiser_administrator-264-0-0-production-enus/ea76f372-6cfa-42a6-8e7c-05c6df7abed8/cc/b2c_merchandiser_administrator/images/appLauncher.png), and then select **Administration** | **Organization** | **Roles & Permissions**. Select the **Administrator** role.
- To grant permission to Content Libraries, click the **Business Manager Modules** tab.
- To grant permission to Manage\_All\_Libraries, click the **Functional Permissions** tab.

See Roles and Permissions and Using Business Manager Module Permissions.

#### See Also

- [Manage Content Assets in B2C Commerce (Video)](https://salesforce.vidyard.com/watch/21E2Y7FBRiApERL9GmcaAm)