Adobe Experience Cloud · Schema
Adobe Experience Cloud Offer
A personalized offer used in Adobe Journey Optimizer and Target for delivering tailored content to customers based on eligibility rules, priority, and placement configuration.
AnalyticsCustomer ExperienceDigital MarketingPersonalizationCampaign ManagementJourney Orchestration
Properties
| Name | Type | Description |
|---|---|---|
| offerId | string | The unique identifier for the offer. |
| name | string | The human-readable name of the offer. |
| description | string | A description of the offer content and purpose. |
| status | string | The lifecycle status of the offer. |
| offerType | string | Whether this is a personalized or fallback offer. |
| representations | array | The content representations for different channels and placements. |
| eligibilityRule | object | The eligibility rule defining which profiles can receive this offer. |
| priority | integer | The priority ranking when multiple offers are eligible. |
| cappingConstraint | object | Frequency capping constraints. |
| startDate | string | When the offer becomes eligible for delivery. |
| endDate | string | When the offer is no longer eligible for delivery. |
| tags | array | Tags for categorizing offers into collections. |
| created | string | When the offer was created. |
| lastModified | string | When the offer was last modified. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "adobe-experience-cloud-offer.json",
"title": "Adobe Experience Cloud Offer",
"description": "A personalized offer used in Adobe Journey Optimizer and Target for delivering tailored content to customers based on eligibility rules, priority, and placement configuration.",
"type": "object",
"properties": {
"offerId": {
"type": "string",
"description": "The unique identifier for the offer."
},
"name": {
"type": "string",
"description": "The human-readable name of the offer."
},
"description": {
"type": "string",
"description": "A description of the offer content and purpose."
},
"status": {
"type": "string",
"enum": ["draft", "approved", "archived"],
"description": "The lifecycle status of the offer."
},
"offerType": {
"type": "string",
"enum": ["personalized", "fallback"],
"description": "Whether this is a personalized or fallback offer."
},
"representations": {
"type": "array",
"description": "The content representations for different channels and placements.",
"items": {
"type": "object",
"properties": {
"channel": {
"type": "string",
"description": "The delivery channel (web, email, mobile, etc.)."
},
"placementId": {
"type": "string",
"description": "The placement where this representation can be displayed."
},
"content": {
"type": "string",
"description": "The content payload (HTML, JSON, text, or image URL)."
},
"contentType": {
"type": "string",
"enum": ["text/html", "application/json", "text/plain", "image/*"],
"description": "The MIME type of the content."
}
}
}
},
"eligibilityRule": {
"type": "object",
"description": "The eligibility rule defining which profiles can receive this offer.",
"properties": {
"ruleId": {
"type": "string"
},
"description": {
"type": "string"
}
}
},
"priority": {
"type": "integer",
"description": "The priority ranking when multiple offers are eligible."
},
"cappingConstraint": {
"type": "object",
"description": "Frequency capping constraints.",
"properties": {
"maxImpressions": {
"type": "integer",
"description": "Maximum number of times the offer can be shown."
},
"scope": {
"type": "string",
"enum": ["global", "perProfile"],
"description": "Whether capping applies globally or per profile."
}
}
},
"startDate": {
"type": "string",
"format": "date-time",
"description": "When the offer becomes eligible for delivery."
},
"endDate": {
"type": "string",
"format": "date-time",
"description": "When the offer is no longer eligible for delivery."
},
"tags": {
"type": "array",
"description": "Tags for categorizing offers into collections.",
"items": {
"type": "string"
}
},
"created": {
"type": "string",
"format": "date-time",
"description": "When the offer was created."
},
"lastModified": {
"type": "string",
"format": "date-time",
"description": "When the offer was last modified."
}
},
"required": ["offerId", "name", "offerType"]
}