A CleverTap Native Display unit — a server-driven block of content targeted to the current user, configured entirely in the CleverTap dashboard.

Native Display delivers data, not UI: the Eitri-App receives this object and renders it with its own components (its own fonts, colors, and layout). This is what makes it a good fit for the Eitri runtime — the app stays in full control of appearance while CleverTap decides what content to show and which users see it.

interface CleverTapDisplayUnit {
    bgColor: null | string;
    contents: CleverTapDisplayUnitContent[];
    customExtras: Record<string, string>;
    type: null | string;
    unitId: string;
}

Properties

bgColor: null | string

Background color as a hex string (e.g. "#000000"), or null if not set.

Ordered list of content items. Empty array when the unit carries no content.

customExtras: Record<string, string>

Free-form key/value pairs set by the marketer in the dashboard — the "headless-CMS fields" of the unit. Empty object when none are set. Useful for driving app-specific behavior (e.g. a badge label or a priority flag) without an app release.

type: null | string

Template type as configured in the dashboard, e.g. "simple", "simple-image", "carousel", "carousel-image", "message-icon", "custom-key-value". null if unknown.

unitId: string

Unique identifier of the display unit. Use it with recordDisplayUnitViewed/recordDisplayUnitClicked.