---
id: ADR-COM-CAT-014
title: Campaign History Without Shared Record History
product_area: commerce
module: catalog
revision: 1
status: proposed
design_intent: proposed
source_sha:
  services-commerce: c8b66a98e2490617aec38ba5c8165dd9bd0a8f9b
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
decision: >-
  Campaign activity uses local attributed history, while other selling configuration retains only creation and
  latest-change metadata.
constrains:
  - DOM-COM-CAT-001
  - DOM-COM-CAT-002
  - DOM-COM-CAT-003
  - DOM-COM-CAT-004
  - DOM-COM-CAT-005
  - DOM-COM-CAT-006
  - SVC-COM-CAT-promotions
  - RESP-COM
origin: none (the promotions record says the history stands in until Commerce adopts Platform's)
alternatives:
  - option: Adopt the common historical-record mechanism immediately
    why_not: The pinned implementation has no binding for that adoption; it remains a later change.
  - option: Keep no campaign action history
    why_not: 'That would remove the existing record of launches, code changes and capacity releases.'
consequences:
  - 'Older edits to policies, stores and audiences cannot be reconstructed from latest-change metadata.'
  - Adopting the common mechanism requires an explicit change across the affected record types.
supersedes: []
evidence:
  - >-
    services-commerce at c8b66a98: modules/promotions/services/persistence/promotions.ts
    (appendPromotionEvent); db/promotion-events.table.ts; AGENTS.md (change events and record history: none
    exists in Commerce yet).
---

# Campaign History Without Shared Record History

## Context

Staff need to review campaign moves and usage changes. Commerce has not adopted the common historical-record and change-event mechanism.

## Decision

Campaign activity uses local attributed history, while other selling configuration retains only creation and latest-change metadata.

## Alternatives Considered

Adopt the common historical-record mechanism immediately. The pinned implementation has no binding for that adoption; it remains a later change.

Keep no campaign action history. That would remove the existing record of launches, code changes and capacity releases.

## Consequences

Older edits to policies, stores and audiences cannot be reconstructed from latest-change metadata. Adopting the common mechanism requires an explicit change across the affected record types.
