Skip to content

Objectives and interactions

EventsMay 11, 2026·10 min read·Updated November 11, 2026

Objectives are the units of progress in an event. Each objective can have sub-objectives nested under it, and each can carry a set of customer interactions (text, image, audio, or video) that you can send to a customer-facing screen during a session. The event tracker uses this structure to record completion times, count interactions, and surface the right content at the right moment.

Getting started

Open Events > Event settings, pick an event, and switch to the Objectives tab in the event editor.

How it works

The Objectives tab is a two-pane editor. On the left, the list panel shows every objective for the event with drag handles for reordering. Parent objectives are numbered 1, 2, 3...; sub-objectives nested under a parent are numbered 1a, 1b, 1c.... Click any objective to open it in the detail panel on the right.

The detail panel has two sections:

  • Details: name, parent assignment, description, goal, and a single solution image
  • Customer interactions: a list of interactions of type text, image, audio, or video that can be sent to the customer screen during the event tracker session. Each interaction can be flagged to count as a hint for reporting

Objectives save individually as you click Save in the detail panel; there's no global save for the entire tab. The Communication screen settings button at the top of the list panel jumps to the customer-facing display configuration. That page controls the timer, interaction icons, intro/outro media, layout grid, fonts, and colors of the screen customers see during a live session. See Communication screen settings for the full configuration walkthrough.

Step-by-step guide

Add an objective

Open the event editor and switch to the Objectives tab, then click Add objective at the top of the list panel. The detail panel opens on a fresh objective with these fields:

FieldDescription
NameRequired-style. Placeholder reads "Objective name"
Parent objectiveOptional dropdown. Pick another objective to nest this one under. Defaults to None (top level). Hidden when no parent options are available
Objective descriptionOptional textarea (2 rows). Placeholder reads "Objective description"
Objective goalOptional textarea (2 rows). Placeholder reads "Objective goal"
Objective imageOptional. Drag-to-upload or click the upload button to select a file. Preview includes a remove button

Click Save at the bottom of the detail panel. The objective appears in the list panel with the next available number.

Add a sub-objective under a parent

  1. In the list panel, hover the parent objective
  2. Click the Add sub-objective icon button next to its row (tooltip: "Add sub-objective")
  3. The detail panel opens with Parent objective pre-set to the parent you clicked
  4. Fill in the rest of the fields and click Save
  5. The sub-objective shows up nested under its parent and labeled 1a, 1b, etc.

Reorder objectives

  1. In the list panel, grab the drag handle on any row
  2. Parent objectives use a top-level drag handle; sub-objectives use a nested drag handle
  3. Drop the row in its new position
  4. The new order saves automatically

You can drag a sub-objective to a different parent, or change its Parent objective field in the detail panel to move it. The label numbers (1a, 2b, etc.) update to match the new structure.

Add a customer interaction

Open an objective in the detail panel, scroll to the Customer interactions section, and click Add interaction. Pick the Interaction type:

TypeWhat it sends
TextA text message rendered on the customer-facing screen
ImageAn uploaded image (any format the browser supports)
AudioAn uploaded audio file. Some browsers block autoplay; see the section on allowing autoplay below
VideoAn uploaded video file. Same autoplay caveat as audio

Fill in the type-specific input. Text uses a textarea labeled Interaction content with placeholder "Enter the interaction text that will be shown to the customer"; Image / Audio / Video use a file upload with preview (image shows inline, audio and video show an info alert about autoplay being blocked). Add an optional Description (optional) textarea (2 rows) for internal context, toggle Count as a hint if this interaction should increment the hint counter for the session, and click Done to add it to the list.

Edit or delete a customer interaction

  1. In the Customer interactions list, click the pencil icon on any interaction to open it inline for editing
  2. Update the content, description, or Count as a hint flag
  3. Click Done to save the edit
  4. Or click the trash icon on any interaction to delete it

Allow autoplay on the customer screen

Browsers block sound and video from playing automatically until you give the site permission. Set this up once in the browser on the customer-facing screen, and audio and video interactions will play the moment you send them. The same permission covers event start media, event completion media, pre-interaction sounds, and background music. The customer screen runs on the console website, so grant the permission to console.offthecouch.io.

Google Chrome

  1. Open the customer screen page in Chrome
  2. Click the icon to the left of the web address (a lock or tune icon)
  3. Click Site settings
  4. Find Sound and change it to Allow
  5. Close the settings tab and refresh the customer screen page

When Sound is set to Allow for a site, Chrome lets that site autoplay audio and video with sound.

Microsoft Edge

  1. Open the customer screen page in Edge
  2. Click the lock icon to the left of the web address
  3. Click Permissions for this site
  4. Find Media autoplay and change it to Allow
  5. Refresh the customer screen page

If Media autoplay is not listed, open Edge's Settings, go to Cookies and site permissions > Media autoplay, and add the site under the Allow list.

Mozilla Firefox

To allow autoplay for just the customer screen site:

  1. Open the customer screen page in Firefox
  2. Click the padlock icon to the left of the web address, then click Connection secure > More information
  3. In the Page Info window, open the Permissions tab
  4. Find Autoplay, uncheck Use Default, and select Allow Audio and Video
  5. Close the window and refresh the customer screen page

To allow autoplay for all websites instead: open the Firefox menu, click Settings, go to Privacy & Security, scroll to the Permissions section, click Settings next to Autoplay, set Default for all websites to Allow Audio and Video, and click Save Changes.

