Skip to content

Add Send Time Optimization (STO) result fields to messageProfile - #2229

Open
naveenpatil1 wants to merge 6 commits into
adobe:masterfrom
naveenpatil1:add-message-execution-system-metadata
Open

Add Send Time Optimization (STO) result fields to messageProfile#2229
naveenpatil1 wants to merge 6 commits into
adobe:masterfrom
naveenpatil1:add-message-execution-system-metadata

Conversation

@naveenpatil1

@naveenpatil1 naveenpatil1 commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds Send Time Optimization (STO) result fields to the CJM messageProfile definition. Non-breaking, additive only.

Motivation

Downstream STO reporting needs the per-lead STO result and computed send time alongside a message execution. messageProfile already exposes isSendTimeOptimized to indicate whether STO applied to a message, so the STO result fields are added alongside it there rather than introducing a new object elsewhere.

Changes

  • extensions/adobe/experience/customerJourneyManagement/messageprofile.schema.json — new sendTimeOptimizationType (integer soft enum, documented via meta:enum) and optimizedSendTime (date-time string) fields alongside the existing isSendTimeOptimized.
  • extensions/adobe/experience/customerJourneyManagement/messageprofile.example.1.json — example populated for the new fields.

Validation

  • npm test — 2408 passing
  • npm run lint — clean (prettier reports all files use Prettier code style)
  • npm run validate — zero new failures vs master baseline (messageprofile is not among the pre-existing failures)
  • npm run incompatibility-check — clean

Breaking changes

None.

naveenpatil1 and others added 3 commits August 6, 2026 14:56
messageProfile already exposes isSendTimeOptimized, so the new
stoEnabled flag in messageExecution/systemMetadata duplicated that
signal. Move the remaining STO result fields (renamed to
sendTimeOptimizationType and optimizedSendTime) next to
isSendTimeOptimized in messageprofile.schema.json instead, and keep
only entryCount under messageExecution/systemMetadata.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
journeyEntryCount/systemMetadata is handled by a separate workstream
(SPHR-32646 epic, Step-0/2/2B/3 tickets) and doesn't belong in this
PR. This PR is now scoped to the messageProfile STO result fields
only.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
@naveenpatil1 naveenpatil1 changed the title Add systemMetadata to messageExecution for STO and journey re-entry reporting Add Send Time Optimization (STO) result fields to messageProfile Aug 7, 2026
naveenpatil1 and others added 2 commits August 7, 2026 19:20
entryCount is per-lead (number of times a lead has entered/re-entered
the source journey or campaign) and varies across leads within the
same execution, so it can't be resolved via a messageExecutionID
lookup the way journeyId/journeyNodeId/munchkinId can. Named
generically rather than journeyEntryCount so campaign-based sources
can reuse the same field.

Co-Authored-By: Claude Sonnet 5 <[email protected]>

@vedhera vedhera left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!, just a qq We removed the boolean flag?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants