MonetizationOS Docs

Add an Experience

Adding an Experience

To add a new experience, navigate to the Experiences section from the left-hand navigation menu and click 'Add Experience'.

A modal will open asking you to choose an experience type. The available options are:

  • HTML: For banners or messages built with HTML, CSS, and JavaScript. Use the MonetizationOS Assistant to generate your experience from a prompt, or paste in your own code and iterate from there. Best for teams who want creative flexibility or are already comfortable with HTML.
  • App Experience: For schema-driven components rendered by your own frontend library. Fill in the content fields via an auto-generated form — no code required. If the schema supports offers, the experience automatically gains offer configuration. For more information, see our Schemas guide.
  • JSON (Coming Soon): For structured data responses, ideal for API integrations and chatbot interfaces.
  • Text (Coming Soon): For plain text responses, ideal for simple or free-form messages and notifications.

Select the relevant option, then click 'Next'.

Configure

You will be prompted to give your experience a name, slug, and optional description. By default, the slug will be a hyphenated version of the name you give the experience, but you can override this if you wish.

If you have Brands enabled, you will also need to link the experience to one or more brands.

Once complete, click 'Next'.

Choose a Schema

If you selected App Experience, you will be prompted to choose a schema to drive the experience.

The schema defines the content fields available for you to fill out. Some schemas also support offer configuration, which allows you to attach offers to slots within the experience. Your list of available schemas will show whether each schema accepts offers. For more information, see our Schemas guide.

Select the relevant schema, then click 'Next'.

Experience Editor

After creating your experience, you will be taken to the experience editor. The editor is broken into three tabs: Editor, Surface Experience Slots, and Manage.

Editor

The Editor tab looks different depending on the experience type you have selected.

HTML Experience

The editor opens in preview mode, showing a live preview of your experience as you work. You can describe what you want to create using the MonetizationOS Assistant and it will generate it for you. To edit the code directly, switch to code view using the Code/Preview Switcher.

On the right-hand side, you will see the MonetizationOS Assistant panel with three tabs: Assistant, Offers, and Variables.

Assistant

Generate or iterate on your experience using a prompt. You will see suggested prompts, a chat box, and the option to attach an image. Attaching an image will prompt the Assistant to generate an experience in that style.

Offers

To configure offers within the experience, click 'Choose a Presentation Schema'.

Selecting a Presentation Schema tells MonetizationOS how each offer should be displayed and defines which offers can be attached to this experience.

Select the relevant schema from the dropdown, then click 'Attach Schema'.

Once a schema is attached, you will see an empty offer slot. Click the plus icon to add offers to the slot, or the three-dot menu to edit or delete it. You can add multiple slots by clicking 'Add Slot'. Each slot is displayed individually within the experience, and each slot can contain as many offers as you would like. The offers shown to an end user will depend on the priority order set and any filter options configured on the offer.

When an offer has been added to a slot, you can:

  • Drag it to reorder
  • Click through to the offer configuration page
  • Delete the offer from the slot

To change your Presentation Schema, use the edit or delete icon at the bottom of the section.

Once offers are attached, they are available as Mustache variables within your experience template, allowing you to render offer data such as names, prices, and descriptions directly in your HTML.

Variables

Add template variables to inject dynamic content into your experience, such as a user's name or their remaining metered views.

To add a variable, click 'Add Variable'. You will be prompted to give it a key and a value. The key should match the reference used within a workflow to ensure the variable is populated correctly. The value is used for preview purposes only. For example, if your key is first-name and your value is James, your experience preview will display "James" wherever that variable is referenced. Once configured, click 'Done'.

Use the three-dot menu to edit or delete a variable, or click 'Add Variable' to add another. Preview values let you simulate real data while previewing your experience in the editor.

Variables are rendered using Mustache templating. For more information, see the Mustache documentation.

App Experience

The editor displays a form generated from the schema you selected. Fill in the relevant content fields and click 'Save' when done. You can also click 'JSON' to add or edit the experience content as JSON directly.

The MonetizationOS Assistant panel on the right-hand side contains two tabs: Assistant and Offers.

Assistant

Use this to write and add copy to the form fields, or to edit the JSON directly.

Offers

Configure offers for the experience in the same way as an HTML experience. See the Offers tab section above for full details.

Please note: App experiences do not support template variables.

Surface Experience Slots

The Surface Experience Slots tab shows all experience slots available within your surface workflows. Experience slots are the named connection points in your surface and component workflows. Assigning an experience to a slot controls what users see when the workflow returns that slot.

This tab displays cards for each available slot. Each card includes:

  • Slot Name and Description
  • Facet: Whether the slot is for web content, JSON, or text
  • Status: Whether the slot is available or occupied

If a slot is available, click 'Assign' to link it to this experience.

If a slot is already assigned to this experience, click 'Unassign' to remove the link.

If a slot is occupied by another experience, you will see details of the experience currently linked. Click 'Override' to replace it with this experience.

You can filter the tab to show all experience slots, available slots only, or occupied slots only.

For information on adding experience slots to a surface, see our Add an Experience Slot guide.

Manage

The Manage tab allows you to update the name, description, and linked brands for your experience. This is also where you can delete the experience. For more information, see our Manage an Experience guide.

On this page