Safari on Mac

  1. Open the customer screen page in Safari
  2. From the menu bar, choose Safari > Settings for This Website
  3. Set Auto-Play to Allow All Auto-Play
  4. Refresh the customer screen page

You can also manage this from Safari > Settings > Websites > Auto-Play, where each open site can be set individually.

Safari on iPad or iPhone

Safari on iPad and iPhone has no per-site autoplay permission. Tap anywhere on the customer screen page once after it loads; that unlocks audio and video playback until the page is refreshed or closed.

Tip: after changing the setting, send a test audio interaction from the event tracker to confirm sound plays without anyone touching the customer screen.

Delete an objective

  1. Open the objective in the detail panel
  2. Click the delete control in the detail panel header
  3. Confirm the prompt
  4. The objective and any sub-objectives under it are removed

Reference

Objective fields (detail panel: Details section)

FieldRequiredTypeNotes
NameRecommendedTextPlaceholder "Objective name"
Parent objectiveNoDropdown"None (top level)" by default; hidden when no available parents
Objective descriptionNoTextarea (2 rows)Internal context
Objective goalNoTextarea (2 rows)What success on this objective looks like
Objective imageNoFile uploadDrag-to-upload or click; preview with remove button

Customer interaction types

TypeStorageCustomer experience
TextStored as text contentRenders the text on the customer screen
ImageUploaded fileRenders the image inline on the customer screen
AudioUploaded filePlays on the customer screen (autoplay blocking may apply)
VideoUploaded filePlays on the customer screen (autoplay blocking may apply)

Customer interaction fields

FieldTypeNotes
Interaction typeDropdownText, Image, Audio, or Video
Interaction contentTextareaRequired for Text type
File uploadFile inputRequired for Image, Audio, or Video
Description (optional)Textarea (2 rows)Internal context for staff
Count as a hintCheckboxWhen on, the interaction counts toward the session's hint total in reports

List panel elements

ElementDescription
Parent objective rowNumbered 1, 2, 3...; shows solution image thumbnail, name, and description
Sub-objective rowNested under parent; numbered 1a, 1b, 1c...
Drag handle (parent)Reorders parent objectives at the top level
Drag handle (child)Reorders sub-objectives within a parent
Add sub-objectiveIcon button on each parent (tooltip: "Add sub-objective")
Communication screen settingsTop-right button. Jumps to the customer-display configuration page

Empty states

WhereCopy
List panel (no objectives)"No objectives have been added"
Detail panel (no interactions on the open objective)"No interactions configured."

Good to know

  • Objectives save individually. There's no global Save on this tab. Each objective is committed to the database when you click Save in the detail panel. This is why the global Save button at the bottom of the editor is hidden on the Objectives tab.
  • The numbering (1, 2, 3 / 1a, 1b) is automatic and reflects the current order. Reordering or moving a sub-objective to a different parent updates the labels everywhere.
  • Customer interactions vs. solution image: the solution image on an objective is reference material for staff (and what shows up in event history). Customer interactions are what actually get sent to the customer screen during a session.
  • The Count as a hint flag on a customer interaction drives the session's hint total in reports. Use it for things you'd consider an actual nudge to the team. Things like ambient music or atmospheric video might not count as a hint even though they use the interaction system.
  • Audio and video files may not autoplay on the customer screen due to browser policy. Most modern browsers require either a per-site permission or an explicit tap before playing media. See Allow autoplay on the customer screen above for the exact steps in Chrome, Edge, Firefox, and Safari.
  • The data model uses different terminology. Objectives are stored as puzzles and customer interactions as clues in the database, but every UI label uses the new terminology. If you see the older terms in raw exports or the API, that's the same concept.
  • The Communication screen settings button at the top of the list opens the global customer-display configuration. Use it to set the default screen background, font, and timer style that interactions are rendered on top of.

FAQ

Q: What's the difference between an objective and a sub-objective?

A: A sub-objective is just an objective with a parent. Use parents for major beats and sub-objectives for the steps inside each beat. The event tracker shows the same controls for both, just nested visually.

Q: How many objectives can an event have?

A: There's no fixed limit. Most operators create between 5 and 20 objectives per event. Going much higher tends to make the tracker harder to scan during a live session.

Q: Can the same customer interaction be used on multiple objectives?

A: No. Customer interactions belong to one objective at a time. If you want the same content available across multiple objectives, duplicate the interaction in each one (or send it as a generic interaction during the session).

Q: My image interaction won't load on the customer screen. Why?

A: Check that the file finished uploading (the preview thumbnail should be visible). If the preview is missing, re-upload. If it's there but doesn't render at the customer screen, refresh the customer view; the customer screen polls for updates but a hard refresh can clear stale state.

Q: Why doesn't my video autoplay?

A: Browser autoplay policies block media until the site has permission or someone interacts with the page. The permanent fix is to allow autoplay for the site in the browser running the customer screen; see Allow autoplay on the customer screen in the step-by-step guide. As a quick workaround, tap or click once anywhere on the customer screen page after it loads.

Q: Can I reorder a sub-objective to a different parent?

A: Yes. Either drag it onto a different parent in the list, or open the sub-objective in the detail panel and pick a different Parent objective from the dropdown. The label numbering updates automatically.

Q: I deleted an objective by accident. Can I undo?

A: No. Deletion is permanent and the objective's customer interactions go with it. If you might want it back later, archive it conceptually by removing the customer interactions and renaming it instead of deleting.

Something wrong or out of date?