# Slot

Learn how slots make it easy to update content without code changes.

Slots are placeholders for content that define where content goes and what type of content you can use, like a hero section, an announcement bar, or a banner that shows related products on a product page.

![Slot](/assets/explanation/slot/overview.png)

Each slot is associated with a specific [component](/explanation/component) that defines its structure. While components are reusable in different contexts, slots are more context-specific.

For example, a **Banner** component might be shared by multiple slots, such as the **Home banner** for the homepage and the **Product banner** slot for product pages.

## Default content

Default content is what appears when no personalized or localized content is available, ensuring your application always has something to display.

> **Question: When is the default content used?**
>
> These are the most common scenarios where the default content is used:
>
> - **No personalized content**\
>   When a user does not fall into any of the experiences.
>
> - **No localized content**\
>   When an experience does not have content for a specific locale.
>
> - **Static rendering**\
>   When the application explicitly requests static content (e.g. pre-rendering).
>
> - **Unexpected errors**\
>   When something goes wrong retrieving the content.

The default content supports all the features described in the [Definition reference](/reference/content/definition/introduction), including [dynamic values](/reference/content/definition/introduction#dynamic-values) and localization.

## Localization

Set a default content for each locale your application supports.

![Localization](/assets/explanation/slot/localization.png)

When you do not provide default content for a specific locale, the default locale content is used instead.

> **Add-on**
>
> This feature is offered as an add-on. [Contact sales](https://croct.com/contact/sales?message=I%E2%80%99d+like+to+add+an+add-on+to+my+plan.\&subject=plan-upgrade) for more information.

## Versioning

We handle versioning automatically for you, [just like with components](/explanation/component#versioning). Whenever you make changes to a component that affect the content structure in a way that could break your application, we create a new version of the component to make sure everything continues to work properly.

This is an overview of the slot versioning process:

1. You modify the component schema to make the desired changes.

2. We create a new version with the updated schema and keep the old version untouched.

3. While you adjust the content of affected slots or experiences, we continue to serve the old version to your application.

4. Lastly, you bump the version number and apply the necessary changes to your application.

> **Question: How do I know which slots are affected?**
>
> We indicate the exact slots that require your review whenever you make a breaking change:
>
> ![Slot impact alert](/assets/explanation/slot/slot-impact-alert.png)
>
> It is important to note that this alert is just a reminder. You can take your time to review and update as needed — everything will continue to work as usual.
>
> Another way to identify which slots need your attention is to look at the version number next to each slot in the slot list:
>
> ![Slot list](/assets/explanation/slot/slot-list-version.png)
>
> For reference, these are the step-by-step instructions to update a slot:
>
> 1. Click **Slots** in the left sidebar.
>
> 2. Find the slot you want to update and click it.
>
> 3. Click the content with the warning indicator.
>
> 4. Apply the necessary changes and click **Save**.
>
> 5. Repeat the last two steps for every content with the warning indicator.
>
> 6. Click **Save** in the bottom right of the page to finish.
>
> After you have updated the slot, you will see a reminder to increase the version number in your application code:
>
> ![Version bump alert](/assets/explanation/slot/version-bump-alert.png)
>
> Once you have saved your changes, you will see that the version number in the selector at the top right of the page has increased. You can still access and edit previous versions of the slot by selecting them in the version selector on the top right of the page.
>
> Last but not least, if the affected slot is used in an experience, you will also need to reflect the changes in the experience's content.

Note that versioning only takes effect if you explicitly specify the slot version in your application code. Until you do, the application will continue to use the content of the specified version.

> **What is the risk of not specifying the version?**
>
> Not specifying means you are using the latest version of the slot, so any changes will take effect immediately, potentially breaking your application.

## Status

We show the status of each slot so you can easily understand how it's being used. This helps you confirm which version is currently live on the website, identify content that may need updating, and choose the right version when setting up [experiences](/explanation/experience/introduction) or experiments.

![Status indicator](/assets/explanation/slot/status-indicator.png)

You can hover over the status indicator to view more details and prevent confusion during rollouts.

![Status details](/assets/explanation/slot/status-details.png)

Here's what each color means:

- Grey Indicates we have not received any request for that slot yet.
- Green Indicates we are currently receiving requests for that slot.
- Red Indicates we used to receive requests for that slot, but we have not received any in the last 7 days.

## Explore

- [Components](/explanation/component): Discover how slots and components work together.
- [Schema](/reference/content/schema): Learn more about the available schema types and options.
