Skip to main content

🧩 Campaign model: Experiences, Releases, and Campaigns

This page defines the CMS model so teams know what they are creating, editing, and scheduling.

Leo avatar
Written by Leo
Updated over 5 months ago

The building blocks

Experience
Software published by a developer that you can deploy to kiosks. An experience has many releases.

Experience Release
A fixed version of an experience. It never changes once published. Each release ships a schema that defines the fields you can configure in a campaign. Customers must opt in to new releases by upgrading their campaign. Think of it like updating an app to a new version.

Campaign
Your content and configuration for a specific experience release. You edit campaigns in the CMS, add images, text and components, then publish. A campaign links to exactly one experience release.

ExperienceCampaignGroup
How a campaign’s content is organised.

  • Single: one entry of data such as text, colours, images, components.

  • Collection: multiple entries, for example a list of products.

Campaign lifecycle and states

Allowed states: Draft, Scheduled, Published, Archived, Expired.

  • Draft: Work in progress. Validation runs and required fields must pass before publish.

  • Scheduled: Has a start date.

  • Published: Live or awaiting device pickup.

  • Archived: Kept for records and rollback by selection.

  • Expired: Informational only. End date is not enforced.

Scheduling rules at a glance

  • Timezone: London is used for all scheduling.

  • Start and end dates: Both exist, only start date is enforced.

  • Offline at start: The device applies the scheduled campaign on next connect.

  • Conflicts: If two scheduled campaigns target the same device time window, the newest by start date wins.

  • No auto rollback: There is no automatic revert on end date. To change content, publish a new campaign. You can manually roll back by selecting a previous version in the dashboard.

Versioning and duplication

  • Editing a campaign creates a new version.

  • Duplicate will clone and increment the campaign version to speed up iteration.

  • The system auto generates diff logs between campaign versions.

  • Authors can add a change log to experience releases for downstream context.

Translations and locales

  • Translations are per field. Switch languages using the tabs at the top of the campaign.

  • Location translation preferences define default language and preferred languages for kiosks in that location.

  • If a preferred language is not available, the kiosk falls back to English.

  • Enterprise option: set a default fallback language at the organisation level.

Validation and required fields

  • Experience authors mark fields as required in the schema.

  • Required fields block publish to prevent broken experiences and protect quality for both clients and authors.

Roles and visibility

  • Admins and Managers can create, edit, schedule, publish and archive campaigns.

  • Viewers can see campaigns and history but cannot modify them.

  • Experience release source code uses a GitHub URL configured by the author. Repo and branch are visible to authors only, not to client organisations.

Did this answer your question?