> ## Documentation Index
> Fetch the complete documentation index at: https://learn.social.plus/llms.txt
> Use this file to discover all available pages before exploring further.

# Discovery Widget Management

> Guide for administrators to create topics, preview recommended posts, and get the embed code for the Discovery Widget in the Console

<Info>
  **Discovery Widget brings topic-based content discovery to the pages people already visit.** Surface relevant community conversations on homepages, category pages, and other browsing surfaces, so people can discover the value of your community without first searching for it.

  Your team configures each topic here in the Console. Your app then uses the topic's ID to display the recommended posts, either with the UIKit's [Discovery Widget](/uikit/components/social/discovery-widget) carousel or with the SDK's [topic-based content discovery](/social-plus-sdk/social/discovery-engagement/feed/curated-content) APIs. This page explains how to add a topic, filter which posts can appear, preview the result, and get the embed code.
</Info>

<CardGroup cols={3}>
  <Card title="Add" icon="plus">Create a topic and its topic ID</Card>
  <Card title="Filter" icon="filter">Limit posts by author type, role, post type, and sentiment</Card>
  <Card title="Preview" icon="eye">See the ranked posts before you save</Card>
  <Card title="Exclude" icon="ban">Stop a post from being recommended in any topic</Card>
  <Card title="Embed" icon="code">Copy the iOS, Android, or Web snippet</Card>
  <Card title="Control" icon="toggle-on">Activate, deactivate, or delete a topic</Card>
</CardGroup>

## Accessing the Discovery Widget

<Steps>
  <Step title="Open Discovery widget">In the Console sidebar, under **Contents**, select **Discovery widget**.</Step>
  <Step title="Review your topics">The page lists every topic you have added, with its **Topic**, **Topic ID**, **Active** state, and **Actions**. The subtitle shows how many of the 25 available topics you have used.</Step>
</Steps>

Each row has three actions:

