URD: Marketing
| Module | EXT-02 | Version | v0.1 |
|---|---|---|---|
| Status | In-progress | Date | 2026-05-30 |
1. Purpose
Help merchants reach customers efficiently — capture interested leads, then send relevant, automated messages across channels to drive engagement and repeat visits.
2. Scope
| Included | Excluded |
|---|---|
| Inquiry & newsletter capture | Provider-side delivery infrastructure |
| Multi-channel campaigns & automation | Promotional pricing (Campaign module) |
| Campaign analytics & A/B testing | Loyalty earning rules (Loyalty module) |
3. Definitions
| Term | Definition |
|---|---|
| Inquiry | A contact/sales/demo request captured from the public site |
| Subscriber | A newsletter opt-in with subscribe/unsubscribe state |
| Campaign | A planned message sent to an audience segment |
| Automation | A triggered or scheduled message sequence (drip) |
4. Conceptual Model
Conceptual only — capture-side detail lives in the developer outreach docs.
5. Functional Requirements
Priority = MoSCoW. Only capture requirements are built.
5.1 Capture (CAP)
| ID | P | Requirement | Status |
|---|---|---|---|
| URD-CAP-001 | M | Capture an inquiry submitted from the public site | In-progress |
| URD-CAP-002 | M | Newsletter subscribe is idempotent by email | In-progress |
| URD-CAP-003 | S | Token-based unsubscribe | In-progress |
| URD-CAP-004 | S | Subscriber statistics for admin | In-progress |
5.2 Campaigns & Automation (CMP)
| ID | P | Requirement | Status |
|---|---|---|---|
| URD-CMP-001 | S | Send a campaign to a customer segment | Planned |
| URD-CMP-002 | C | Triggered / drip automation | Planned |
| URD-CMP-003 | C | A/B test and report campaign performance | Planned |
6. Acceptance Criteria
AC-CAP-01: Idempotent subscribe
| Given | When | Then |
|---|---|---|
| An email not yet subscribed | The email subscribes twice | A single active subscriber exists; no duplicate |
7. Constraints & Non-Goals
Constraints
| ID | Constraint |
|---|---|
| C-01 | Unsubscribe must always be honored before any send |
| C-02 | Capture tables are global (not merchant-scoped) |
Non-Goals
- Building email/SMS delivery infrastructure (uses external providers)
- Promotional pricing logic (owned by Campaign)
8. Version History
| Date | Author | Description | Ver |
|---|---|---|---|
| 2026-05-30 | PM | Initial stub; capture live, campaigns planned | v0.1 |