| Action                    | What it does                                                                          |
| ------------------------- | ------------------------------------------------------------------------------------- |
| **Get embed code** (`<>`) | Opens the embed snippets for this topic. See [Embedding a topic](#embedding-a-topic). |
| **Edit topic** (pencil)   | Opens the topic's filters and preview. See [Editing a topic](#editing-a-topic).       |
| **Delete topic** (bin)    | Permanently deletes the topic. See [Deleting a topic](#deleting-a-topic).             |

<Note>
  If the Discovery Widget is not enabled for your network, the page shows **Access required** instead. Select **Contact support** to have it enabled.
</Note>

## Adding a Topic

<Steps>
  <Step title="Start a new topic">Select **Add topic**. The **Adding topic** page opens.</Step>
  <Step title="Enter the topic">Type the subject you want to surface, for example "Skincare" or "Movies". The topic can be up to 60 characters.</Step>
  <Step title="Check the Topic ID">The Console generates a **Topic ID** from the topic as you type. You can change it. See [Topic ID rules](#topic-id-rules).</Step>
  <Step title="Set content filters">Optionally narrow which posts can be recommended. See [Content filters](#content-filters).</Step>
  <Step title="Preview content">Select **Preview content**. The right-hand panel lists the posts that match the topic and filters, in recommendation order. You need to preview before you can add the topic, and preview again if you change the topic or a filter.</Step>
  <Step title="Add the topic">Select **Add topic**. The Console confirms with "Topic added" and the topic appears in the list.</Step>
</Steps>

If you leave the page before adding the topic, the Console asks "Leave without adding this topic?" and discards your changes if you select **Leave**.

### Topic ID rules

The topic ID identifies the topic in the UIKit widget and the SDK, so your app needs it to display recommendations.

* It uses lowercase letters, numbers, and hyphens, and cannot start with a hyphen. The Console converts spaces and other characters as you type: "Skin Care" becomes `skin-care`.
* It must be 2 to 60 characters long.
* It must be unique in your network. If it is already in use, the Console shows "This Topic ID already exists."
* It cannot be changed after the topic is added.

### Topic limit

A network can have up to **25** topics. When you reach the limit, **Add topic** is disabled. Delete a topic you no longer need to add a new one. Deactivating a topic does not free up a slot.

## Content Filters

Filters decide which posts are eligible for a topic. They apply to the preview and to every widget that shows the topic.

<AccordionGroup>
  <Accordion title="Exclude negative sentiment">
    Leaves out posts that [Sentiment Analysis](/analytics-and-moderation/dashboard-new/sentiment-analysis) classifies as negative. The filter depends on Sentiment Analysis, and its badge shows one of these states:

    * **Active**: the filter can be used. It is based on your topic configuration in the Dashboard.
    * **Inactive**: your network does not have Sentiment Analysis. Select **Contact support** to upgrade.
    * **Inactive** until your Sentiment Analysis quota resets, if the quota is used up.
  </Accordion>

  <Accordion title="Author type">
    Choose whose posts can appear:

    * **All author types** (default)
    * **Non-brand accounts**: posts from community members only
    * **Brand accounts only**: posts from your [brand accounts](/analytics-and-moderation/console/settings/branding)
  </Accordion>

  <Accordion title="Author role">
    Keep **All roles**, or choose **Select roles** and pick one or more roles. Only roles that already exist in your network are listed.
  </Accordion>

  <Accordion title="Post type">
    Keep **All types**, or choose **Select types** and pick from **Text**, **Image**, **Video**, **Poll**, and **Clips**.
  </Accordion>
</AccordionGroup>

Select **Clear** in the Content filters header to reset all filters.

## Previewing Recommended Content

The preview panel shows the posts a widget for this topic would display, headed **Contents matching "\<topic>"** with the number of matches.

Posts are **sorted by rank**, from the highest to the lowest recommendation score. Recommendations use topic relevance as the main signal, with post engagement and freshness helping order relevant conversations. They are based on the topic rather than a reader's personal interests. Each card shows:

* The community the post was published in
* The author, with a badge for brand accounts, and when the post was created
* The post text and media
* Reaction and comment counts
* An **Exclude** button

Recommendations update daily. A new post may not appear in the preview until the next update.

What a reader sees in your app can differ from the preview:

* Viewer-specific restrictions, such as blocked authors, can remove posts for that reader.
* The UIKit widget shows only text, image, video, clip, and poll posts.
* The UIKit widget hides itself when fewer than 3 posts can be displayed, so filters that are too narrow can make it disappear. The threshold can be changed in the widget integration.

### Excluding a post

Select **Exclude** on a card to stop recommending that post. The Console asks you to confirm: "This content won't be recommended for any topic after you exclude it." Exclusion applies across all topics, not only the one you are editing.

There is a limit on how many posts a network can exclude. When you reach it, the Console shows **Exclusion limit reached** and no more posts can be excluded.

## Editing a Topic

<Steps>
  <Step title="Open the topic">Select the **Edit topic** (pencil) action on the topic's row. The page opens with the saved filters and preview.</Step>
  <Step title="Adjust filters">Change the content filters and select **Preview content** to see the new result.</Step>
  <Step title="Save">Select **Save changes**. The Console confirms with "This topic has successfully been updated."</Step>
</Steps>

The topic name and topic ID cannot be edited. Select the **Topic ID** badge under the title to copy the ID. Changes apply to every widget that already shows the topic; the embed code in your app does not need to change.

## Embedding a Topic

<Steps>
  <Step title="Open the embed code">Select **Get embed code** (`<>`) on the topic's row, or **Code** on the edit page.</Step>
  <Step title="Choose a platform">Select **iOS**, **Android**, or **Web**.</Step>
  <Step title="Copy the snippet">Select the copy icon, then add the snippet to your app.</Step>
</Steps>

The snippet already contains the topic ID. The widget has no default destination for a selected card, so your app needs to set where a card opens, such as a post detail page or your hosted community. See [Discovery Widget](/uikit/components/social/discovery-widget) for the full integration.

## Activating and Deactivating a Topic

Use the **Active** toggle on a topic's row.

* **Deactivate**: the Console asks "Deactivate this topic?" After you confirm, the topic stops showing content everywhere it is embedded, and the UIKit widget hides itself. The topic, its filters, and its topic ID are kept.
* **Activate**: the topic shows content again in every existing embed. No code change is needed.

Deactivate a topic when you want to pause it temporarily, for example during a campaign change.

## Deleting a Topic

Select **Delete topic** (bin) on the topic's row, then **Delete** to confirm. Deleting permanently removes the topic and stops its widget from showing content in your app. This cannot be undone.

<Warning>
  Before deleting a topic that is live in your app, remove the widget from your app or switch it to another topic ID. Otherwise the widget hides itself, and any container your app placed around it stays empty.
</Warning>

## Who Can Manage Topics

Access to the Discovery widget page requires the **Can manage discovery widget** permission, in the **Discovery widget** category of an admin role. Admins without it do not see the page in the sidebar. See [Admin Access Control](/analytics-and-moderation/console/management/admin-access-control) to assign it.

## Troubleshooting

| Issue                                         | Likely cause                                                                | Resolution                                                                                                                                     |
| --------------------------------------------- | --------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **Add topic** or **Save changes** is disabled | The preview is out of date, or the Topic ID is too short                    | Select **Preview content** again; check the Topic ID has at least 2 characters                                                                 |
| "This Topic ID already exists"                | Another topic uses the same ID                                              | Enter a different Topic ID                                                                                                                     |
| "No matching content found"                   | No posts match the topic and filters yet                                    | Try another topic, loosen the filters, or check back after the next daily update                                                               |
| "Couldn't preview content"                    | Too many preview requests in a short time                                   | Wait a moment and try again                                                                                                                    |
| **Exclude negative sentiment** is inactive    | Sentiment Analysis is not enabled, or its quota is used up                  | Contact support, or wait for the quota to reset                                                                                                |
| Cannot add a topic                            | The network already has 25 topics                                           | Delete a topic you no longer need                                                                                                              |
| Widget doesn't appear in the app              | The topic is deactivated or deleted, or fewer than 3 posts can be displayed | Reactivate the topic, update the app to use an existing topic ID, or loosen the filters                                                        |
| Selecting a card in the app does nothing      | The app has no destination set for cards                                    | Set where a card opens in the widget integration. See [Handle card selection](/uikit/components/social/discovery-widget#handle-card-selection) |
| Page shows **Access required**                | The Discovery Widget is not enabled for your network                        | Contact support                                                                                                                                |

## Next Steps

<CardGroup cols={2}>
  <Card title="Discovery Widget (UIKit)" icon="window-maximize" href="/uikit/components/social/discovery-widget">Embed the widget in iOS, Android, and Web apps</Card>
  <Card title="Topic-based Content Discovery (SDK)" icon="code" href="/social-plus-sdk/social/discovery-engagement/feed/curated-content">Build your own presentation with the SDK</Card>
</CardGroup>

<CardGroup cols={2}>
  <Card title="Sentiment Analysis" icon="face-smile" href="/analytics-and-moderation/dashboard-new/sentiment-analysis">Understand the sentiment used by the filter</Card>
  <Card title="Branding" icon="badge-check" href="/analytics-and-moderation/console/settings/branding">Set up brand accounts</Card>
</CardGroup>
